Apex Legends – Texturing the Battle Royale Phenomenon of 2019

We had the pleasure to chat with the team at Respawn Entertainment, who are behind the awesome Apex Legends. Check out how they used Substance Painter to texture characters and weapons.

Introductions

Brian: Hi I’m Brian Burrell and I’m a senior artist on the Apex Modelshop team. My focus is hard surface art as well as maintaining our PBR guides and overall PBR workflow.

Patrick: Hi I’m Patrick Yeung and I’m a character artist on the Apex Modelshop team.

Wonjae: Hi I’m Wonjae Kim and I’m a senior artist in charge of the weapons on the Apex Modelshop team.

Apex Legends Art Team & Substance

Brian: There are slightly fewer than 50 artists on the Apex team, and that includes UI and FX. The decision to use Substance Painter on Apex was an easy one for several reasons: ease of use and speed of iteration while being non-destructive, the convenience of baking and painting all in one package, and the ability to customize the overall setup to more closely match our in-game PBR-spec gloss shading method. It’s also a breeze for us to quickly control our weathering with Substance Painter which is critical when it comes to distinguishing the flashy legendary assets from the more grimy base versions.

Courtesy of the Apex Legends team at Respawn Entertainment

Art Direction

Brian: Our Art Director, Todd Sue, wanted a balance of ‘Grit and Glamour’ for our assets. It was critical to have aspirational personalities and weapons that also contained a certain level of wear and tear from combat in order to match our Apex universe. For skins that players can craft and buy, it’s important that we have patterns and illustrations which are much easier to produce within Substance Painter due to the ease of painting across UV seams. Also, we’re very careful about what assets receive weathering versus what needs to feel more shiny, new and exciting based on rarity.

Substance Usage

Brian: Our Apex Legends art team has been using Substance Painter for characters, creatures, weapons, vehicles, and props. In addition to Substance Painter, Substance Designer is currently being used by several environment artists and a few Modelshop artists, so hopefully we can share those details in a future blog post.

Custom PBR Guide

Brian: The PBR guide started off as a very minimal guide containing a cheat sheet for specific materials based on existing Substance Painter presets at the time. It eventually grew into a more substantial guide that covered many aspects of PBR in relation to our engine, which is GGX Spec-Gloss based rather than the more common Metalness which is used in UE4. Some of the key updates included an overhaul to the albedo and specular charts to allow artists to quickly sample values from Substance Painter as well as provide overall range information, breakdowns on Do’s/Don’ts, and baking details such as proper AO process. It also allowed us to easily define different values for different groups of assets if we felt this was important. For example ‘black’ non-metal albedo was allowed a darker range for weapons and characters compared to environment and props for contrast purposes.

Due to how much information can pile up in a guide like this, I created several compact cheat-sheet versions that could easily fit on a portion of their second monitors while working within Substance Painter. It’s worth noting we also rely on custom Respawn-made PBR-based materials within Substance Painter, but I still recommend to the artists to be aware of the guide and charts, since tweaks and generators can easily break the PBR on those base layers.

PBR Guide Samples

One of our senior graphics engineers, Xin Liu, built an in-game value checker so that we could quickly verify PBR ranges while playtesting. Between that and the guide combined with the ease of color picking from Substance Painter, our material consistency got much tighter for Apex Legends, which helped to unify the art and lessen the burden when polishing the level lighting and post process. By keeping the PBR ranges more consistent it made it easier to create more pronounced material separation on art content where we felt that was more important.

Custom HDR map

Brian: A small group* of us on the art team, alongside the guidance of a senior and lead graphics engineer, recreated our office space and parking lot inside our game engine, after spending a lot of time researching various albedo capturing techniques in addition to measuring proper sun and shadow values. We then built a custom HDR map of that same space to integrate into Substance Painter thanks to the custom HDR map support. This made it much easier to more accurately align our lighting and art content testing pipeline across the two different setups, especially when looking at real-world objects/materials in a consistent context. Even though it’s not a perfect 1:1 solution, it’s much closer than what we had on prior projects which ultimately makes texturing and shading a smoother experience for the artists.

Last but not least, I would like to give a shout out to the original Kojima Metal Gear Solid 5 team for publicly sharing their PBR pipeline which also involved re-creating an office space set up. They heavily inspired us, especially with their incredible rendering results within the Fox Engine.

PBR Art Team Credits:
Jake Virginia and Tragan Monaghan: Created our initial custom Painter tools, master materials, and wiki tutorials
Austin Arnett and Jake Virginia: Built our conference room in-game and provided lighting support
Jeremy Thurman: Additional guide support and in-game polish

Courtesy of the Apex Legends team at Respawn Entertainment
Courtesy of the Apex Legends team at Respawn Entertainment
Courtesy of the Apex Legends team at Respawn Entertainment

Character Art Breakdown

Patrick: We have a team of amazing concept artists who create the initial design for our characters. The character team then takes the design and continues to iterate in 3D on the character while working with the concept and animation/rigging team to create the final look and personality for the character. We then go through the usual process of transferring high-resolution details onto the game resolution models. Here is an image showing the concept for Octane created by Kejun Wang, and the high resolution sculpt and textured asset created by Diana Topalian.

