Umar Khan gave a detailed breakdown of his most recent personal project, based on the concept by Dan Brown. He talked about the production, creation of assets, materials and the whole composition of the scene in Unreal Engine 4.
The Baron’s Hangar
This environment is based on a CGI scene from Dan Brown. Utilising Unreal Engine 4 because of its capabilities and ease of use. I will be sharing a small breakdown of my workflow and methods.
I first blocked out the scene using BSP brushes within UE4 and also modelling some of the blockout meshes. This gives me a sense of scale and also tells me how I can make the meshes modular because I export the BSP’s into Autodesk Maya and use that to setup my grid and work forward from there. Setting up the camera early is something I like to do as well, so I can see which assets need higher priority.
All of my meshes were modelled in Maya, some of them are following the concept and others based on using external reference which I start gathering before starting a project. I use pinterest which is great to store references and inspiration for a project. I created the meshes with modularity in mind from the start making them usable in different ways and by making sure it is optimal. Keeping the pivots to the left corner of almost every mesh so they can easily be snapped to each other.
To create the mountain in the background I followed a great world machine tutorial by Iri Shinsoj on youtube.
By tweaking some of the parameters in World Machine I was able to get a snowy effect on the mountain. I exported the texture and height map which I then put in UE4 and applied the albedo and repeated it a number of times.
The pipes and wires were made using a spline blueprint which I also followed a simple tutorial from Playful Synapse. By following the steps with my own mesh I was able to place them however I wanted.
I started the texturing phase by creating 2 basic master materials which I can use to overlay repeatable maps with any mesh. Using Quixel I created 3 repeatable materials which I can adjust intensity and other parameters. Material ID’s are now used for a number of programs, by exporting a mesh with different material ID’s I can assign them to the mesh, this saves time and creates a high quality asset.
Knald was used first to create a lowpoly AO map which uses the same model for high and low to get a basic AO map, this applied to a lot of the meshes but not all. Substance Painter was then used to create normals using alphas. Exporting out of Substance gives a height map and a normal map I then use the height map in Knald to create an AO map, a lot of programs could be used for that. Both of the AO maps are then multiplied in photoshop.
Quxiel was the main tool for texturing individual assets as I had limited time and a lot of meshes to texture. I create a material ID in Maya then add the maps to Quixel and assign materials to the ID’s. Once the base materials are applied I add more materials which I can paint using 3DO. At the very end I add decals or text to the project in Quixel and using 3DO I create imperfections to get a realistic look.
UE4’s lighting is great and very easy to get realistic results. Static lighting is the better way to go, as I tried both and static gave a sharper look. Lightmaps are the downfall of static lighting but it isn’t impossible to do. The fighter jet in the scene is quite a complex object but I managed to lightmap it perfectly. The way I did this was by splitting the jet up in 7 pieces which created more UV space for each lightmap which was set around 256 to 1024 according to the size of the grouped mesh. The trick to create lightmaps fast is to use selection constraints in your 3D package and split UVs along edges which are weighted at 90° or simply ‘hard’ in Maya. Keep your UV islands straight and add sufficient space between UV islands.
Some lights were set to dynamic and a very small fraction of meshes were not light mapped, this makes some of the lights kick in and out depending on the distance from the camera. Adding a smaller radius reflection sphere near a reflective object also increases the quality of the reflections captured.
Without post process the scene would not look as great as it is. By turning down the lens flare and crushing shadows helped a lot. Mainly the post process volume was used to increase the contrast of the scene and add a yellow tint. A LUT colour grading was also used. Increasing AO and limiting some of the indirect lighting added a great atmosphere to the scene. Decals are also one of the last things I use to add the small variation in the scene and help break up any repetitive elements.
Unreal is a great engine for everyone and along with Substance and Quixel creating environments and assets becomes really easy and also produces very high quality results. Using these programs I will aim to create interesting environments