Major Project 2

02/02/2026 - 29/03/2026 / Week 1 - Week 8

Lim En Yu / 0354452

Major Project 2/ Bachelor of Design (Hons) in Creative Media / Taylor’s University 

Major Project 2



TABLE OF CONTENTS







Instructions
Fig 1.1 Module Information



Major Project 2

Overview
For our group project, we have continued what we did last year during Major Project 1, "Quest of Twelve". Quest of Twelve is a VR storytelling experience based on the Chinese Zodiac. It lets users explore a dreamlike world guided by the Jade Emperor, learning the story through interaction and experience instead of just watching. The focus is on immersion and emotion, so users can feel and understand the story in a more engaging way.

My Role– Character Artist, Prop Artist  & Animator
  • Focus in Dragon, Jade Emperor Character Building, Narration Animation and Back-up Version of Introduction Scene Building
  • Focus in Scroll props building
  • Promotional Video
  • 3D character modelling
  • Character rigging and 3D animation
  • 2D animation
  • Texturing & lighting setup
  • Storyboarding
  • Assist in Godot engine development and scene building
  • Voice acting & audio design
  • Presentation Deck

Storyboarding
Another role I had in this project was storyboarding. Before we started building the scenes, my teammates and I discussed the whole storyline together. We planned how the story flows, what the player will experience, and how each scene connects and how the player interact with the dragon.

After that, I was in charge of drawing the storyboard. I used Procreate to create all the panels. I chose a cute and simple drawing style to match our target audience, which is mainly children. I also added colours to make the scenes clearer and easier to understand.
Fig 2.1 & Fig 2.2 Storyboards in Procreate
Fig 2.3 Quest of Twelve Storyboard


Character Modelling Challenges Faced (Animals)
Before starting the final models, I had actually created several animal models earlier during Major Project 1 last year, including the goat, rat, rooster, and ox. These were originally made with more details and higher polygon count. However, when we tried to use them in this project, we realised they were not suitable for VR.

The main problem was that the file size was too large and the models were too high poly, which caused performance issues in VR. The system could not handle them smoothly. On top of that, the shading nodes I used in Blender did not transfer properly into Godot, so the textures were not working as expected. 

Fig 2.4 Animals modelled before

However, even after deciding to optimise my models, I still faced more technical issues during the process. I tried to bake texture paint onto a decimated mesh, but it did not work properly because the decimate mesh has a vey bad and messy UV map. The texture results were inconsistent and sometimes completely failed. I also attempted to use MeshLab to decimate the high-poly models, but it was not effective for very complex meshes.

Fig 2.5 Broken texture & UV map

Because of these issues, I had to adjust my workflow again. Instead of relying on heavy models and trying to fix them, I chose to remodel the animals directly in low-poly form. This gave me better control over the geometry and made the models cleaner and more suitable for VR.


Character Modelling (Dragon)
For my first dragon model, I made a mistake during rigging because I did not fully understand the correct process at that time. I rigged the model in pose mode instead of rest pose, which caused the animation to look very unnatural, distorted, and laggy. The movement did not behave properly, and the overall result looked quite messy.

I have even draw a curve animation for myself as a reference for animation as I really have no idea how to animate it moving smoothly in place. After visualizing it I have a clearer idea on animating the dragon naturally.
Fig 2.6 First version dragon rigging and animation

Fig 2.7 Self drawn curve animation

Fig 2.8 First dragon animation trial

Later, I realised that the armature should be set up in a proper rest pose, usually in a straight and clean structure before starting animation. After facing issues with the first dragon model, I decided to remodel it from scratch instead of trying to fix the existing one. This time, I focused on creating a cleaner and more organised mesh with a proper low-poly structure. I simplified the shape and made sure the topology was suitable for rigging and animation.

While remodelling, I also paid attention to the proportions and ensured the body flow was smoother, especially for the wings and joints where movement is important. Once the new model was completed, it became much easier to rig correctly in rest pose, and the animation looked more stable and natural.
Fig 2.9 Remodel dragon body#1

