Skip to content

rbfx/modular-assets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Modular Assets for Rebel Fork

Prewvoew

Ultimate Trim

The core concept of the content in the repository is described by the "The Ultimate Trim: Texturing Techniques of Sunset Overdrive" talk by Morten Olsen from Insomniac Games:

https://gdcvault.com/play/1022323/The-Ultimate-Trim-Texturing-Techniques

https://gdcvault.com/play/1022324/The-Ultimate-Trim-Texturing-Techniques

The trim sheet shared among assets in the repository:

Normal texture

Tooling

To install Mesh Topology Toolkit run the following command from repository folder:

dotnet tool restore

If you don't want to map models by hand you can use the following command:

dotnet trimgen box --trim-height 8 --trim-height 16 --trim-height 32 --trim-height 64 --trim-height 128 --trim-height 256 --trim-height 448 --width 1024 --bevel-width 8 --width-in-units 5 --size-x 0.46 --size-y 0.1  --size-z 0.1 --normal-map -o my-box.glb

The trim-height argument defines each trim height in pixels. The width argument defines width of the trim texture in pixels. The bevel-width argument defines max bevel width in pixels. The width-in-units argument defines how much units in world space the total trim width going to take.

USE THE SAME --trim-height, --width, --bevel-width AND --width-in-units ARGUMENTS TO GET MATCHING RESULTS!!!

Size arguments define size of the box you want to generate.

Key Details of the Method

The "Ultimate Trim" isn't just a texture; it is a workflow and layout standard. It consists of two primary components:

The Standardized Trim Layout

Instead of unique textures for every prop, the team used a specific "Trim Sheet" layout. This sheet is divided into horizontal strips (trims) of varying vertical heights.

Resolution Doubling: Each subsequent trim strip usually has roughly double the vertical resolution of the one above it.

Uniformity: Every material in the game (concrete, metal, plastic, wood) follows this exact same layout. This allows an artist to swap a "Metal" trim material for a "Wood" trim material instantly without needing to redo the UV mapping.

45-Degree Normal Map Bevels

The "Ultimate" part of the name comes from how it handles edges. The normal map for every trim strip includes a 45-degree bevel along the top and bottom edges.

When a modeler aligns the edge of a 3D mesh with these bevels on the trim sheet, the normal map "fakes" a smooth, rounded edge.

This removes the need for high-poly bakes or manually modeling expensive bevels into the geometry.

Pros

  • Drastically faster than unique baking; assets can be "textured" in minutes by snapping UVs to the grid.
  • High texture reuse; dozens of unique-looking buildings can share a single set of trim textures.
  • Eliminates "razor-sharp" low-poly edges, giving everything a high-end, polished look.
  • Materials can be hotswapped (e.g., turning a clean metal pipe into a rusty one) instantly.

Cons

  • Requires a rigid setup phase and custom tools (scripts).
  • Can lead to "repetitive" looks if not broken up by decals or secondary shaders.
  • Locked into the "bevel width" defined by the trim sheet.
  • Not ideal for organic shapes or assets requiring unique, complex weathering patterns.

License

The content of the repository is provided under CC0 license.

https://creativecommons.org/public-domain/cc0/

If you contribute to the repository you do agree that all your work also gets distributed under CC0 license.

About

Modular aAssets for Rebel Fork

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors