Website powered by

Dungeon Entrance - Environment Art Breakdown

This project started with a specific technical question: how do you texture massive assets without sacrificing quality or performance?

Large scale environments present unique challenges that standard unique UV workflows can't solve efficiently. So i researched about layered material and RGBA mask workflow.

The pipeline I developed:
Massive assets use dual UV channels - UV0 for unique bakes capturing macro detail, AO, and cavity per asset. UV1 for tiled textures at consistent 1024/m texel density providing micro surface detail at any scale. ZBrush sculpts baked to normal maps handle sculpted details and variation without texture resolution limits.

Materials are driven by curvature-generated RGBA masks, blended with a vertex paint system, and integrated with the landscape via a custom RVT material function. A biome instance hierarchy allows single-click environment variation across standard and snow variants - every child asset updates simultaneously.

Technical systems:

Dual UV pipeline — unique bake + tiled detail
RGBA curvature-driven material masks
Custom RVT landscape blend function
Triplanar projection with mesh-scale compensation
Biome material instance hierarchy
HISM optimization
Source control using Perforce (P4V)

To achieve consistent texel density across all assets, I used a dual UV channel setup. I used UV Channel 0 for unique normal maps and RGB masks, and UV Channel 1 to set a strict texel density of 1024px/m for all assets.

To achieve consistent texel density across all assets, I used a dual UV channel setup. I used UV Channel 0 for unique normal maps and RGB masks, and UV Channel 1 to set a strict texel density of 1024px/m for all assets.

Asset zoo

Asset zoo

I used RGBA masks with a layered material system to texture large assets, achieving a 1024px/m texel density using tileable textures.

I used RGBA masks with a layered material system to texture large assets, achieving a 1024px/m texel density using tileable textures.

Created a Biome Parent Material Instance to have global control of the snow effect, deriving all asset instances from it.

Created a Biome Parent Material Instance to have global control of the snow effect, deriving all asset instances from it.

To handle the winter transition, I created a Z-axis projection shader that gives me precise control over the starting height and falloff of the snow, which can all be updated instantly across the scene using a Biome Parent Instance.

To handle the winter transition, I created a Z-axis projection shader that gives me precise control over the starting height and falloff of the snow, which can all be updated instantly across the scene using a Biome Parent Instance.

I mapped the large assets to a 4x4m UV grid for the tileable textures, and then displaced and decimated the meshes in ZBrush while preserving those UVs to get deep surface details without a high polycount.

I mapped the large assets to a 4x4m UV grid for the tileable textures, and then displaced and decimated the meshes in ZBrush while preserving those UVs to get deep surface details without a high polycount.

Targeting a laptop GTX 1650 (4GB VRAM) on High settings required strict performance profiling. I was able to cut the frame time in half and drastically reduce draw calls by batching the modular pieces into HISMs, merging small scatter assets, optimizing t

Targeting a laptop GTX 1650 (4GB VRAM) on High settings required strict performance profiling. I was able to cut the frame time in half and drastically reduce draw calls by batching the modular pieces into HISMs, merging small scatter assets, optimizing t

RVT Blending logic.

RVT Blending logic.

Triplanar mapping function with an integrated object-scale switch to automatically adjust texture tiling based on mesh bounds, preventing stretching on scaled environment assets.

Triplanar mapping function with an integrated object-scale switch to automatically adjust texture tiling based on mesh bounds, preventing stretching on scaled environment assets.

Maintained a professional Perforce (P4V) version control workflow with a structured changelist history, strict naming conventions, and disciplined submission logs throughout the environment's lifecycle.

Maintained a professional Perforce (P4V) version control workflow with a structured changelist history, strict naming conventions, and disciplined submission logs throughout the environment's lifecycle.

Progression GIF

Progression GIF