Fig 2.10 Remodel dragon body#2

For the dragon texturing, I could not find a suitable texture online that matched the style I wanted. Because of that, I decided to create the texture myself. I manually drew the texture in Blender, adding colours and shadows to give the model more depth.
Fig 2.11 Image texture applied

Fig 2.12 Rearrange the image texture

To avoid the model looking too flat, I also applied a normal map, which helped enhance the surface details and made the dragon look more visually interesting. On top of that, I added glowing patterns on the dragon’s body using texture painting. This gave the dragon a more magical and stylised appearance that fits the overall theme of our project.
Fig 2.13 Normal map image applied

For the dragon animation, I used a more controlled rigging and animation setup to make the movement smoother and more natural. Instead of animating every bone manually, I created several control bones such as the head control, upper spine control, lowerspine control and tail control to manage the overall movement of the dragon. Green bone is the bone copying the rotation of control bone, while yellow bone is bone with IK constraint to make sure smoother movement.
Fig 2.14 Dragon bone arrangement

These control bones helped me animate more efficiently because I could move larger parts of the body in a more organised way. For example, adjusting the head control would naturally affect the direction of the dragon, while the upper spine control helped create a smooth body flow during flight.

Yellow bone which are IK constraints for certain parts of the rig to make the movement more stable and easier to control. This was especially useful for maintaining consistent motion without needing to manually adjust every joint. In addition, I used copy rotation constraints so that some bones could follow the movement of others. This helped create a more connected and natural motion throughout the dragon’s body.
Fig 2.15 Dragon animation progression

To guide the overall movement, I used a curve as a path for the animation. Instead of moving the dragon freely, I let it follow a predefined curve, which acted as a flight path. This made the animation more controlled and consistent, especially for the VR experience where smooth motion is very important. The curve helped me plan the direction, speed, and flow of the dragon’s movement more clearly.
Fig 2.16 Dragon view in Blender

By combining control bones, constraints, and curve-based animation, I was able to create a smoother and more stable flying animation. This workflow also made it easier to adjust the animation later without breaking the entire rig.
Fig 2.17 Dragon detailed view

For the dragon animation, I created two versions, which are mild and extreme movements. The mild animation is used for normal flying, where the movement is smoother and more stable to ensure a comfortable experience in VR. On the other hand, the extreme animation has stronger and more dynamic movements, such as sharper turns and larger body motion, to make the dragon feel more powerful and expressive.
Fig 2.18 Extreme animation

Fig 2.19 Mild animation

Fig 2.20 Dragon animation


Character Modelling (Jade Emperor)
Fig 2.21 Jade Emperor Sketches


First version of Jade Emperor
For the Jade Emperor, my first version was already fully rigged, but I later realised that it was not suitable for auto rigging. The structure of the model caused issues when using automatic weights, and the deformation was not working properly. Because of that, I could not rely on auto rig and had to switch to manual weight painting.

This process was much more time-consuming because I needed to paint the weights vertex by vertex according to each bone. At first, I faced a lot of problems, such as parts of the mesh moving incorrectly or certain areas not responding to the bones at all. I had to keep testing, adjusting, and repainting multiple times to get a better result.

Fig 2.22 First time rigging using weight painting

In the end, I decided to remodel the Jade Emperor to achieve a cleaner topology. The previous model had too many issues, so starting again allowed me to fix the structure properly from the beginning.
Fig 2.23 Remodel the Jade Emperor

After remodelling, I reapplied the image textures, adjusted the material properties, and added a normal map to enhance the surface details so that the model would not look too flat. With the improved topology and cleaner structure, the model became much more suitable for auto rigging.
Fig 2.24 Apply image texture and normal map

This time, the rigging process worked much better, and the deformation was smoother and more natural during animation. I also had better control over how each part of the character moved, which made the animation process easier and more efficient.
Fig 2.25 Jade Emperor animation

