Toivo Huhtaniska has shared his workflow behind the Pillars project, explained how he modeled the environment's extremely-detailed mountains, and revealed how the stone and grass surfaces were created.
Hey there. I’m Toivo, an Environment Artist from Finland, currently working on an exciting unannounced AAA project in the Tokyo-based studio Shapefarm.
My latest project "Pillars" was my first venture into a 100% nature scene, with no man-made structures to lean on this time. Crafted over two years, I first started when the pandemic hit, but didn’t have the technical know-how to produce such a complex scene. I stumbled upon the abandoned project this summer and decided to give it another go.
Join me as I babble on about the steps I took to finally finish the scene.
The main inspiration for the scene was this concept piece by Gabriel Yeganyan which has these really striking leading lines I fell in love with when I first saw it. I knew it would be a real challenge to translate the shapes into 3D.
Indeed, the single longest step in the project was the initial blockout – I wanted to really hammer down the wild shape language of the concept piece.
Using cubes inside Unreal, I spent the first week assembling the environment.
The pillars are the main character, so they needed extra love – and extra sweat and tears, too. I exported the blockout cubes to Blender, where I remodeled them with subdivisions for smooth curves. This step involved a lot of bouncing models back and forth between Blender and UE to achieve the perfect lines.
As the rocks are extremely large, I knew I would go mad if I jumped straight into sculpting, so I gave myself a head start with displacements. Using scanned cliff textures I displaced the models to get free shape breakup and happy accidents.
I went as far as to twist and warp some scanned cliffs to aid the sculpting process and used the every-enviro-artists-favourite-quarry-cliff as a base on the most detail-heavy part of the bigger pillar.
In ZBrush, I kept the modeled parts as separate sub-tools and started chipping edges and fixing displacement errors. hPolish, OrbFlatten, and SmoothValleys came in handy to massage the noisy displaced areas.
Initially, the idea was to texture the pillars via masks in the shader. During testing, I realized it wouldn’t allow me to get the textural fidelity I was after, so I opted to texture it in Substance 3D Painter instead. To get at least acceptable texel ratios, I split the pillars into four 4k texture sets.
The texturing process was relatively simple, using scans as a base and overlaying noises on top, and using the AO and curvature map to make the sculpt pop. I also use the "Light" generator mode as a mask to highlight planes facing certain directions.
If the pillars are the main character, the terrain is the whole supporting cast. From the get-go, I knew Unreal landscape tools wouldn’t allow me to get the intricate shapes.
I was inspired by these handcrafted terrains for God of War (sculpts by Kyle Bromley) and wanted to try something similar.
For reference, I gathered pictures of tundras and Icelandic vistas, saturated grass, arid foliage, and dark sandy areas.
As with the pillars, I exported the blocked-out terrain into Blender (this is where a week's worth of blocking out came in handy) and subdivided them to get smoother curves. Again, lots of bouncing between Blender and UE to finetune the shapes before ZBrushing commences.
Final terrain blockout before sculpting. Getting the river flowing naturally with graduated waterfalls was a challenge – I cut some "erosion" with booleans to get the effect I was after.
The terrain is split into five parts: foreground left, middle, right, background, and far background. Here’s how the sculpted terrain parts are arranged in the final scene.
It’s a long one, roughly one kilometer from the camera to the vista mountains, so I had to keep that in mind while sculpting and regularly check how the brush strokes hold up from the camera's POV.
Terrain Simulation & Texturing
To sprinkle in some extra spice I imported the terrain parts into Gaea for an additional erosion pass. As Gaea doesn’t yet support mesh importing (at least, I don’t think so) I converted the sculpts into height maps, which I ran through some erosion nodes and coloring nodes to get nice masks to use in the Unreal shader.
Masks are exported separately and packed into one texture in Substance 3D Designer.
I built a landscape-esque shader, but for static meshes, that allowed 4 materials to be blended together driven by the masks from Gaea.
A messy example of how the masks RGBA channels drive the landscape textures
Terrain Detailing & Scatter
For embankments, where the landscape overlapped itself, I ran a photograph of an embankment through Substance Sampler, which gave me surprisingly good texture maps. I modeled strips of geometry where I wanted the embankments to sit and displaced them – and finally blended them with the landscape with triplanar decals in the engine.
I kept the foliage library very restricted to fit the tundra look. Low grasses, moss, small flowers, and twigs. Foliage is Megascans with some custom rock sculpts in the foreground.
Fluffy mossy mounds to break the flatness
Handmade boulders to fit the specific look of the concept. These are blended in using decals and small rubble
I must confess – I took the lazy route here. I gathered some black-and-white images of waterfalls together, got Sampler to plop out a normal map, and some vertex moving later I had myself OK waterfalls.
The river similarly is just planes – I reused the water material I created for my last project. The breakdown of the material can be found here.
Lighting & Post-Processing
The two different lighting scenes live in different levels that can quickly be switched between – I worked on both simultaneously.
To get overcast ambient lighting, I used a low-strength directional light which I "washed out" by increasing the SkyAtmosphere Mie scattering scale to 1,2. Additionally, there are some fill lights to highlight focal points and a bunch of fog cards to aid the height fog.
Clouds are simple single-color floating cards just to add silhouette; I painted them to look voluminous in post. Photoshop doctoring was a big part of the final images. Here’s a quick breakdown of the PS layers:
I did a light paint-over with textured brushes to enhance the painterly look.
Initially, I was going for a more subtle variation, with the scenery unchanged, but it looked too similar to the overcast version. I explored different ways to get more variation, and while playing with the hue slider in Photoshop I fell in love with the red version.
I made material instances for each element I wanted to be red.
Instead of using a directional light for the sunspots, I opted for spotlights to allow for very specific placement and rotation. Each spotlight has a light-function material with a tiling noise to emulate cloud shadows.
With the bright greens gone, I needed some value play to contrast with the red – I decided to add more snow. For the sake of efficiency, I used a very hacky method; I duplicated the terrain, dynameshed it to be one piece, shrunk it to sit just under the existing landscape, and sculpted it to pop visible where I wanted.
The snow mesh is supported by a Z-up snow function in the shader.
I’m glad I finished this project and I’m glad it turned out to be pretty cool! Hope you’re glad too, wherever you are. Keep on making awesome art! Please feel free to message me on ArtStation if you have questions.
You may find these articles interesting