12.16.16

I constructed this scene to challenge myself technically in writing Unreal shaders and to learn a new program while I was at it (SpeedTree).


The landscape was originally generated using TerrainParty (http://terrain.party) and then I went over it with the erosion tool, considering TerrainParty creates gigantic mountains and valleys. The height maps they generate are not made for Unreal, but they can be a good starting point. After this project I'll be diving into World Machine more so than I have before to generate proper height maps.
Once the landscape was to my liking, I decided on a good viewport bookmark to use in constructing the composition.

In creating the tree line, I originally used a quick block out tree model I made with the foliage tool to get an idea of what I wanted to see in the scene.
Once I was somewhat satisfied with the composition, I moved over into SpeedTree for my first time.
It's crazy easy!
I love the node based generation with all the tweaks and details to play with per node.
For the purposes of this project however, I generated about four trees using their stock textures. Two with leaves and two without.



Other models in the scene were built in Maya. The rocks were sculpted in Mudbox and baked down using Substance Painter.


The textures, with the exception of the trees, were created in Substance Designer.
The snow was built using some quick and easy noises blended together with proper looking roughness details. On top of that I added some clumping where snow could have built up by falling off tree branches and on top of stones underneath.
I took a similar approach with the dirt. Typically I would try to block out a more primary form for the way the dirt flows, but in this case I wanted to show off how the snow builds up on the surface and fills in the gaps over time, so I made it fairly flat, leaving the primary forms to the geometry.


I generally try to think of textures I'll be using in the scene ahead of time while I'm in Designer, which usually leaves me with unused textures such as this bark variation.


Once the models and textures were complete, I moved into Substance Painter.
The two things (but not limited to two) I love about Substance as opposed to Quixel is, one, the workflow between being able to create your materials in Designer and then just drag and drop into Painter, and two, the ability to rotate your materials on your UVs.


Once the assets were complete, I brought them into Unreal and finalized my composition.
Then came the fun part!


This scene uses only two materials. One for the landscape, and one for the meshes.
The material I got together first was the snowy landscape material, even though I knew I wanted the scene to start off using the dirt texture.
This was because I wanted the snow on the landscape to blend nicely with any snow building up on the geometry. To do so I wanted to see what the end result would look like once all the snow had built up in the scene.

The geometry material was by far the most fun.
Step one for the snow build up was figuring out how to build the snow up according to the positive Z of the mesh's normal map. To do so, I got the dot product of the normal map to the mesh's vertex normals, giving me the positive and negative Z directions of the normal map. Then clamped that value to a 0 - 1 range, giving me only the positive direction. Running that through a power gave me the amount that the snow would fall off the positive Z.


Once the snow buildup was in the correct place, getting it to blend nicely with the landscape snow was a matter of triplanar projecting the snow on the geometry, which gave me the same amount of tiling as the landscape in all directions that the geometry met the landscape.


Other bits in the scene using this material required me to open up an emissive parameter for the television and the ability to vertex paint where I wanted some additional blending between the meshes.

Once the master material was in place, I dumped the original landscape material for a material similar to the master. And once I was happy with the way the snow was building up on both surfaces, I converted the snow falloff parameter I created to a parameter collection so I could play with it in blueprints.

The blueprint was as simple as creating a timeline that drove the snow falloff parameter. Since the original falloff amounts were a range of 0.5 (snow built up) to 1700 (no snow), I mathed it into a 0 - 1 range, making it much easier to control the curve of the timeline. After a bit of tweaking, I got the timeline to make the snow build up nicely once the play button was pressed.

Other cool bits in the scene include a light function for the light coming out of the television, as well as the panning emissive in the television (also included as parameters in the master material). There's also the use of light functions in the background to fake the effect of light coming through the trees. The actual snow coming out of the sky is a simple particle effect.

Thanks for reading! Updates to this scene may occur depending on free time or me getting side tracked with other projects, but I wanted to show off the important parts while I have time and they're simple to pick out.