
Project 03
Snowy Sanctuary
1
Intro
Thanks to the game Black Myth: Wukong, I am inspired to create an environment that tells the myths and legends from my culture. I wanted to create a temple in the frozen mountains that also serves as a sanctuary for all travelers.

2
Asset Breakdowns
In this project, I went with a Zbrush intensive workflow and pushed my sculpting skill to convey the organic nature of rock formation and Buddhist/Chinese sculptural art. To bring more focus on the narrative elements and properly tell the story, I plan to keep adding story telling elements on the temple itself.
Creating Snowy Cliff
Layering Snow
I sculpted the cliff geometry in Zbrush and applied a tri-planar rock material in Unreal. As for the snow, I used 3 different ways of making snow and layered them all together to achieve optimized yet detailed snow in Unreal Engine.
First, I blended a snow material on top using world align normal so the snow is covering the up facing parts of the cliffs.
Secondly, I used Substance Painter to create a detailed mask to add more tertiary breakups and reach the nooks and crannies.
Finally, I added big chunks of snow geometries using Houdini to break the silhouette and make the snow look more believable.
Adding Snow Chunks with Houdini
Houdini has very convenient Labs tools that are fast and user-friendly. Here, I'm using Labs snow buildup node for fast snow chunk generation and quick iteration between different thickness and coverage. After that, I added a mountain node to add small bumps and cleaned up the mesh + auto uv.
Final Assembly
Finally, I imported all the cliffs and snow chink to create one massive cliff wall. The cool thing about this workflow is I can reuse the cliff assets and play with different placements/sizes to build out my entire environment. I used this cliff set to create both sides of cliff in my project.
Foliage
Winter foliages
For this project, I made 2 variations of Pinus tabuliformis (Chinese red pine) and some dead trees/bushes.

Adding snow on trees
I utilized world align normal in unreal to add snow onto the up facing area of the tree and the leaves, that way I can control how much snow I want on my trees directly in engine with a simple parameter.
3
Material Breakdown
Since this environment is set in a snowy scene, the presence of snow naturally became the main element across all my materials. I also wanted to make sure the snow material itself looks good and believable. I created a snow material with Substance Designer, and a stone wall material made wiith Zbrush and Substance Designer. For the landscape and the cliff, I used textures from Quixel Megascan.
Snow Material
What makes snow look like snow? To me, it's the powdered bumps, shiny speckles and the blueish tint under light. I wanted my snow material to convey that material quality, so I looked into ways of achieving it in Unreal Engine. Huge thanks to Daniil Spivak's tutorial on creating snow material, I was able to achieve my vision.
Edge Blending for Snow
One thing that often screams "This is CG!" is the harsh separation line in between two objects when one is meeting another. In this case, it's the line between snow chunks and the rock cliffs below. To eliminate that harsh line in Unreal, I used the dither temporal node in the material graph to softly blur out the edge of the snow chunks and help them look more integrated.
Rock Wall Material
In this project, instead of working entirely in Substance Designer, I went with the sculpting workflow and sculpted out the tiling rocks and baked the height information out, brought it into Substance Designer for adding color and necessary adjustments. Sculpting out all the bricks may seem time consuming and tedious, but I personally find it therapeutic, plus I was able to have more control over the organic and natural look of rocks.
Huge thanks to the tutorial by Dannie Carlone.
4
Procedural Content Generation
One of the powerful tools of Unreal Engine is definitely PCG (Procedural Content Generation). I created a PCG tool to quickly scatter assets on the designated spline paths and adjust their positions and density.
5
Landscape Material Painting
I set up a material for landscape that blends between 4 different materials. With the landscape painting tool in Unreal, I am able to quickly paint out the landscape, and the nice thing about it is it's able to add displacement to the landscape and take the height info into consideration when blending.
6
Runtime virtual texture (RVT)
To blend assets into the ground without having the harsh line problem mentioned above, I used a runtime virtual texture to capture landscape material data and apply it onto skirt meshes to help blending assets into the landscape.
Here is a mesh with RVT material applied and dither temporal AA node on. You can see its blending between the landscape and the sculpture and creating a smooth transition.
Here I built a blueprint to create skirt meshes driven by splines in Unreal for fast and flexible skirt mesh generation. I applied a material with RVT that blends between the landscape material and the cliff material to achieve a smooth transition from the ground to the cliff.
Thank you for reading!













