Blade Runner 2049’s Oscar-winning Texturing Workflow at Framestore
When catching up with Framestore Montreal about a year after their initial adoption of Substance, it was humbling for us to learn that they had used our tools on Blade Runner 2049, a film and franchise that has a special place in the hearts of many at Allegorithmic. Our interview focuses on the benefits of Substance in the lookdev phase, for two of the film’s breathtaking environments: Las Vegas (or what’s left of it), and the solar farms we see early in the movie.
Once the modeled scene was just about ready, what was the starting point of the texturing/lookdev phase?
Michael Borhi, Head of Texturing: Due to the sheer size of the Las Vegas environment and the quantity of buildings that required textures, materials and shader work, it was crucial that it be approached in a practical, efficient manner. Not every building required high-resolution textures, though most, if not all, required some level of texture or shader coverage. There was no way that we could devote the same amount of attention, work or time to every building; nor was this necessary in some cases. As a result, we outlined 3 main phases for the texturing and look development of Las Vegas:
Phase 1 - Procedural Texture Library
Phase 2 - Generic Shader Library
Phase 3 - Defining Hero Buildings
This was done in order to provide quick coverage on all buildings, reduce or eliminate the need to overwork assets that would never benefit from the additional texturing and shading, and quickly identify the hero buildings that needed the most attention, texture, and shader wise.
Arnaud Saibron, Lead Lookdev/Lighting Artist: We needed to work as broadly as possible for quick turnarounds and to be able to deliver work-in-progress render frames that were readable from a client's point of view.
Phase 1 - Procedural Texture Library
Michael Borhi: The decision at the outset to build a procedural library of textures was the obvious choice, as this would give us maximum texture coverage on all buildings before devoting any time to doing specific texture work. This also enabled us to quickly visualize what the city was going to look like without having to burn through too many artist hours. Models were still in progress, constantly changing and developing in their look and complexity, so it made perfect sense at this stage to hold off on doing anything too specific or unique - work that would likely have to be redone once models were finalized.
Arnaud Saibron: In Phase 1, we defined and cataloged, based on concept artwork, a range of materials that represented the mood of this futuristic/apocalyptic Vegas. Different types of concrete, stone, metals, levels of dirt, rust, and sand were defined at this early stage.
Using Substance Designer, we then proceeded to create a library of neutral greyscale tileable textures covering basic needs (specularRoughness, greyTone color and bump maps) and, as required, different scales & sizes of the same texture sets, for buildings of various sizes.
Didier Muanza, Lead Environment Artist: We created a 'mood board' of Substance materials which matched the concept artwork, with which we were able to quickly produce and prototype the first look of the buildings, a look which was also used for our first temp delivery.
Michael Borhi: As part of Phase 1, 'Deckard's Building' was one of the first assets we textured and look developed, using some of the tileable textures from our library that were generated through Substance Designer.
Didier Muanza: Sylvain Lorgeou (lead DMP artist) worked with Substance Designer to define and create materials and textures for the Deckard Building. These were very useful in establishing a solid base, which became a blueprint of sorts for establishing map values and scale of detail that was eventually applied to many other buildings.
Arnaud Saibron: Once the procedural library had been created, lookdev artists were able to create shaders corresponding to the library and apply them to any or all geometry in our scene using a nametag-based rules system (metalOrange, concreteLightGrey, etc.).
So a 'metalOrange' shader would do a lookup in our published bank of textures and find the corresponding tileable metal texture in the library and multiply that greyTone colormap with an orange color to get the desired effect for that particular asset. We kept everything as greyscale in the albedo/color maps so that we could alter them in the shaders, allowing for quick and easy variation between buildings when it was required.
In order to break the tiling effect of repetitive textures, we knew we had to keep a procedural process in our shading network. So if the base material was created using the projected Substance texture as is, subsequent layers were created via procedural masks (for rust, dust, dirt, and sand) to create as much randomness and varied breakup as possible.
With that done, we were able to render beauty passes, even if the modeling work was still in the early stages.
Phase 2 - Generic Shader Library
Michael Borhi: We found that with Phase 1, there was the possibility that the procedural library could successfully work for some of the background buildings in some shots. But it was obvious looking at the edit that this approach was not going to cover most buildings in the mid to foreground category. With the help of the edit (which was still in progress), we proceeded to establish which building assets belonged to which phase (1, 2 or 3) and assessed the level of work required from there.
With Phase 2, we continued to refine and develop our procedural/shader library, with the continued collaboration of the texture, lookdev, and environment departments. Additionally, we wanted a system that would allow us to keep Phase 1 on all buildings as the default, and switch over to Phase 2 only when it was deemed necessary that more specific texture/shader work was required on them.
Arnaud Saibron: We defined more specific recipes for each material, with standardized and consistent sets of values and level of detail in the tileable maps. This included accepted ranges of specular roughness, specific albedo values, bump strength and mask functionality (ie RGB mask, R=rust, G=sand, B=dirt).
Shader setups now contained two branches: one branch with the 'default' procedural/tileable tree (from Phase 1) and a second branch for the 'generic' (more specific than Phase 1, with some paint work and specific mask assignment) tree, which would become Phase 2.
By default, shaders for all building assets would be set to 'Phase 1', and when a texture artist published a more specific texture pass for any building, the shaders for that building would then switch over to Phase 2, containing a more specific set of textures and masks.
Phase 3 - Defining Hero Buildings
Arnaud Saibron: When reviewing assets in turntables and/or in shot context, and working from the latest edit, we then determined which buildings needed hero treatment, based on distance from the camera. All buildings had either Phase 1 or 2 applied to them before we entered Phase 3, so we were able to quickly assess if they provided adequate coverage or not. If they didn't, then Phase 3 (hero texturing & shading) was required.
Towards the completion of the Las Vegas environment, most of the foreground buildings had their own shaders and hero textures, the midground buildings used the generic shaders (Phase 2) and all the background assets and small props used procedural shaders and tileable textures created in Phase 1.
Michael Borhi: The final textured version of the Las Vegas buildings contained a mix of all 3 Phases, depending on where they were seen in shot.
How did you go about creating the base materials for the buildings?
Michael Borhi: We first defined what materials were required and drew up a full list that would cover everything in the Las Vegas environment. The base materials were generated through Substance Designer, based on concept art and some set references. Materials and surfaces were defined as per Phase 1 & 2, standardized map values and scale of detail were established, then tileable detailing and values were worked out with Substance Designer, along with the collaboration of Arnaud Saibron and the lookdev artists. We started with some of Substance Designer's default PBR materials to see what results that would give us, then made further adjustments from there once we started rendering with our proprietary tools. As Phase 1 & 2 work progressed, tileable maps were adjusted and modified as needed in Substance Designer, as the look of the buildings developed. Tileable maps and shaders were tested in turntables on building assets, in shot context, as well as on generic shader balls or shapes to gauge specular reactions and overall lighting/shader response.
Didier Muanza: For the set dressings (ie. small props, fittings, fixtures) and the secondary buildings, we used Substance Designer to create the tileable library that would help us in matching the Digital Matte Painting/concept references.
For the Vegas lower city buildings and set dressings, we used Substance Designer as well. The textures of the lower city (modern Las Vegas) were first created in CityEngine, and we then used Substance B2M (Bitmap2material) to extract albedo, specular roughness and normal maps. With this process we were able to output textures for 1400 different background assets in under two days.
Do you have any tips for Substance Designer artists when it comes to creating this kind of material?
Didier Muanza: In the environments department we often work with a photogrammetry-based approach. Substance B2M is extremely useful in extracting texture maps from DMP work or other photo-based references, which help a lot in attaining the realism for the assets we work on.
A well-thought-out UV layout before going into Substance Designer is essential - having organized, same-sized and same orientation UVs. Organizing UV layouts by material type is also very useful, especially with complex assets that have a large UDIM count. Visually, when looking at a UV layout, this is probably the quickest way when having to identify and modify specific materials in the layout and on the geometry.
Michael Borhi: In our case, Substance Designer was ideal to kick off the Las Vegas environment work that we had to do. Armed with only a small set of procedural textures, we were quickly able to texture a quantity of assets that would have been very time-consuming to do one by one. It provided maximum coverage over a large range of similar type assets which conveyed an overall idea of what Las Vegas was going to look like.
Organization is extremely important. Clearly define the materials and surface types needed, establish a library, publish it to an area where all artists can access it, be consistent in naming conventions with nodes, materials, and work projects. Work at a lower resolution in the node graphs for speed, then output final textures at a higher resolution for lighting and rendering.
Recently on another project, we tried the smartphone/material scanning approach with Substance Designer, photographing clothing swatches that we had in office for a few characters we had to work on for a project.
We were able to extract some great, high-quality procedural texture maps from Substance Designer that we eventually used as the base for the texture work on these characters. The results that we got using this workflow were faithful to the real-life clothing materials; the first few renders gave us something that was a close match to the way the real materials looked and reacted with lighting. The patterns were quite specific and detailed and could have been painful to replicate by hand or from scratch. We'll definitely be using this approach again whenever we receive real-life references in the studio.
The solar farm
How did the texturing/lookdev workflow differ in this scene, compared to Las Vegas?
Didier Muanza: This environment did not require the same comprehensive approach as Las Vegas. In this sequence, led by Bastien Muller, Environment Sequence Lead, the texturing was more focused on key elements such as the solar towers and the greenhouses. We used Substance Painter because of its flexibility with model iterations. For example, the towers changed many times in shape and design, so the procedural aspect of Substance Painter made the texturing process completely automated as the models progressed with each new update.
Michael Borhi: For this environment, we adopted a Substance workflow that could likely serve as a prototype for how we work on many film assets in the near future.
Both Substance Designer and Substance Painter were used for many of the assets in this environment; procedural and tileable maps were created in Substance Designer, then refined, shaded and lit in Painter, using show specific environment HDRIs. Substance Painter was able to closely resemble the lighting and shading responses we were seeing with our propriety PBR lighting and rendering workflow. We were able to get some great results early on which worked well in the first rounds of rendering that we did.
For both this environment and the previous one, how did you manage to get a similar result between the texturing tool and the final render?
Didier Muanza: We were able to have a near exact match between Substance Painter and our in-house implementation of Arnold by exporting the basic color, roughness and height maps as well as several color masks to split between the different materials in lookdev. Iray gave a pretty good representation as we were using the environment HDRI to preview the lighting influence on the models & textures.
Michael Borhi: We started with some of the default PBR materials in Substance Designer and Substance Painter, then proceeded to align them with the proprietary shaders we use in production. In most cases we were able to get some pretty close matches. This was great when having to work on map iterations throughout the course of production.
Do you have any tips for VFX artists using Substance Painter?
Michael Borhi: VFX production work can often be unpredictable; assets and models go through countless iterations, both structurally and in their UV layouts. Assets are often developed & finalized well into shot production. For many of our assets, especially hero environments, it is crucial that a non-destructive texturing workflow is adhered to. For us, the challenge is often: how can we advance and refine the textures on an asset and develop the look knowing that the model & UV layouts will change constantly along the way? As a result, our method has to be as flexible and malleable as possible, while at the same time show progression in the work so that the production teams and the client can monitor the development of these assets. We often have multiple artists working together as a team across numerous assets so sharing the same work projects, materials, references, map values, and techniques was important in creating consistency across everything we texture.
With a well-thought-out procedural workflow, it is possible to limit most of the bespoke texture work down to a number of masks. All other data, ie. fill layers, procedurals, occlusion and curvature passes, remain 'live' and unaltered, and easily adaptable or rebaked for UV updates and model changes. Creative masking, mixed with procedural textures and some baked model information, can go a long way to achieving a nicely realized look without having to do a lot of specific texture work. Surprisingly, we found that Substance Painter could be just as much a procedural texturing software as Substance Designer is. There will always be custom painting required, especially for hero assets, but we have artists who are constantly pushing the procedural approach as far as possible, to see how far we can get with it.
What do you expect of the Substance tools in the future?
Didier Muanza: I can see Substance becoming a major material toolset, allowing artists to drive the look of an asset very quickly. My dream would be to have it as part of the renderer, so that everything would stay dynamic. Assets would really be able to interact with the environment they live in.
Michael Borhi: I expect us to be able to use Substance tools on more and more high-end film assets, not just in the preliminary phases of the asset build as we did on Las Vegas, but all the way through to completion. It's evident to me that we have started moving in this direction. At the moment we see that Substance Designer and Substance Painter are making the transition from games to film, and we fully support this.
Multi-UDIM painting, the capacity to handle high density meshes with 4-8K UDIM resolution, advanced colorspace management, texturing with particles, the ability to synchronize our proprietary shading/lighting workflow with Substance Painter to allow for more look development work within Substance Painter by the texture artists - these are some of features that I would love to have in order to successfully integrate the Substance tools into our texturing workflow at Framestore.