The second part of a guide by Harry Gray will tell you about setting up a scene in Unreal, polishing and optimizing, and more.
The second part of a guide by Harry Gray will tell you about setting up a scene in Unreal, polishing and optimizing, and more. Check out the first part of the article here.
INTRO
Welcome to Part 2 of this series on the Technical aspects of environment art. In this section, I’ll be discussing the methods you can use for Master Materials, Substance Designer, Foliage Brush, and Final Optimization phase.
I hope you enjoy and learn from my exploration into the creation of White Noise’s environment. Let’s go.
GET IT IN ENGINE
You’ve got all this trash now. (I went through the process of doing a selection of the individual trash pieces while you weren’t looking. You’ve put so much effort into making garbage that you’re starting to question life choices.
I empathize.
Part 1 – Master Material
A Master Material is a versatile Material you’ll be able to make instances of in which you can edit Parameters. Any edits made to the Master will impact the Instances making you Material phase much more clean. Set up your Material, making sure to parametrize the textures specific to the mesh.
Something to consider is that no renderer works the same. This means that what you saw in Painter is not what you’ll see in Unreal, especially when considering the different light conditions in the pile is going to go through. This is a matter of tweaking.
You’ll have to go through the material editor and set up the changes you need to get exactly what you want. This is highly dependent on the lighting scenarios it’ll be in. I tend to clamp down the metallic values and adjust roughness as they’re highly changes from Substance to Unreal.
Part 2 – Noise Control
Having piles of scattered assets covering a huge space is great for filler, but all these different materials from metal to plastic to rubber are going to create serious noise in the piles. Proactively setting something up to counter that noise that can be tweaked later is a great help to avoid visually overwhelming your player.
The solution that worked for me, fitting my world, was a layer of dust and dirt over the top of all garbage. Bringing a large portion of the variation to a unified value. This works very well for my world, the place feels more dead and despaired, defunct and untouched for a long time, it desaturated the color values and weakened the reflectivity of everything. That lack of vibrancy really sells the death and decay of the space.
To do this I used a World Aligned Blend blended with a dusty grayscale mask. Giving me an alpha to Lerp on top of everything a layer of satisfying dust.
Definitely make sure you’re checking how this all looks in the game as you go.
Here’s a showcase of what I mean by high amounts of noise coming from the various materials. Seeing each individual piece being shiny really overwhelms the eyes taking away any semblance of focal point in the environment. Whereas using a World Aligned layer over everything brings them together and unifies the space.
Part 3 – Instances
With all of the streamlining we’ve done, you can make Material Instances of your Master Material and just replace textures! Everything will be driven by that initial Material which is going to save so much time in tweaking values and even memory on the CPU/GPU as you’re decreasing draw calls and instructions.
DESIGNER TRASH
I wanted to separate the ground of the piles from the Junk itself so that I could have that portion of the material be both World Aligned and Vertex Paintable between no trash, thin trash, and thick trash. To do this I took depth captures from ZBrush.
In ZBrush, isolate an individual piece and line up a shot to render you’d to see one of your pieces in.
Line it up, hit BPR to get ZBrush to do a quick look at what’s in your shot. That will produce a grayscale texture that looks at something’s depth in comparison to the camera.
Taking those Depth Captures, I organized them in a Designer Graph so that each type of junk is in its own little utility node. Then plugging each type of junk into a Tile Sampler.
Taking those Depth Captures through multiple Tile Samplers gives you the control you want for differing levels of trash. You can then take the Normal and Curvature information from that!
In Unreal, Lerp this Material using the User0 Alpha you made and you’ve got a less noticeable repeating asset!
FOLIAGE TRASH
Part 1 – Pre-Foliage
If your project is anything like mine there is a huge ground to cover with these pieces you’ve made. For White Noise it was only one fairly large space integral to player interaction and also an expanse of space out into the vista. We can take care of that with a Foliage Mesh Brush, however, this has a lot of randomness to it, even feels like making art.
Start by just placing individual pieces that hit these targets you want. Compositional silhouette, Edge Transitions along the floor and large forms, as well as thinking about larger pieces you can include less often to create some variation. Having the individual pieces helps a lot here for specific leading lines of places of emphasis you want to establish.
Part 2 – Foliage Filler
Filling in where things are blank with the Foliage Brush is easy! Here’s a setup for one of my mesh brushes. Pull the density back, give the pile some scale room, random rotation, and tweak the Ground Slope to something appropriate for your piles
OPTIMIZATION ROUND 2
Part 1 – Texture LODs
Tweaking your texture LOD Bias’ is going to drastically increase your performance. LOD Bias refers to the ‘Level of Detail’ of your texture. Unreal will generate these LODs and you can play with them. Find a texture that wouldn’t be noticeable if it were smaller and adjust its LOD Bias. Seeing the amount of memory you can drag down for this highly repeated asset is always my first step for a huge boost in framerate. The normal map and Base Color will probably be able to pull a lot of the leg work, where PBR maps taking a fall may not be too noticeable.
Part 2 – Mesh LODs
We live in an age where a vert count is becoming exponentially easier to handle by computers. But when you’ve got hundreds of thousands or thousands of these in one frame, it adds up.
Mesh LODs will allow you to say ‘When it’s this far away, only show this super low-quality mesh’ which is exactly what you want. You can even set it to stop casting shadows. I’m showing two custom LODs here, but these could have 3-4 depending on how far away they will be in a frame without hurting the visuals. Super useful tool, take advantage of it.
POLISH YOUR WORLD
Creating work that is beautiful is an extremely rewarding experience. Seeing people’s faces glow at your work is great. What feels even better is when they can play through it at a great frame rate and experience it as it lives in front of them. This is true from the most animated character to the most despairing and dead trash.
Having said that, I hope the skills here help someone to take their masterpiece and bring it to life for players to see.
Always keep in mind your world. You’re creating a full experience, having your world and the logic it follows will guide you into maintaining something that is unified throughout and gives you the rule set you need.
Always consider the specs of what your players will have access to. Consoles are very standardized in their ability to handle graphics, so they offer a stable limit to stay below. Whereas every PC is different and you’ll have to decide how many players you’re okay with cutting off because your game is so dense it needs an overclocked dry ice cooler to run.
Always seek out crit. There’s no way any of what I’ve shown would be possible if I hadn’t constantly been on the search for art criticism and playtesting from people, sometimes it’ll give you just the right spark of an idea as to how to move forward.
THANKS FOR PERUSING
If you liked this set of tips or it helped you with some part of your own project let me know on ArtStation or feel free to email me at 15wgray@gmail.com!