Tomb Raider: Texturing a Movie Hero Asset with Rising Sun Pictures
Tomb Raider has reached cultural icon status since the first Lara Croft: Tomb Raider game came out in 1996. For over two decades, a number of games, movies and other productions have been made for the pleasure of a worldwide fanbase.
The latest movie installment in the franchise, Tomb Raider, came out a few months ago. The film relied on an impressive use of visual effects, with the participation of Australia-based VFX studio Rising Sun Pictures.
We had the pleasure of meeting two members of their team, Noah Vice, who will talk about the overall usage of Substance at Rising Sun Pictures, and Christina Rzewucki, who will dive into the texturing of a hero asset with Substance Painter.
My Journey to Rising Sun Pictures
Hi, my name is Noah Vice. I'm the head of Look Development and Lighting at Rising Sun Pictures. I have a background in texture painting and shading, and I run a team of eight artists in the Look Development department, and a dozen in Lighting.
I have been a professional artist for 18 years. While I started in computer games, I then moved to TV commercials and migrated to film after that. Before coming back to Australia to work at Rising Sun Pictures, I worked at ILM and was in San Francisco for seven years.
I have been working at Rising Sun Pictures for two and a half years now, starting as Senior lighting and look development artist, before eventually becoming head of Look Development & Lighting.
How I Discovered Substance
When playing Uncharted 4, I was impressed, and I started researching their next-generation texturing and shading pipeline. The more I researched, the more I felt Allegorithmic was making the right decisions in designing their products.
I've been working on next-generation lighting and shading for the last eight years, so I've always been on the lookout for new tools that will help me make that process faster. So I decided to try the Substance toolset at a personal level, and I got confident enough to introduce them at Rising Sun Pictures.
The first project we used Substance Painter on was Logan. Then we decided to use it even more on Thor: Ragnarok, for some environment work and small props. Most recently, we used it for entire environments, digital doubles, and vehicles on the recently released Tomb Raider.
The Helicopter in Tomb Raider
The helicopter was one of the most technically challenging assets to create. In the movie, the shots of the vehicle are incredibly close to the camera, so it needed to look completely photoreal.
We make heavy use of the anchor point and layer instancing features in Substance Painter. It has saved us a lot of time in our environmental work as it used to be very tedious.
Now that we've got a good handle on Substance Painter, I'm going to focus on the use of Substance Designer for our projects. I have a heavy procedural background, so I'm ready to explore it more.
I've been waiting for these kinds of products for the last ten years, and I admire the fact you couple this with such excellent tutorials; it's great that you guys are investing in creating educational material for your products.
Speaking of which, here is a complete breakdown of the helicopter in Tomb Raider, by our talented artist Christina, explaining how we textured the entire asset with Substance Painter:
Substance Painter Tutorial: Tomb Raider Helicopter
Hi guys, my name is Christina, and I'm a Texture and Surfacing Artist at Rising Sun Pictures. As part of our recent work on Tomb Raider, I was responsible for developing the look of a photo-realistic military helicopter. Substance Painter, which has become an integral part of our pipeline, was used to develop the majority of its texture maps. It allows us to generate complex materials with greater efficiency, all in a real-time environment calibrated to our renderer (Arnold 5). In this tutorial, I will talk through the look development process, as well as how we incorporate Substance Painter into our high-end visual effects pipeline.
Before commencing any work, an artist will obtain a brief from their supervisor. This generally includes some reference images to guide us and a discussion on both creative and technical requirements. I usually take this opportunity to ask lots of questions and write notes. Being a hero asset, I spent a few hours researching the helicopter model (an NH90, if you're curious) to a greater depth to expand my reference collection.
The next step, as with most large assets, is to divide the model into multiple objects for texturing. Each piece will not only be imported into Substance separately but will be assigned its own lighting model in render. We usually break down assets in this way to manage higher polygon densities and multiple UDIM sets. Even though we tend to use displacement maps over rendering subdivided sculpts, our 'low-poly' base meshes are still a much higher poly-count than a typical game model. The helicopter is actually quite modest!
I chose to break the model up into sensible structural groups for baking purposes rather than material types. I knew that in using Substance Painter, I could easily paint and layer at the material level, without having to keep up with editing channels individually.
Lastly, I decided upon my texturing/shading approach for the various components of the model. Whilst I wanted to primarily use Substance Painter, some aspects would be easier to achieve in other programs and in Shader. As an example, I decided to paint my logos in Mari, and mix these in using ID maps in Shader. I'm looking forward to an increased level of UDIM support so that I can paint more freely across texture sets in Substance Painter.
SETTING UP SUBSTANCE
To allow us to seamlessly integrate Substance Painter into our ACEScg and Arnold 5 pipeline, we have made an effort to develop standard project configurations.
This template automatically imports our standard studio HDRI, sets it as the project environment, and activates a color profile using an ACEScg LUT. It now also adds ID channels to each UDIM, and standardizes our export settings. Our team is continuously looking for ways to optimize our time and reduce opportunities for human error. You don't know frustration until you’ve forgotten to enable an ID channel on 100+ texture sets!
As well as saving time, we can now be sure our viewport accurately represents our Arnold render without the need to process or linearize the exported texture maps. At this stage, we can also swap in a shot HDRI to see how our asset will respond in shot context. Below is a comparison between my work on Lara's pickaxe in the Substance viewport vs an Arnold 5 render.
Now for the fun part! After researching the reference and developing a better understanding of the helicopter's material properties, I finally imported the models into Substance Painter. At this stage, we also bring in any normal maps provided to us from the model department and plug them into the 'Additional Maps' area. If we aren’t provided with normal maps, we can generate one from a displacement map instead (I use Mari for this process). We then bake the rest of our utility maps at 2k, allowing the software to incorporate our sculpt data into the calculations. The resolution can be adjusted if needed, but I've found this to be a good compromise between quality and time.
To start with, I always begin by dividing the model into some basic materials using flat values. I paint all of my masks on a group, so I can easily add more layers to the masked region as required. At this stage, I focused on a few key surfaces – metal, black paint, rubber, and glass. Once I had broad coverage, I brought it into Arnold so that I could visualize the asset as a whole. This helped me figure out what areas needed the most attention, and where to add more variation within and between materials.
At this point, it was time to add some hand-painted details to push that final 20%. This included adding the logos, various dirt and scratch details, carbon exhaust, leaks, bolts, and paneling. I also painted some ID maps which I used to tweak the material properties further in Shader.
Perhaps the hardest material to get right in Shader was the black body paint. The reference seemed to have both dielectric and metallic properties, appearing both matte and shiny depending on viewing angle. I could also see the underlying paneling structures beneath the paint. To achieve this effect, I painted an additional ID to drive subtle shifts in IOR within Arnold. This is represented in the green channel below.
The dirt layer was generated in Substance Painter by building up various fill layers in combination, then multiplying over a position gradient to get the height level. I'm really loving the new grunge maps that were added recently! Whilst I used a basic dirt color to visualize the result, I switched off all channels save for an ID upon export. I mixed in the dirt in Shader so that we could switch it on or off depending on the requirements of the shot.
Here is the final look prior to compositing:
Working on Tomb Raider was an incredible experience, and it was especially exciting to see our work come to life in the cinema. I'm looking forward to the future of Allegorithmic software, and its potential to both influence and challenge the way film studios currently develop textures and shading.