In case you missed it
Study more environment art
My name is Brett Marshall Tucker and I am currently an Associate Environment Artist at High Moon Studios. I have previously worked at Nickelodeon with their Entertainment Lab and have a background in fine arts. In the past, I have contributed to Call of Duty: Modern Warfare, an untitled project at Nickelodeon and some awesome fan projects like Installation 01 and Skyblivion. My career has seen lots of turns, including working at a LEGO studio in New York, teaching environment art at a university in Texas and now working in the game industry with a focus on material art. My background in fine arts set me up with useful knowledge of art theory, color, and composition. Understanding art and its history opens a lot of mental doors and I highly recommend learning as much art theory as you can.
The Passenger: Goals
I made The Passenger in order to deepen my understanding of materials and how they drive a scene. When it comes to game art, I am self-taught and therefore have a lot of gaps in my knowledge, that's why I wanted to seriously focus on how a material reads in a digital format. When a material looks grimy or dry or dusty, the viewer has an emotional reaction to it based on their own experiences. Knowing how texture can steer the viewer's perception, we can manipulate how someone will react to our work. There are many factors that go into the tonal read of an environment and, while materials might not seem as important as lighting, they make or break a scene.
So why a subway, exactly? If you have lived in New York or any city with a mass transit system, this scene will undoubtedly bring back some memories of being in that space to you. If you haven’t, then my job is to convey subway surfaces in a way that'd give you an understanding of how it feels to be there. The ground needs to be in spots and look sticky and the bench must be worn in a realistic manner. I know what tiles look like but how do they fit in this space? Are they shiny and new or do they look like they’ve been collecting grime for a while? Where and why is the concrete stained? How do the roughness of the materials and the lighting of the space work together to emphasize storytelling? Having an implicit narrative is more important to me than capturing reality. An empty subway littered with the refuse of its commuters can tell thousands of tales.
I used Maya, ZBrush, and Marvelous Designer for model creation. As you may expect, the walls, floors, and ceiling are modular geo while the stairs, bench, and trash are unique objects. Textures were made with Substance Designer, Substance Painter, and Photoshop. My texturing workflow consisted of creating tiling materials in Designer, bringing them into Painter for a base, using Painter to create masks for wear and grime and, if needed, bringing in some fills from Photoshop for logos and stickers. This scene was not made to show off what I know about world-building by showcasing every detail down to the brackets on overhead pipes but to let my audience build their own version of the world from my materials. Due to this intention, the geo is simple so that my materials can take the spotlight. I also used some mesh decals and deferred decals for the street signs, graffiti, and grunge.
The project started with one task: make some tiles. A simple tile material was an achievable goal that would get the gears turning. When you feel burnt out, overwhelmed, or indecisive, it is important that you set a small, realistic goal for yourself and take a break every once in a while. Focusing on the basics at first allowed me to take the time to achieve the level of realism I wanted while not overdoing noise in the scene. I tend to work in a style that is realistic but not photorealistic, so I usually focus on the main shape reads and colors. Once I had a tile I was happy with, I collected more references for other parts of the scene. I took inventory of the most important materials and how I could simplify things. Knowing that the scene was solely meant to focus on materials, I edited down a lot of small details and focused on the larger reads of the space. I also stopped to ask myself a few questions: What a subway platform looks like to me? Why do I associate these feelings with it? Why do I think of tile, concrete, and wood more than metals and paints? The answer is that these surfaces usually cover the largest area in such an environment.
Once I had a list of tasks and goals, it was a matter of tackling things one by one. It can be helpful if you decide what parts you are most excited to make and what parts seem tedious. You can sort of reward yourself with those fun tasks after crossing off a few that were more troublesome. You should also be aware that some tasks aren’t necessary for the scene and that it is always okay to edit. Taking something out might not detract from the main read of the environment or there could be a workaround. Still, detail is powerful so you should never edit down too much in order to save yourself a headache or you’ll cause a bigger one. After you know what must be made and what is optional, try to formulate a game plan. What can be modular? What must be unique? Which objects can share a texture set to better control texel density? The answer to these questions isn’t always apparent. In this case, trial and error is the best approach. The whole process is iterative.
I love Substance Designer and I feel lucky to be able to spend my days using it at work. With this project, I wanted to get better at more complex material reads and at selling material definition. Some materials are easy to understand, like tile and concrete, and their roughness read is what drives the entire feeling of the material. Wood, on the other hand, seems to rely more on the color and how the grain reads. The wood I chose was relatively simple in grain pattern, so I focused on the roughness.
I made all my base tiling materials in Designer and brought those that were needed for the unique models into Painter. I exposed some parameters and slapped down the tiling materials as a base. The bench, for instance, had some basic masking for wood, with and without boards, and for metal. Once I had the base established, I made a mask for wear using Smart Masks in Painter and some good old-fashioned hand-painting where needed. Using a high poly bake helped a lot in this process due to Painter’s ability to utilize maps created from bakes when generating effects. Maps like world space normals are useful in texturing static objects due to their ability to generate masks for dust from a top-down gradient or dirt from bottom up.
Making basic materials interesting is accomplished by knowing where you can push them. Most of the reference I found for tile, even in subways, looked clean and even. I knew this wouldn’t sell my idea, so I wanted to exaggerate the random angles and heights of separate tiles. To do this, I used the flood fill node to create random grayscale and random gradient information. These maps are essential in creating some variation to separate shapes but be careful when adding them into your height map because you don’t want to keep widening the gap between your shapes needlessly. Use the trick shown below with the distance node to make these flood fill based maps work better for you. Plug the flood fill result into the bottom input and the original black and white mask from the tile generator into the top. The distance node will push the values out evenly, filling the gaps between tiles while never overlapping them. Once you have these clean maps, just multiply or overlay them into your height map to achieve a random height and angle. Don’t overdo it unless you’re going for a damaged or sloppy look.
One problem I often ran into was understanding how my material would look in the final scene. For example, it can be hard knowing when a color map has enough contrast for a nighttime scene when Designer’s default lighting setup is a bright outdoor day. Bring in the HDRI you intend to use for your scene’s base lighting to Substance Designer to get an idea of how a material will be lit as you build it. This will help you define your materials for your scene, but I also recommend swapping back and forth between whatever HDRIs you use so that you can be sure that your material lights well in all conditions. There is no point in making an awesome material if you can only use it once!
Tiling materials are your friends but sometimes they need to be broken up. Make use of Unreal’s vertex painting to make large flat surfaces more random and realistic. Below is an example of a simple vertex paint blended material and how it works in the engine. Just head over to Paint mode (Shift+2) to begin painting with Shift held and erasing with Ctrl. This example shows only two materials being blended but you can get more in-depth as you utilize more channels. This material also has a parameter for adjusting the falloff of the edge when blending based on a grunge texture sample brought in as a mask. Just remember that, since you are painting between vertices, a higher polycount model will work much better with this process. And there’s nothing wrong with subdividing your modular cube wall once or twice.
Speaking of breaking things up, do the same with your damage in Painter. Smart Masks are wonderful for a base but can often look too procedural. You want to have your wear and dirt look natural and not contrived. A good way to break up these procedural masks is by adding in grunge maps and paint in the layer stack on those masks. The example below shows my final result on the left with the base version of that mask on the right. The highlighted layers were added after combining two Smart Masks. Your layer stack doesn’t have to be this hefty to give you a good result but there is a lot of room for variation in a nondestructive tool like Substance Painter.
Lighting has never been my strong point. I used to always produce muddy, lifeless scenes after much frustration. The answer to this frustration, however, is simple: do not be afraid of contrast. Sometimes you may feel as though you’re going too far past realistic lighting but as long as you don’t blow out the image, you’re probably just making it more interesting to look at. You also can’t get too far with default settings so look for an HDRI that fits the theme of your scene.
Also, make use of Color Grading Look Up Tables (LUTs) to give your white balance and light values more punch. You can find these on resources like Textures.com and forums like Polycount. Here’s an example of what LUTs can do to your scene. Add one in under “Color Grading” in your GlobalPostProcessVolume.
I wanted my lighting to be as realistic as possible so I started the setup by adding lights where they would actually be in the scene. I used rectangle lights on the fixtures above the platform and only added a few point lights to supplement the coverage of light on the ceiling. I’m lucky to have an RTX card that enabled me to make use of raytracing for this scene. I only added some lights around the bench to slightly boost the vibrancy of that area. I chose to use different colored lights on the main platform from those coming from the stairs to emphasize the mood of the underground station.
Hopefully, you can see a pattern in the words above: material definition is essential. Spend as much time on texturing as you do on everything else and your investment will pay off. You can get away with a lot of simplicity in your scene if your surfaces are interesting but don’t skip out on detail where needed. Color, contrast, and composition will get you far in life and I cannot stress enough the importance of these skills in all art disciplines. Stay curious, look at the ground wherever you go and take lots of pictures for reference!