Amazing 3d artist Peter Sekula talked about his approach to the creation of assets for 3d games!
Amazing 3d artist Peter Sekula talked about his approach to the creation of assets for games!
My name is Peter Sekula and I’ve been a 3D artist focused on environments for over 12 years. In that time, I’ve worked on industry titles such as the Tom Clancy’s: Ghost Recon series, Rainbow Six series, Far Cry 4, and most recently Tom Clancy’s: The Division. During my time at Ubisoft, I started creating my own art content at home. Soon I founded my company, “Quantum Theory Entertainment” and left Ubisoft to focus on my own work full time.
I develop high quality content for the Unity and Unreal engines and their users. The content is targeted from the low-end of mobile devices to high end, current day desktop GPUs. Eventually, though, I’d love to achieve what every indie wants to achieve: their own hit game.
A long time ago, I wanted to learn how to make better terrains at work, so I downloaded a program called, “World Machine.” World Machine is a node-based, procedural heightfield generator and bitmap editor that can make some really stunning terrains. In that software, I learned how to manipulate and control noise functions, make selections from those functions, make masks, blend different features, etc etc.. At first the workflow was daunting and thought that creating textures from math is imprecise; It doesn’t provide for real, custom work. After sticking with it though, I found out I was very wrong.
World Machine and Substance Designer have some real similarities in how the artist approaches procedural art content, so when I found out about SD and its focus on textures back in version 3, I dove right in.
Substance Designer is pretty much the best choice for authoring your own materials if you’re the type of person/company that wants a unique look for your game. You’ll construct your materials bit by bit, assembling them from noises, patterns, and masks, almost “sculpting” your material layer-by-layer. The paradigm of node-based texture creation provides a true non-destructive process and also allows the talented artist a means to build a “node toolset.” There are some chains of nodes that you’ll often reuse in your Substance graphs, so you can pack those into a single node and plop them down in your future materials. This makes for the most flexible, clean, non-destructive way to create the best materials. It can also be a great learning tool!
Replicating a Surface
When you start to replicate a surface in Substance Designer, if the surface has a good amount of depth to it, or if the color is defined by the relief, you’ll definitely start by making the height map. So a bark, a cliff wall, cobblestone.. These are generally pretty rumbly surfaces whose color is defined by that rumbliness. It makes sense to start with the height! In the case of something artificial like mosaic tile, of course you would start with the tiny squares and work from there because that’s how it was initially made.
Look closely at reference imagery before you dive in. Learn to broadly identify what’s characteristic of the surface you’re making. In the case of the bark, it was the layered wood, the thick “folds” of wood, and some of the redness. Learn to imagine the surface without all the noisy details. Try to isolate the bigger characteristics in your mind and start there. As you work through the node structure making the heightmap, you’ll make the big details then work down to the small refinements.
When I first started making Substances, I got frustrated very quickly because I thought that every node had to look like what I had in mind. But I knew the workflow isn’t setup for that type of thinking, so I sought out to change my approach. When I loaded some photo textures into Photoshop, I wondered, “How in the world will I be able to replicate all these noise patterns and colors in Designer?” The reality is that only a few colors need to do all the work! If you convert a photo texture to indexed color in Photoshop, by changing the number of colors in the palette you can see where the major patterns lie. Those are the patterns, and the colors, to replicate. When I saw that, the level of complexity I had to achieve was a fraction of what I thought before. As you can imagine, that was really motivating.
The packs I create are commercial products, and as such they’re intended to be used by people to make cool stuff. They have to be flexible enough to cater to unknown needs, easy to use, and of course look great. So when it comes to architecture, going modular is the one thing that checks off all those requirements. I first decide what grid size is reasonable and typically build wall sections in increments of 2 meters length. Then, depending on the style of architecture, I’ll decide on what heights should be common. In any case, all measurements will be on a 50cm grid. For example, windows will be 50-100cm within the bounds of a wall and might be 100cm in width. These may not be real-world measurements, but it makes production of the pack clean and easy for the end user.
The fastest way to get started with Rome: Fantasy Pack I is by way of the Unreal Engine. I take full advantage of UE4’s Blueprint construction scripts. These are objects that have the ability to build other objects using dropdown boxes, checkboxes, and other options. So in UE4, you just drag a modular floor blueprint into the scene and with a couple clicks, you can change the style, open doors, override materials, add a foundation, roof, etc. There’s no need to hunt through the project’s file structure looking for mesh options because I present all the use cases in that Blueprint.
Details in Environment Production
How is it seen? Is it on mobile? Then you would work best if you work broadly because the screen is so small. Desktop? You can go further because of more powerful GPUs and bigger monitors, but then you have to find balance in time investment vs. quality. That balance comes down to just how good you are and what tricks you know.
This may insult some people, but I think art is all about tricks, formulas, and what’s in your mental toolbox. Bob Ross could make a snow-laden mountain with the sharp side of his palette knife, dabbing randomly on the canvas. He’d take a fan brush and dab that on the canvas to make the best pine trees you’ve ever seen. One of my favorite Substance Designer tricks is my grunge generator node. It simply takes in a bunch of noise texture inputs, blends them in all kinds of crazy, nonsensical ways, and outputs a grunge map that’s unique. But that grunge map is actually pretty important because, with masking and gradient mapping, it serves as the basis for future details in my albedo maps. Another huge lifesaver is binding node creation to shortcut keys. The only way to do this is by using the program, “Auto Hotkey.” You can program keyboard commands through scripting in Windows or Mac. For example, if I press Alt-1, a levels node is placed on the graph. Alt-S is “invert greyscale.” This saves me TONS of time and is something I strongly recommend! Time savers like this allow you the ability to achieve more detail!
Low Poly Art
It’s certainly more forgiving because you’re working more with shape and color but not texture. But like all art, there is more to consider than just the “thing” you’re making. What is your color palette? Is your contrast and saturation level balanced and under control? Are the visible edges truly revealing the surface type? Are you leading the player through the environment with good composition? Relying on traditional design principles separates good art from incredible art.
People interpet “low poly” differently, so I can only speak to the untextured, faceted style. Choosing a nice, fixed color palette is something this style has in common with pixel art. If the palette deviates too far, your scenes may become difficult to read. What I mean is, if you look at the scene from a normal vantage point in your game/product, will you be able to comfortably identify important landmarks, paths, or objects?
Making materials can be difficult in this style because all the data is crammed into the vertex color channel. RGB is taken up by color, so all that is left is Alpha. That could be used for roughness or another effect. But what you mostly have to work with is RGB vertex color and edge length. If I’m making wood, I don’t just make a simple box and color it brown. I cut the geometry into jagged shards, but keep the box shape. The shards would be subtly different shades of brown and tan. This is a convincing way of making a low poly wood grain. With the exception of architecture, most props and things look best when they don’t have perfect 90 degree angles anywhere on the geometry… That’s a big hint right there.
Know when to shelve an idea and think nothing of it. If something you’re making isn’t going to be critical to the gestalt of your environment, pass on it. For example, I wanted to get a really nice cloth shader for some drapery I was making. I spent hours researching the one I wanted, but suddenly stopped because I realized this isn’t that big of a deal as I can get an “ok” result with something simpler. Move on to the important stuff.
Sometimes the tool that gives the best results takes too long. Lots of people use ZBrush for sculpting environment content, but I’ve always found faster, more precise ways of doing something in 3DSMax or elsewhere. Granted, there are situations where ZBrush is a must.
Dedicate time to fiddling with software. I always took time at work, on the clock even, to stop what I was working on to spend a little time with some software that peaked my curiosity. Often times those 20-30 minutes of research amount to weeks and weeks of time saved over the course of a career.