Blog 1: Pre-production
In the previous term, I mainly worked on world building and story development. The story is set in an alternate-era China, blending history with supernatural elements. The protagonist, Hua, is both a Nuo opera dancer and a witch who uses ritual dance and masks to fight malevolent spirits.
The visual style focuses on high contrast, rich colors, and dynamic movement, highlighting the mystical and dramatic atmosphere of Nuo dance. Key scenes include ritual performances, exorcisms, and moments of transformation.
Storyboard






Previs

Blog 2: Character Design
Concept Design

Model & Texture

For the character model, I started with a standard proportioned female base mesh. In ZBrush, I sculpted her facial features and adjusted her body proportions.
Initially, I planned to create the hair using plane-based geometry or ZBrush hair brushes to make a polymesh hair model, but the results were not satisfactory. Since the character performs graceful movements and dances, I wanted both her hair and clothing to convey a soft, elegant feel, aiming for a style closer to next-generation aesthetics.
After completing the modeling, I created the textures, focusing mainly on the makeup. The middle image below shows my initial attempt, where I incorporated elements of the red spider lily and added gold to echo details in the costume and headpiece. However, I felt this makeup was not refined enough, so I created a second version (shown in the right image). In this version, I added more texture to the makeup and introduced slightly rougher skin details for a more realistic feel. I also added turquoise and gold patterns to harmonize the look with the final costume design.






Hair Making

Hair was a completely new area for me. At first, I tried Maya’s XGen hair system, but as a beginner, it was time-consuming and the results were unsatisfactory. Thanks to the Ahoge plugin and their YouTube tutorials, I learned how to generate realistic hair using poly planes.
I still encountered many challenges. For example, Ahoge initially generated hair that didn’t follow the surface’s long edges, producing a messy look. I solved this by placing a locator at the roots and defining the UV’s long edges. At the beginning, I also didn’t know how many planes or which parameters would create enough hair, nor how to adjust thickness. Through trial and error, I eventually achieved a hairstyle I was satisfied with.
The hair can be imported into Unreal Engine as Groom hair, but I’m unsure about binding Groom hair to an Alembic cache. Since geometry cache doesn’t have a skeleton, I think this might mean I need to first import the character mesh with its skeleton into UE, then import the animation, and finally bind the Groom hair before simulation—but I haven’t confirmed this workflow yet.



The process of designing the hairstyle was relatively straightforward. I found many talented wig makers on Chinese social media, whose work served as excellent references—thanks to them for sharing. I chose a braided style suitable for Hua, which keeps the hair simulation simpler and less performance-intensive.



Hair Creation Process and Final Result
Costume Design

Tools: Marvelous Designer, Substance Painter





When designing the costume, I first considered both aesthetics and feasibility. As a beginner in Marvelous Designer, I was unsure about the results, such as how the fabric would behave in large movements, how to create layers, and how to control the simulation. Therefore, I decided to make a short skirt outfit, which suits the character—a dancer who also fights. For the color scheme, my initial design used red, white, and black, but it felt too simple. I then referenced traditional Chinese paintings and photography, finalized a color palette, and applied it to the design.
Since I planned to render in Unreal Engine, I needed to test the cloth simulation. I created a simple animation with basic movement, simulated the fabric in Marvelous Designer, and exported it as an Alembic file to UE. The simulation played correctly, which gave me confidence to proceed with the final animation.

Blog 3 Accessories
Weapon Design

This weapon is designed for the protagonist and takes inspiration from the “three hairpins” ( also called “three blades”), a traditional hairstyle ornament worn by women in ancient Fuzhou, China. In this style, three hairpins were arranged at the back of the head—center, right, and left—forming a distinctive cultural symbol.
Historical Background of Three Hairpins
In the Ming Dynasty (Jiajing reign), Fuzhou women often faced raids from Japanese pirates. To protect themselves, they carried small iron weapons, later adapted into hairpins hidden in their buns for convenience and concealment. These hairpins could be used for self-defense, killing enemies, or even suicide in desperate times. Over time, the iron hairpins evolved into silver and sword-shaped ornaments, shifting from practical weapons to symbols of strength and resilience.

The weapon’s primary form is a fan, representing both ritual elegance and hidden lethality. Drawing from the symbolism of the three hairpins, the fan can separate into three bladed forms, each echoing the positioning and spirit of the original adornment. These modular transformations allow the weapon to adapt fluidly between ceremonial display and fierce combat.
The design combines ornate red-and-gold patterns with sharp structural lines, emphasizing its dual identity as a ritual artifact and a battle weapon. Just like the hairpins that once blended beauty with cultural meaning, this weapon embodies the protagonist’s fusion of dance, tradition, and spiritual power.

Mask Design

Since the theme is Nuo opera, masks are an essential element. Fortunately, there was plenty of reference material available online. I needed to create two masks in total: one for the protagonist and another for the demon’s minions. Naturally, they had to be clearly distinguished—one refined and delicate, the other simple with an eerie quality.


Blog 4 Environment Building
Scene 01 Environment

As the first shot introducing the character, I wanted the audience’s attention to remain focused on her. Therefore, the environment design was kept very simple—just forest, grass, and rocks. With Unreal Engine’s realistic lighting and the high-quality assets from the Fab library, I was able to quickly build this woodland setting. Although the shot only uses the ground-level area, I still created an environment with four layers of terrain materials, adjusted UV tiling for foreground and background, and applied distance blending.


Architecture







Scene 02


Blog 5 Scene 01 Render Test
Fortunately, I had already created the previs, so now I just need to recreate the planned actions for my character—though with a higher level of refinement. However, I’m still uncertain whether my planned workflow is fully feasible, whether the environment design will feel cohesive, and how the lighting will interact with the character. To test these aspects, I first produced a rough animation to verify the cloth simulation and rendering in Unreal Engine, while also experimenting with camera movement.
After rendering in Unreal Engine, I encountered some issues as expected. In certain shots, the depth of field between foreground and background was rendered with noticeable errors. I’m not yet sure why this happened and will need to consult more experienced instructors.
I found the camera movement acceptable, but the forest shadows appeared too fragmented. This was especially noticeable in the final close-up, where the character’s face was divided by harsh light and shadow, which didn’t look aesthetically pleasing. I tried adding point lights and placing a post-process volume box to lower the shadow’s contrast around the face, but the improvements were minimal.
I believe that once the issues mentioned above are resolved, the rendering quality will be very good. Compared to Maya, Unreal Engine has the advantage of allowing me to preview the rendering results more intuitively.