Fig 2.26 Jade Emperor wireframe, pose & armature

Fig 2.27 Jade Emperor talking animation

Fig 2.28 Jade Emperor scroll smacking animation


Starting Island
Due to time constraints, I utilised the existing assets we had and focused on arranging the starting island scene, which is the place where the player is first transferred into the world. Instead of creating everything from scratch, I worked on combining and positioning the assets to form a complete and visually appealing environment.

I was also responsible for setting up the environment background, adjusting the camera angle, and applying lighting to create the right mood for the scene. This helped establish the first impression of the experience and ensured that the transition into the VR world feels smooth and immersive.
Fig 2.29 Setting up starting island

Fig 2.30 Starting island detailed view

Fig 2.31 Starting island overview

Fig 2.32 Starting island video


Props Modelling (Scroll)
For props modelling, I worked on creating the scroll, which plays an important role in the introduction scene. I first modelled the scroll base, including the handles and the paper. To achieve the rolling effect, I applied a curve modifier to the scroll paper and set the object to follow a spiral curve.

By animating the spiral curve, the paper is able to curl and unroll smoothly, creating a more dynamic and natural movement. This technique allowed me to control the shape and motion of the scroll more easily compared to manually animating it. The animation also helps enhance the magical feeling of the scene, especially when the scroll transforms into a portal.
Fig 2.33 Spiral curve animation

After completing the animation, I applied image textures to improve the visual details and ensure it fits the overall style of the project. In addition, I also worked on setting up the camera direction, environment background, and lighting. These elements were important in creating a clear composition and establishing the mood of the scene, making the introduction feel more immersive and visually engaging for the player.
Fig 2.34 Image texture for scroll

Fig 2.35 Scroll animation

2D Animations (Narration Animation)
For the 2D animation, I worked on the narration scene by drawing frame by frame using my iPad. I created each frame manually to match the storytelling and flow of the narration. This process required careful timing and consistency to ensure the animation looks smooth.

I used a simple and cute drawing style to match the overall theme of the project and make it suitable for our target audience. Compared to 3D animation, this process was more time-consuming, but it helped me improve my understanding of movement, timing, and storytelling through visuals.
Fig 2.36 Frame by frame animation

Fig 2.37 Progression in Procreate

Fig 2.38 Final narration animation


2D Illustrations (Loading Scene)
As what Mr Ronald suggested, I also created a loading scene to act as a transition, informing the audience that the remaining scenes are still in development. Instead of leaving the screen empty, we designed a simple animation to keep the experience engaging during this moment. There will be a cute loop animation of 12 Chinese Zodiac Animals walking.
Fig 2.39 Progression of loading scene
Fig 2.40 Loading scene animation


Voice Acting & Audio Design
I was responsible for handling the voice recording for the child and mother characters. I recorded the audio based on the script written by Kar Yee, making sure the tone and pacing match the narration of the story. After recording, I compiled and arranged the audio clips so that they flow smoothly within the scene.

Fig 2.41 Recordings for child and mum

Fig 2.42 Compilation of both recording

For the Jade Emperor, we invited a friend to help with the voice acting. After recording, I made some adjustments to the audio by applying a pitch shifter to make the voice sound slightly deeper and more suitable for the character. I then combined all the audio together to ensure consistency and clarity throughout the narration.
Fig 2.43 Editing of Jade Emperor in Adobe Audition


Promotional Video Editing
For the promotional video editing, one of the most time-consuming parts was rendering every scene, as each render took a very long time to complete. For the main environment scene, I have set the route around the map using curve.
Fig 2.44 Setting route for camera in the map

I spent some time in setting up the camera movement to make the video more dynamic and cinematic as different scene has different camera angle. I used techniques such as tracking the camera to an empty object and making the empty follow a path curve, which allowed the camera to move smoothly through the scene. This helped create a guided view of the environment, especially around the island.
Fig 2.45 Setting up camera using empty and follow path of curve

