The overall process of this final project might best be described as bittersweet. Despite a challenging journey and a less-than-ideal presentation outcome, I personally find it somewhat acceptable. Let’s start with the guidelines:
– Research online about inspiring projects that are relevant to the visuals, concepts and techniques of your project.
Initially, I hadn’t even considered using Tarot cards as my theme. My first thought was to create something akin to a fighting game experience, where players’ movements would change the model’s actions. However, I quickly realized the complexity and the technical demands of such a project. To someone more experienced in the field, this might not seem challenging, but for me, it was an entirely foreign concept. At this stage, all the materials and references I found were filled with programming aspects I couldn’t comprehend, leading to continuous setbacks.
Under the pressure of other projects and finals, I decided to take a step back to relax. Straining under high pressure wouldn’t yield any positive results for me. During this break, I revisited ‘The Binding of Isaac,’ a game I hadn’t played in a while. After struggling initially, I made a comeback and easily completed the game, thanks to strategic use of Tarot cards and a bit of luck. This experience sparked the idea of focusing on Tarot cards.
– Brainstorm a space, real or imagined, and think about the atmosphere and objects that create your imaginary environment.
If I were to focus on Tarot cards, what kind of environment should I display them in? A full Tarot deck consists of 22 Major Arcana and 56 Minor Arcana cards. Displaying all of them seemed excessive. Since the game itself used only the 22 Major Arcana, I decided to showcase these. Even so, fitting 22 cards into a space wasn’t a trivial task, and I was unsure how to present them effectively. I then recalled the ambiance of art exhibitions, where paintings are hung on walls for viewers to admire, and decided this would be a fitting approach.
– Build a webpage that allows the viewers to interact with your space, creating a unique experience for them.
– Develop a space that consists of artificial 3D objects (and sounds).
然后就是这个building process,这个过程对我来说真是充满了折磨。
https://www.bilibili.com/video/BV1Ld4y1n7Dg/?spm_id_from=333.337.search-card.all.click&vd_source=32dd3c12e373cb988be636643606b30c
The above two videos were my primary references for maneuvering the GLTF models within my 3D environment. Moving GLTF models was a novel experience for me; previously, I had only learned to load a model and a texture, but moving them was an entirely different matter. Fortunately, after much effort, I managed to do it.
Then, I embarked on an ambitious and somewhat pointless experiment.
I attempted to use Teachable Machine to read hand movements and control GLTF model movement in a WSAD-like fashion.
Unfortunately, it failed.
The failure had two parts.
First, the accuracy of Teachable Machine wasn’t sufficient to distinguish between eight models based solely on hand movements. Despite training each model with about 500 images, the accuracy remained low, often misinterpreting my upward hand movement as left, right, or even down.
Second, integrating Teachable Machine into my code didn’t work further.
For reasons I dont know, the Teachable Machine code couldn’t initiate my webcam. I thought it might be a lack of HTTP and tried self-signing certificates with a plugin, but it was to no avail. After a fruitless day of exploration and wasted effort, I decided to abandon this approach.
Reverting to the WASD control method, I began constructing my scene.
At least for now, I find this scene satisfactory. Had I considered other project ideas at this point, perhaps my presentation wouldn’t have been so awful. Storytelling doesn’t suit my presentation style; there was simply no time for me to introduce the story in the duration of the presentation, it doesn’t even fit the style.
Then came the wall building, which I decided to handle simply, using box-shaped walls. There was no need or desire for the operator to go outside.
This led to another problem.
For unknown reasons, the textures for my walls wouldn’t load properly. I initially thought it was an issue with the images, but changing them didn’t help. Eventually, I had to conclude that there might be an issue with the texture loader in my code, but I couldn’t find the source of the problem.
I ended up changing the skybox image, which mitigated the sense of dissonance.
By the way, speaking of dissonance, I really wanted to change this model. I searched for many free models online, human or animal, with walking animations, but found none. I even downloaded an Iron Man model and struggled to use the OBJ file, but the results were unsatisfactory. The model was too large, and only then did I realize the difference between models with and without walking animations.
Next were the Tarot card paintings. In an exhibition hall, there naturally would be paintings to display. I hung them on the walls and added click events, so a larger image of the Tarot card would pop up when clicked.
In hindsight, if I were to work on this assignment now, the first thing I’d do to refine the project wouldn’t be researching better and more interesting interaction methods. Instead, I would create a separate HTML for each Major Arcana card to explain its meaning, then focus on making a painting frame, and only then consider interactions.
Then, after placing these paintings on the walls, I left one wall empty intentionally. I thought a mere exhibition would be uninteresting, so I decided to indulge a personal hobby by writing a short story. This led to the project’s title: ‘Journey of the Fool.’ I wrote a story from ‘the Fool’ to ‘the World.’ It may seem boring and hadn’t been considered for its impact on the final presentation (which was indeed poor), but I enjoyed writing it. Each card had about three paragraphs of text, which was no small task. If possible, I would also appreciate some praise for this effort.
Finally, it dawned on me, or rather, I realized,
clicking on the mouse to interact with objects is not at all interactive, it’s quite boring.