Lisa Saposh has walked us through the Night Swamp project, sharing her experience of working with Unreal Engine's Nanite and providing insights into the approach to vegetation during the production.
Introduction
Hello, my name is Lisa Saposh, and I am a Senior Level Artist specializing in 3D photoreal environments at Room 8 Studio. I've been in game development for over 7 years, and I am always passionate about games. Here I'd like to share my latest project, created during a self-education task at work.
Pre-Production
For this scene, I began with pre-prepared concept art as the foundation, supplemented by references. Many people underestimate the importance of the pre-production stage in game-level development, often stopping at collecting reference lists. I spend ample time here, breaking down the entire process into stages and tasks and forming an approximate list of future assets. This approach allows me to foresee the whole picture and anticipate any potential difficulties, significantly enhancing the chances of not only completing the work but also achieving the highest possible quality.
Blockout
In the initial stage, my primary goal was to outline the general shapes of the houses and docks, define tree trunk shapes, and determine viewpoint locations.
To grasp the scale, I usually employ a person model placed in the center, testing it against various elements where scale matters, like doorways or steps. I also set up basic lighting. At this stage, focusing more on lighting is futile, as it requires scene materials to be in place.
The entire blockout was done in Unreal Engine 5.
The second step involved creating master materials for surfaces, atlases, and the landscape. While planning to use textures from Megascans in most cases, I designed master materials considering the provided Megascans set.
Why then don't you use the master material of Megascans instead? You ask.
For the majority of vegetation, I did utilize models and materials from Megascans, often without altering their settings. However, for items like the house, wooden planks, and skulls on my creation list, I needed entirely custom materials. This allowed me more control over the scene.
Architecture via Nanite
For architecture, I developed a modular set in Blender, later assembled within Unreal Engine. To achieve detailed realism for each plank and log, I displaced each model inside the software, remeshing them and enabling Nanite support in their settings. This was my first time working with Nanite and the first thing I learned in this task.
Nanite allows you to place high-poly models into a scene without worrying about performance. However, they have one drawback: it is impossible to use vertex paint with models that support Nanite technology. This was an unpleasant surprise for me because I had planned to paint the boring monochromatic walls of the house with hand-drawn masks to add variations in color and moss. I won't say that I gave up on this entirely because I was able to achieve a similar result using procedural masks. I reworked the tile master material and added additional color and moss through the material attributes.
Regarding materials, I created a relatively simple material for planks and logs in Substance 3D Designer. However, the roof demanded more effort. Initially, I created high-poly versions and baked them onto planes in two versions – a tileable opaque and bunches with a mask. But those looked bad, so I redid the bunches entirely, utilizing textures of dry grass from Megascans and keeping my material in the background.
Terrain – Virtual Textures
I employed the relatively new Unreal Engine's feature, real-time virtual textures, to craft the landscape. Initially, I created a master material for the landscape, starting with only 3 layers, as I wrote earlier, and eventually expanding to 5. These layers included grass, dirt, small stones, and more. I sculpted the landscape to create areas where water was meant to be. For the water itself, I used a plane with an opaque water material. This method is well described in the Unreal Engine documentation. In summary, the terrain texture (in my case, all the textures used in the landscape material) is projected on top of another model (in my case, the water plane) in the areas where the terrain and the model intersect, blending with the Height Map ideally.
Vegetation
Most vegetation was sourced from Megascans, except for trees, which were created in SpeedTree using foliage textures from Megascans. This not only fulfilled part of my task but also ensured trees matched the shapes in my concept.
This was my first experience with SpeedTree, and it turned out that it was very easy to learn.
Modeling Skulls
Creating the skulls followed a simple pipeline: generating high-poly models in Blender, then retopologizing, unwrapping UVs, and creating all atlas textures in Substance 3D Painter.
The bundle of human skulls was entirely assembled in Blender, and the rope was made using curves. Nanite support was applied to all ropes, including those used in the dock's structure, adding details by displacing geometry with Height Maps.
Dock ropes were crafted with splines in Unreal Engine.
Detalization
This stage was relatively simple and relaxing. My objective was to populate the scene with vegetation and details and achieve a sense of depth within the forest.
Lighting
Throughout this scene's creation, I revisited lighting settings multiple times. Deviating most from the concept, I altered the light and gamma as they didn't seem ideal. Deciding to emphasize a contrast between the cold and gloomy forest in blue and green tones, I integrated warm, bright torchlight to illuminate the path.
Final Words
Creating this project allowed me to delve into various aspects of environmental design and push the boundaries of my skills as an Environment Artist. From pre-production planning to cutting-edge Unreal Engine features like Nanite and real-time virtual textures, every stage brought challenges and learning opportunities.
A special thanks to the team at Room 8 Studio for their support and encouragement, and 80 Level for the opportunity to share this experience.
Lisa Saposh, 3D Environment Artist
Keep reading
You may find these articles interesting