Could you explain how you made the custom grunge generator?
Amazing work sir! Congratulations
Environment artist Mathew O’Halloran talked about his little personal project, which helped him to learn how to make UE4 work with MODO.
I’m Mathew O’Halloran, I’m an environment artist at Ubisoft Massive working on The Division. I’ve been working here for 3 years, basically since The Division was announced to the world in spectacular fashion. Before Massive I worked in a small mobile studio for a year and a half, I was much more of a generalist. Though after a while I realised my passion was in realistic environment art and made the move over to The Division.
Every piece of personal work I do involves something I want to learn, I still consider myself to be a rookie so I try and push myself to improve as much as possible. Anything I learn in my personal work can improve my professional work and obviously my day to day work and being surrounded by amazing artists is far improving my personal work.
This scene started out with just the mech, I originally decided I wanted to design and build a mech ready for UE4 using only MODO. A new 3D package can be pretty daunting but other artists around me were pumping out great work with it so I wanted to experiment. In the end the mech only took about 2 weeks, I was blown away by MODO and have since made the transition from Maya to MODO.
The entire time I was building the mech I was staring at a Simon Stahlenhag print I have in my apartment and wanted to put the mech into an old school scene similar to his work, also I was playing Fallout 4 at the time which is where the retro American style came from. I call this work in progress at the moment as I have more propping to add and texture work to do but I also plan to create a short animated fly through of the scene that will tell a little story, so I still need to master MODO rigging and animation as well as UE4s matinee system.
The reason why the mech was so fast was partially, because the modeling tools in MODO are so good, Booleans work, you can align and re-align your grid to basically any angle whenever you want but I feel the biggest thing for me was the “rounded edge” option in any shader.
Warren Marshall explaining how the rounded edge shader works:
This basically meant that I never built a high poly for the mech, which obviously saved me a huge amount of time, I simply baked the rounded edge shader down to create all the bevels that I normally would have modeled in. This also allows for two shapes to be pushed into each other with a good transition and a lot less time spent modeling.
Secondly the mech (and the scene in general) doesn’t use many uniquely unwrapped maps, I only use 0-1 UVs for a normal map, some AO and a Mask. I then tile my painted metal and bare metal material over the mech at whichever texel density I see fit and blend between them using the mask. This means that I’m calling 2x 2048 unique textures with all of these textures packed into them for the mech and re-using the generic metal and painted metal materials around the scene. This makes it pretty cheap but also means I don’t spend hours in a texture app, also a prop this big (4 meters tall) would need multiple huge maps if it were entirely uniquely unwrapped.
Using generic materials instead on uniquely texturing allows for some pretty high texel density:
MODO handles multiple UV sets extremely well, it’s easy to iterate and manage them without ever breaking them, this was key to my mech. I have 1 UV set used for unique maps such as normals and AO and I have another UV map which deals with all of my generic tiling textures and a third UV map which is a complete non-overlapping unwrap which is used for lightmap bakes in UE4.
I’ve done this is in Maya for my TIE Fighter scene and it was far more difficult to handle and especially iterate on all the UVs.
I knew that I didn’t want to spend a huge amount of time on complex material set ups or building procedural materials, so my materials for the most part have been generated using dDo. They’re generic materials that can be tiled over multiple props in the scene and have a mask built into them so that I can colour grade them within my UE4 shaders to fit whichever job they need, this also means I can easily go and adjust resolution up and down later if need be. For example, the mech, the gas sign, the red elements in the building and several other areas are all using the exact same tiling painted metal textures that I made in dDo that are colour adjusted to be red, white or whatever I need. This keeps texture count pretty low across the scene and means I don’t have to sit in Photoshop or whatever for a whole night texturing basic assets.
The same goes for my ground, the asphalt is all generated in dDo. The first set is very clean and undamaged, the second set is pretty gnarly and beaten up with dis-colouration. I use vertex painting on the ground mesh to blend back and forth between broken and clean asphalt and then I use vertex painting in a separate colour channel to then blend in puddles of rain water over the top.
I’ve recently been checking out the Megascans library in order to see where that can help me out and Megascans Studio did an amazing job of creating a nice muddy/ grassy ground for me to put down on my grassy terrain areas so I’ll definitely be integrating more Megascans into this scene before I’m finished with it.
The lighting in the scene is extremely simple, I’m not a good lighting artist so instead of trying to manually light the scene I’m relying on Image based lighting for the most part and then placing lights where I really feel like I need extra. So the colour of the sky and the image based lighting along with light maps are pretty much handling everything and then I have placed out a few key lights in order to push a few elements in the scene.
The neon’s are just typical materials with an emissive plugged in and then pumped quite far above 1 in order to create a glowing, bloomy effect. You can also control how much bloom you have in your scene within your post process volume so a combination of both values can give you the results you need.
So this scene runs at 120 fps quite easily on my machine but that’s because there is very little going on in the scene and I have a 970 GTX. I think the Image based lighting does a lot to make the image look pre-rendered as there is so much light and variation going on already. Small things like some vignette and a small amount of chromatic aberration really help to give you a filmic look also but the biggest thing for me is sharpening. The default temporal AA solution in UE4 can make the scene look quite soft but is amazing at stopping aliasing, I don’t want to revert back to non-temporal AA as you can really see aliasing when you do so. Instead I add a sharpening material to my post process volume that sharpens the whole image post AA and helps to give this sharp look.
The images I’m sharing are exactly how the scene looks in viewport. They haven’t been super sampled, they’ve had no Photoshop work done to them, I haven’t adjusted lightmap settings in anyway and I’ve only baked the lightmaps in preview setting (which takes under 2 minutes). These are all things I’ll be able to work on to improve the rendering in the end.
Saturating Scene with Objects
With this scene I’m trying to keep it quite simple as I want to tell a simple story through camera movement, sound and animation when it’s done. On the division I got a lot of practice at trying to make areas look lived in and used through simple propping but also this small stuff really helps to break up gamey straight edges that kill the illusion.
I want the scene to feel like it could be real, even though there is a crazy big stupid mech that makes no sense.
Working with MODO
Having watched multiple people on my team and even my lead use MODO I was pretty convinced before I picked it up that it would be fine for development, the likes of Machine Games are shipping great games with MODO so I wasn’t worried that It’d limit me in anyway but I was surprised by how quickly MODO dragged me away from Maya. I’ve been using Maya for about 10 years and I already feel like I can work faster and with a more relaxed work flow after only 10 months.
When I build assets in Maya I feel like I’m on a pretty strict workflow… High poly, low poly, UV, cage, bake, if my bakes aren’t working because I haven’t given enough geo to my low poly or because my UVs aren’t right? I can pretty much guarantee my cage and maybe even my UVs are going in the bin. With MODO that doesn’t feel like the case at all, I feel like I’m pretty safe to make a mistake or test something out and then just get right back to it. No throw away work.
I’m not trying to get anyone to switch over to MODO with this article, this scene could have been built with Maya, Max or MODO quite easily but I’ve had a lot of fun building this with MODO.