Mar. 10, 2018
Blade Runner 2049’s Oscar-winning Texturing Workflow at Framestore
The team at Framestore Montreal tell all about using Substance to texture Blade Runner 2049.
Once the modeled scene was just about ready, what was the starting point of the texturing/lookdev phase?
- Phase 1 – Procedural Texture Library
- Phase 2 – Generic Shader Library
- Phase 3 – Defining Hero Buildings
Phase 1 – Procedural Texture Library
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.
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.
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.
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.
How did the texturing/lookdev workflow differ in this scene, compared to Las Vegas?
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.