Fig 2.46 Attach a bird in front of camera

I also adjusted the environment background and ensured the lighting was consistent across all scenes so that the video looks visually cohesive. To make the scene feel more alive, I added a bird that moves together with the camera, giving a sense of motion and depth.
Fig 2.47 View in Blender

For the video editing process, I also worked closely with Li Vern on refining the overall presentation. We collaborated on sound editing, ensuring that the audio matches the visuals and creates a better atmosphere. In addition, we planned the video transitions, overall sequence, and pacing to make sure the flow feels smooth and natural. This teamwork helped us achieve a more cohesive and polished final video, where both visuals and audio work well together to deliver the intended feeling.
Fig 2.48 Promotional Video editing

Fig 2.49 Final Promotional Video

Final Demo Video
As Kar Yee responsible for the VR part, she handled the recording of the VR headset demo footage. She recorded the demo directly through the VR headset, showing the experience exactly as the player would see it. 
Fig 2.50 Final Demo Video

Documentation
    Fig 3.1 Group Documentation




    Reflection

    This project has been one of the most challenging but meaningful and interesting experiences for me. My role was mainly focused on character modelling, rigging, animation, and texturing, especially for the dragon and Jade Emperor. I also worked on props like the scroll, 2D animation for the starting narration, and helped with video editing and scene setup. Because of this, I was involved in many different parts of the pipeline, not just one area.

    At the beginning, I thought I could reuse my models from Major Project 1, but I quickly realised they were too high poly and not suitable for VR. This forced me to completely change my workflow. I had to learn how to simplify my models, reduce polygon count, and focus more on shape instead of details. This was quite frustrating at first, because I had to redo some of my work, but it helped me understand how important optimization is in VR.

    And rigging and animation were also quite difficult for me as I was totally new to this but thankful for this project, I have the chance to try and develop new skills and also challenge myself. I faced many issues like bone heat errors, mesh not moving properly, and animation failing because the rig was not set correctly. There were moments where I felt stuck and didn’t know what went wrong. But through testing, asking questions, and trying different methods, I slowly understood the process better. These problems actually helped me improve my technical skills and become more patient.
    Another challenge was working between Blender and Godot. Some things that worked in Blender did not work in Godot, especially shaders and textures. I had to learn how to use image textures instead and adjust everything again in the engine. It was tiring to keep fixing problems, but it also made me realise that real projects are not just about creating, but also about adapting.

    Emotionally, there were definitely stressful moments, especially when time was limited and there were still many things to fix. Also this is actually the first time I have had a communication problem with my teammate as I have always been helpful and responsible to all tasks given. I think most of us did our parts very well and even have to take care of other parts as not everyone of us is doing our work. But I am very thankful that I was not alone. I really appreciate my teammates, especially Kar Yee and Li Vern, for always supporting each other and pushing through together. Even when things were difficult, we still tried our best to complete the project. I am also very grateful to Mr Ronald for guiding us throughout the project. His guidance this semester was really helpful and we even know him better as we almost spend everyday with him at E101.

    Overall, this project really changed the way I see my work. I realised that creating something is not just about how it looks, but whether it can actually function properly in a real environment like VR. There were many moments where I struggled and felt frustrated, but looking back, those were the moments that helped me improve the most. I feel satisfied to see how my creation works in real life!! This is the meaning of studying design!


    Comments

    Popular posts from this blog

    Typography Task 1 / Exercises

    Design Principles/ Task 2: Visual Analysis & Ideation

    Design Principles/ Task 1: Exploration

    Design Principles/ Task 3: Development & Design

    Information Design: Exercises, FLIP Topics & Practical

    Interactive Design/ Lectures & Exercises

    Video and Sound Production/ Project 2: Shooting Practise & Editing

    Video and Sound Production/ Exercises

    Design Principles/ Final Compilation

    Information Design: Project 1 & 2