Inside Substance Painter, we begin the texturing process after transferring details from sculpting to game asset. Working as non-destructively as possible and using ID maps and layer masks, we gradually build the material definitions for the character. We often also work on each other’s Substance Painter files because we have to redefine color and material descriptions to create the colorful skins you see in the store. It is especially helpful in this case that a character has clearly defined layers and almost everything is controlled by ID or masks.

Here is Wraith’s Legendary ‘Airship Assassin’ skin that I created from the ‘QUARANTINE 722’ skin.

‘Airship Assassin’ Substance Painter project: pretty much everything is controlled by layer masks. I don’t use paint layer unless I absolutely have no other way to get the detail, but more often than not I’m able to create whatever is needed with fill layers and masks.

Weapons Texturing Workflow

Wonjae: Each weapon typically starts with a concept that includes at least an orthographic profile view and a first person perspective camera view. Once we complete the modeling phases, which include the high-poly model and fully unwrapped viewmodel (the model we use right in front of the camera), we move on to the baking phase. This is where we start using Substance Painter. Here’s an example of our typical settings for baking:

For ambient occlusion and thickness, we usually lower the settings (see below) for faster baking times. We also use further customized settings to generate a cavity bake for slightly better quality versus a real-time solution.

When we create the weapon materials, it’s important that we push our material description far enough and create enough variety, otherwise the weapon will look a bit too simplistic for our game engine. Normally we create the base material for specific parts and try to keep the uniqueness of that material by adding a filter or bumpiness in the fill layer.

This is the stage where you only see basic materials with minor details like creating a metal milling effect on the white areas and rubber bumpiness on the cheek rest area.

Different types of materials get distinct types of scratches, so we always try to put scratches in the same base layer as a part of the material uniqueness. Substance Painter makes it a lot faster to adjust the depth and amount of scratches. After this phase, all of the fun parts get added, such as decals, wear and tear, weathering, and screws. These types of details are applied everywhere, not just to certain areas, by mixing the generator mask with hand painting.

A lot of fill layers are used for weathering materials and the Mask Builder is our preferred method for overall weathering and scratch masks.

Sometimes we use Substance Painter as a traditional painting tool. A lot of our legendaries get unique painted elements and we paint these directly in Substance Painter. The Dynastic Cycle R301 legendary skin was made entirely in Painter, for example (see below):

The weapon below is the Havoc ‘The Golden Idol’ legendary for the First Battle Pass, and required more raw metals than the average weapon. These were easily added and tweaked within Substance Painter:

Tips & tricks

Brian: I only have a few tips for overall workflow within Substance Painter, and these are aimed at the beginner to the intermediate-level artist:

Try to keep your layers and folders labeled even if it’s just a basic name, especially if you’re creating work for a project where other artists might need access to your files.

I find it much easier to add the majority of the weathering near the top of the painter layer hierarchy in its own folder. It’s okay to have subtle weathering further down, especially within smart materials, but for the heavy scratches/dirt/grime and so on, it’s better to keep them high above your base layers.

Even though it’s super-easy to add many smart materials and generators to create several different variations of a particular type of material such as plastic, you can keep your file size down and performance high by not resorting to adding a new material for minor variations. For example, to create a duller plastic material variant, just mask out the area you want to affect and only enable gloss and/or normal map/height combined with the proper value changes.

I find painting in Substance Painter without a tonemap to be quite tricky, so I recommend experimenting with different tonemaps under the post settings if you’re having trouble with your art looking too washed out, and with specular highlights having weird gradient transitions. The perfect solution is to always use the same tonemap across both Substance Painter and whatever package your art is being rendered from, if possible. For example, Brian Leleux offers the ACES tonemap within Substance Painter for Unity and UE4 users here: https://www.artstation.com/artwork/mrqd8

Tonemap toggle example

Patrick: One of my favorite techniques involves working with painted height details inside Substance Painter. There are situations where normal or height details are added after the fact in Substance Painter and are not present in the original baked maps, and we still want the generators to take into account the added details such as edge wear and dirt. Here is a quick walkthrough to set that up.

An example with a painted metal plate. I want to add in some groove detail and have edge wear on it.

Grooves are added using a fill layer with a mask controlling the shape. You can see that there is no edge wear on the grooves, as the edge wear generator on the paint layer doesn’t recognize them.

Make a fill layer and turn off all the unnecessary channels. Set height and normal channels to ‘Pthr’ (Passthrough) so that we can use this layer as a flattened layer as anchor point.

Go to the MG Metal Edge Wear Generator on the paint layer and scroll down; you should see two slots: Micro Normal and Micro Height. Assign the anchor point we created to these slots and set the appropriate reference channels.

Finally, turning on Micro Height and Micro Normal in the Micro Details section of the generator will activate the anchor point we assigned. Now you can see there are edge wears around the groove that I made previously. The great thing about this is that I don’t have to worry about repainting this edge wear if for any reason I have to change the grooves. The edge wear is now connected to the details so they will change accordingly.

Will you be using Substance on upcoming projects/content?

Brian: Yes – absolutely! We rely on it quite heavily and we don’t see that changing in the near future, especially if updates keep progressing as fast as they have been, and critical bugs continue to be addressed as they get discovered.

Big thanks to the Apex Legends art team!

All images courtesy of the Apex Legends team at Respawn Entertainment.