this is an Excellent article, the way its set out with the vids and pics. very technical but not rambley. I learnt alot out of it.
Bob would have been proud
Congratulations Lukas:) Amazing piece of 3D parametric shader:) thank You for sharing Your knowledge:)
We’ve had a great chance to talk with Henric Montelius, who’s been working on an astonishing 3d scene, inspired by the beautiful online shooter Overwatch. In this breakdown, you’ll learn more about the production of materials, the creation of stylized assets and the way to work with the lighting.
My name is Henric Montelius and I’m from Stockholm, Sweden, currently studying 3D-graphics at Future Games. Ever since I started with 3D-art and even before then, the stylized look has always been appealing to me. In particular, Blizzard’s games and how well they execute this art style.
The Visby environment is a huge project that I’m currently working on and it’s one of my main projects at Future Games. Visby is a city located on Gotland, the largest island of Sweden. I chose to work with this because I’ve been there every summer of my whole life, and I really like the scenery. Walking along the torn down medieval city wall, right next to these cute houses, creates such a cozy feeling. It was these feelings and memories that inspired me to start the project in the first place. If I start a project on my own terms I always choose something close to my heart. This way I find it easier to stay motivated and have a clear vision of the end result.
I wanted people to see the scene and say “Hey, I’ve walked those streets!”. Therefore, I wound up spending time with Google Maps to find references of the specified area.
I’d recommend to use the references as guidelines for proportions, materials and modularity. Due to my personal connection to the city, I was a bit too accurate when modeling the blockout, which slowed down the process.
Since I wanted to achieve an art style similar to Blizzard’s Overwatch, I combined Google Maps references with screenshots from the game in a mood board.
My approach to modeling the assets was pretty straight forward as most of the stylized appeal is added in materials and lighting. I used realistic references for the base models and studied Overwatch closely to see how they make use of exaggerated proportions. This made me realize that a lot of props actually have realistic proportions while smaller objects such as foliage can be scaled up greatly to avoid clutter in the scene.
As I don’t have a specific hero piece in the scene I emphasize the importance of an efficient workflow for creating environment models instead. When creating assets for a large environment like this I constantly think about reusability and modularity. So I created a scene with modular pieces, making is easier to create several unique buildings according to the references
This time I modeled the foundation of every house separately but if I were to do something like this again I would probably build modular wall pieces as well.
When modeling like this I try to organize my assets in Maya, some pieces go to ZBrush for high poly sculpting while other assets have a high poly mesh in a hidden layer. Then I combine and triangulate all meshes before importing to Quixel.
The artists at Blizzard are amazing at good use of baked details, so I spent a lot of time doing research in Overwatch to study their assets. Finding the correct balance between polygon usage and baking is crucial for this soft art style. While modeling the low poly assets I experimented a lot before achieving the desired look.
Meshes like the sidewalk rocks got fewer polygons than those for the great wall, since they aren’t as important. I might have overdone this a little bit, but I think that it worked out in the end. Separate rock meshes used for the wall were given extra polygons to match the highpoly mesh improving lighting quality with more accurate shadow maps.
Creating the materials for this scene was a lot of fun as I love to spend time with tiles in ZBrush. The material for the great wall has a bit of a story of itself with endless iterations before I could accept the result. Constantly comparing my result to Overwatch motivated me to keep redoing it until I was satisfied.
When doing a complex material like the one for the great wall, I begin with setting up the functionality. First of all, I made a world aligned material that makes good use of vertex painting, to avoid visible tiling. Then I added the possibility to vertex paint textures based on a height map to create even more depth.
I constantly change between materials to see how the details are presented, knowing that the baked result will be weaker than the sculpt. The final result should be a few rocks that look unique but still fits well together with each other.
Then I proceed with creating tiles by offsetting different subtools in X and Y to be certain that the texture will tile. When it starts to look repetitive, I rotate the rocks or sculpt new ones. It’s also important to break up straight lines as much as possible to create a feeling of randomness.
By moving rocks up and down in the z-axis, I create even more height variation. I exaggerate this to achieve a stronger height map when baking.
To avoid wasting time with baking I usually apply the NormalRGBMat in Zbrush, save as a texture, and try it out in the engine. If it looks good I proceed with baking my maps in xNormal.
I bake occlusion, curvature and normals as my standard maps for texturing in Quixel/Photoshop, but sometimes I bake a bent normal map as well. Its green channel can be used as complementary lighting information to create depth, especially in tiling textures. However, this depends on what type of asset I create and how it will be oriented in the environment.
For this material I’ve chosen to bake a height map as a mask for lerping textures in UE4. I also made some manual edits by changing the contrast and hand painting crevices and indents.
I use these maps in Quixel for the rest of the texturing. In Overwatch they use roughness and normals for a lot of detail in the textures. I like this texturing workflow as it keeps the albedo clean and smooth at further distances while still getting nice micro details up close. With this said I always try to do as much as possible in the roughness map once I’m in Quixel. When satisfied I tweak values until it looks good in the engine.
For now, this is my favorite workflow for texturing as environments tend to change a lot, making it crucial to be able to go back and make changes.
However, I often find myself trying out new approaches depending on what object I create. Sometimes hand painting textures is necessary, but then I try to keep a non destructive workflow by painting values and overlaying color fills. As an example, here is a Futuristic Volvo 242 that I made as an environment prop, using the same techniques as mentioned above.
Overall, I believe that the most important elements for achieving this soft looking art style is good usage of normal maps, not placing too much detail in the albedo maps, and spending extra polygons where needed. After achieving a nice style with the objects it’s all about using complementary colors in the composition. Combining this with great baked lighting and post-processing helps to unify the scene.
I was lucky to get help from Tilmann Milde – Technical Lighting and Shader Artist at DICE – during an environment course. Tilmann got me on the right track by explaining the importance of baked lights with lightmass. This made me start over from scratch, using post-processing very lightly and creating light maps with proper resolution for every object in the scene.
I used one directional light as the main light source and one sky light to compensate with smooth ambient lighting. Both lights were connected to a custom edited version of the sky sphere blueprint in UE4. This opens up for a lot of flexibility which is good if I decide to change my lighting scheme.
Here are the lighting and post-process settings that I’m currently using.
When creating a large scene like this it’s easy to get stressed trying to deliver as much content as possible within a short time. Heavily reducing the scope and deciding that it will be done when I’m satisfied, helped me produce content faster as I became much more motivated.
First I spent a few weeks modeling the foundation of the scene while simultaneously working on other projects. When I decided to reduce the scope it took me around four weeks of full time work to rethink and build everything specific for this composition.
I’m currently working with the rest of the scene and I hope to share it with the community one day!