top of page
  • LinkedIn
  • Instagram

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!

More Projects:
bottom of page