This is great. Keeping UVs at 90 degrees never occurred to me but it makes so much sense it seems obvious in retrospect
Unless I'm mistaken, this is how Shadow of the Colossus handles the fur on the Colossi
Awesome breakdown Simon!
3d environment artist Michael Tran talked about the production of the stunning interior scene, where shadows are used as compositional tools.
Hello my name is Michael Tran and I’m currently studying game art at The Game Assembly in Sweden where I’m finalizing my portfolio and will soon be looking for an internship. My aspiration is to become a material artist so that’s mostly what I’m doing in my freetime whenever I’m working on something. Last year I also attended the Modular Environment course over at CGMA with Clinton Crumpler as instructor which gave me the foundation of knowledge needed to create this environment piece.
My latest material studies
I knew right away that I wanted to do this kind of abandoned corridor and while I wanted to make it a bit creepy I also wanted give it a bit of a tranquil / soothing feeling. The initial thought was just to make a straight corridor and that was it, but upon a bit of reflection and reference gathering it felt a bit boring because essentially what I was about to create was a box. So after a bit more reference gathering I stumbled upon a picture of a staircase from the Beelitz hospital and decided to merge that together with the corridor. To achieve the mood in this kind of environment I knew that the lighting would play a key role and this of course ties in with having decent materials that can properly respond to the lighting.
When it came to the technical aspects of the environment I wanted the environment to be functional and game ready in terms of the layout and also the optimization for it.
As this was a school portfolio project I only had 5 weeks of half time, making it essentially 2,5 weeks. With this limited amount of time I needed to be able to stay agile and visualize things quickly to handle any changes as early as possible and efficient as possible. Substance Designer was key factor to this workflow due to its’ iterative nature and without this, my approach that I chose to take wouldn’t have worked.
For this production I went in sort of blind, mostly relying on my references that I had gathered and tried my way forward when blocking out my different modules. I tried to push the footprint of the modules as much as I could in this step in order to create something visually interesting.
As soon as I had the basic blockouts ready I started working on a floor material and spent about half a day on it, until it reached a “good enough” state where I felt it could be used as a final material in the scene, and this became the minimum quality benchmark for all the other materials to come.
When the my first blockouts and materials were ready I compiled a list of stuff that I needed to include into the scene and the sheer amount of assets quickly became daunting given the timeframe I had for the scene. I realized at that point, (about day two in production) that I wouldn’t be able to make everything, so I opted for a quantity over quality approach by utilizing trim textures for most of the modules and props. In the end I think only one prop was uniquely textured, which one it is is up to you to guess. By going with trim textures combined with tiling textures it not only saved me several days of work but also maintained a consistency across the border in terms of texel density and material quality as making one change to a material would propagate to all other instances. The draw call count was also kept to a very low number thanks to this. The biggest drawback was of course that the props suffered a bit in terms of uniqueness which in the end wasn’t a big deal because the assets themselves weren’t really the focus of the scene.
I tried various types of field of views and aspect ratios in the beginning and very quickly found the scene to feel a bit claustrophobic. While this resulted in the scene feeling more eerie I felt it leaned too much towards the horror side and the goal was to make something in between that and a calm soothing feeling. So to counter this I went with a high field of view between 90-100 degrees while also widened the aspect ratio. This change gave me the space I was looking for and it also allowed me to take better images compositional-wise following the rule of thirds and other techniques, which can be a bit hard sometimes when dealing with corridors.
The architecture is very Victorian and I tried to make it look elegant but not too flashy. My goal here was to make the materials express this elegant feeling which meant that I could skimp out on building more intricate models in order to reach the same goal. As such many of the models were extremely simple geometry-wize. But when correctly mapped with trim-textures they faked a bit of intricacy enough to sell the setting. All of the mesh related stuff were made in 3ds Max.
While I had to make a few unique meshes for certain cases the majority of meshes could be reused in several parts of the environment, again trying to stick to my original goal with game ready optimization.
All the tiling materials and trim materials were made in Designer. I chose this as I needed a flexible and iterative center point that could permeate through all other aspects of the process. To keep everything sort of consistent in scale and texel density I made my tiling materials representing 2 metres per 1024×1024 texture but authored everything at 2048×2048 in case I wanted to go higher at some point.
As for the creation itself, I’m going to sound boring but I’m pretty much doing the same things most people do. I start by gathering references, then I work my way through from macro to micro details and when I feel like I have nailed the forms I move on to the roughness pass and lastly the albedo. At the very end I usually go for a global grunge pass adding dust, sand, dirt etc to tie all of the elements together into one cohesive material for that extra finish.
The process was sort of similar when I made my trim materials and throughout the process, I kept adding more and more trims to the textures as the project went on when a new specific trim were called for. Designer made this process incredibly easy as I could just create the height of the new trim and the feed it into an empty place of the main chain of the graph and it would propagate through the entire material and all like edgewear, grunge, etc would be updated for the material.
Combining Materials in UE4
My goal when making the wall materials was to guide the player’s eye movement by dividing it into at least two different colors or materials. This was achieved by adding edges onto the mesh and then map the polygons accordingly to the materials that were used.
To allow myself a greater flexibility I also created a Master material for all tiling / trim materials that gave me control over the material properties such as roughness intensity, albedo tint, the ability toggle on parallax occlusion or bump offset, etc. These tweaks were used heavily as it meant I could create a lot of material variations for different usages without the need to do go into Designer when I wanted to adjust small things or create new variations.
I took this one step further with the lath wall and for this particular material I had to create a new Master material that could accommodate 3-way vertex blending as I had three different material variations for it. It became the most expensive material in terms of performance but generally it wasn’t too bad and since it was used so sparingly it didn’t really impact the performance.
From the onset of the production I had a clear vision of the end result for the lighting. It was to be very contrasty and yet very soft and since I didn’t have much lighting experience prior to this I wasn’t really sure if I could pull it off.
During the production I did two lighting passes. The first one was very early on, right after I made my very first blockout to set an initial mood to the scene. The second one was when I had most of the props and modules finished. As for the lighting setup it’s not really anything special. I first setup my directional light as my key light acting as the sun and made a quick bake. The result was way too dark at that point so I complemented the sun with some directional lights with bounce cards outside each window in order to further brighten the scene. Around this stage I started to fiddle around with the indirect lighting bounces and other world settings but couldn’t really achieve the overall brightness I was after as everything was still quite dark.
It resulted in me bringing in a few directional lights into a small area of the environment (this was so I could isolate a small area for faster light bakes). These lights were to be fill lights and were meant to be disabled after a bake so they were set as static lights. By starting out with very low values I incrementally increased the light intensities after every light bake until I reached a point where I was happy with the overall light and proceeded to light the rest of the environment with a similar setup.
Fill light setup
The shadows in this scene acts like a compositional tool for guiding the viewer as well as reducing noise. Even though the scene isn’t very noisy I think it creates some nice places for the eyes to rest at. Initially however the shadows added more noise into the scene rather than reducing it due to elements like the cage and other various stuff casting either very intense shadows or just very noisy patterned ones.
My solution for this was to kill some of object’s’ shadow casting which immediately made the scene much more pleasant to look at. As for the intense harsh shadows many of them disappeared when I added my fill lights and at the end it was just a matter of balancing the intensities of the lights with the shadows.
The scattering of all the trash came in at the very last of the production. By this time I had already nailed the nailed the lighting I was going for, as well as the post-process look. This was when my polish phase begun and I sent a batch of screenshots of the scene to various groups and people for the very first time of the project, asking for feedback. A lot of the answers received were about the ground being a bit too clean, not matching the amount of damage on the walls and ceilings.
When it came to deciding what kind of garbage and debri was needed I simply went with a logical approach and looked at what materials I had in the scene and started to create simple meshes for them. I reused the materials and UV-mapped the meshes accordingly so that they looked correct and then scattered them out with the foliage tool. This was pushed further when I added dirt decals to the floor and wall.
I tried balance the amount of debri scatter around the scene where I wanted it to feel really worn down but not noisy as I think having areas for the eye to rest on is really important. The way I ended up approaching this was to put more debri the darker it got, that way I could subconsciously build up the feeling of deterioration without immediately affecting the noise level whereas on the light parts I chose to put much less since it had a much higher impact.
The Final Render
I really like the color grading in The Order and initially I tried to push towards that but eventually went my own direction when I was close enough in order to better support the mood I was going for. The process included a lot of filmtweak settings as well as a bit of LUT-modifications for the final look.
I also put in a few low intensity lights on certain key places to better highlight some material definition for some further break up, particularly at the staircase area where all the exterior light had flattened the area a bit too much.
Before / After post process
I wanna give a shoutout to Clinton Crumpler and his amazing Modular Environment course and all the participants. If you have the money and time for it, definitely check it out over at CGMA.
My classmates over at TGA for being super inspirational with all the awesome stuff they make. Check out their work here over at Game Art 2015 starting the 20th of April when our portfolios go live.
And lastly Alex Senechal for giving me excellent feedback along the way and making me push the results further than what I had originally had in mind! Check out his awesome work over at Artstation.