Website powered by

Scout Ships: UE5 Shader Breakdown

Inspired by Building the World of 'The Ascent' GDC talk
https://youtu.be/FodXp5BkENk?t=782
It is the same-ish technique Epic used for the Talisman project to meet project size constraints
https://youtu.be/zr3Z60DgZG8?t=2546
-
This is my attempt to re-create the the UE shader which uses one texture for all the things in the game. My goal was to avoid normal map baking and using a more procedural approach for texturing. I designed these Scout Ships vehicles based off exploration underwater crafts crossed with a space shuttle. These ships were kit bashed using JROTools mid poly models mainly for speed (I didn't model anything) so that I could focus on the shader side. AO and Curvature map were baked into vertex color to drive dirt and weathering. Primary, secondary, tertiary colors, metal/non metal, emissive are all controlled by UV offset via UDIM. Improvements definitely could be made, some of the weathering is a bit generic but this is a good start for importing a gray model, assigning the shader and getting this result with zero texturing work. Let me know what you think! Always looking for ways for these things to be improved and/or optimized.
-
Models were used from the Hard-Surface Kitbash Collection by JROTools.
https://www.artstation.com/jronn/store

Blender Vertex Color Master Addon to bake vertex color and transfer between channels
https://github.com/andyp123/blender_vertex_color_master

Rendered in UE with Lumen.

Rendered in UE with Lumen.

Different models can use the same material setup while only requiring new vertex color baking and UV offsets for color and metallic.

Different models can use the same material setup while only requiring new vertex color baking and UV offsets for color and metallic.

Adjustable parameters allow for color, roughness, and dirt variations showing the range capabilities of the shader in UE from a lot of weathering and dirt (left) to clean and w/o wear (right)

Adjustable parameters allow for color, roughness, and dirt variations showing the range capabilities of the shader in UE from a lot of weathering and dirt (left) to clean and w/o wear (right)

Isolated individual layer buildup

Isolated individual layer buildup

Neutral lookdev lighting setup with 3 rect lights and a HDRI

Neutral lookdev lighting setup with 3 rect lights and a HDRI

Using UDIM for masking in UE. Primary, secondary, tertiary color and metals materials are tagged in Blender then used to offset the UVs

Using UDIM for masking in UE. Primary, secondary, tertiary color and metals materials are tagged in Blender then used to offset the UVs

Experimenting on baking AO, curvature and dirt into various channels of the vertex color to drive dirt and grime texture in UE

Experimenting on baking AO, curvature and dirt into various channels of the vertex color to drive dirt and grime texture in UE

Material Instance with exposed parameters. Controls for color, gradient, hue shift, dirt, and vertex color intensities

Material Instance with exposed parameters. Controls for color, gradient, hue shift, dirt, and vertex color intensities

MF_VertexBlend is a Material Function that uses world position to create a hue shift gradient then blends it the Color using the AO and Curvature vertex colors as masks to add on the dirt.

MF_VertexBlend is a Material Function that uses world position to create a hue shift gradient then blends it the Color using the AO and Curvature vertex colors as masks to add on the dirt.

Vertex Color extraction and remapping curvature for mask (top). Tri-planar dirt mask control (left). UDIM masking (bottom right).

Vertex Color extraction and remapping curvature for mask (top). Tri-planar dirt mask control (left). UDIM masking (bottom right).

Primary, Secondary, and Tertiary colors are blended together using a MF_VertexBlend Material Function (above) to add dirt, edge damage, and a gradient for variations.

Primary, Secondary, and Tertiary colors are blended together using a MF_VertexBlend Material Function (above) to add dirt, edge damage, and a gradient for variations.