MAURICIO PORRAS
← Technical Work
Automation

Character Garment LOD Automation

A live Houdini-to-Maya bridge that generates a full clothing LOD chain using an importance-map-driven reduction, so joints, wrinkles, and silhouette survive aggressive polygon cuts.

HoudiniPythonUnreal Engine
01

Overview

This tool generates a complete Level of Detail chain — LOD 0 through LOD 4 — for clothing and garment meshes, running inside a live bridge between a procedural node-based authoring tool and the primary character-modeling application, giving artists fine-grained, feature-aware control over polygon reduction instead of relying on the engine's generic automatic decimation.

02

Challenge

The engine's built-in automatic decimation is fast but has no awareness of which mesh regions are functionally important — the joints and deformation zones on a rigged garment versus purely decorative geometry — so it degraded clothing unpredictably at higher LOD levels. Fully manual LOD authoring avoided that problem but didn't scale across a large roster of garments and produced inconsistent results between artists. The team needed something that enforced strict per-category polygon budgets while still preserving the details that actually matter on a deforming, rigged character: wrinkles, hard seams, and overall silhouette.

03

Design Goals

  • Hard polygon-count ceilings per LOD level, varying by garment category, with sensible presets plus manual override.
  • Preserve joint-deformation quality and cloth-wrinkle detail even at aggressive reduction levels.
  • Preserve silhouette as the top priority; keep shader-relevant vertex color data intact through the reduction.
  • Live, interactive feedback so an artist can scrub an LOD slider and see the result update in the viewport before committing.
  • Multiple debug visualization modes so artists can audit what the reduction algorithm is actually doing.
04

System Design

Step 01Source Garment
Step 02Priority Vertex Map
Step 03Deformation Heatmap
Step 04Weighted Reduction
Step 05LOD Chain (0-4)

The heavy computation runs in the procedural tool's engine, with results streamed live back into the character artist's modeling session through a bridge plugin — the artist never leaves their primary application.

05

Implementation

Reduction is driven by an importance map rather than uniform decimation. A dedicated vertex-color channel encodes per-vertex "keep priority." A heatmap derived from a base body mesh — aware of body typing — marks the areas around deformation-prone joints, and gets transferred onto the garment by proximity so polygon budget concentrates near joints likely to bend or stretch. Artists layer additional hard-edge and crease markers on top by hand-painting a specific vertex-color value onto areas like straps or high-curvature folds, protecting them from being smoothed away.

Small decorative elements — buttons and similar detail — are auto-detected by a size threshold and can be selectively dropped only at higher LOD levels while staying intact at LOD 0 and 1. An ambient-occlusion-style analysis identifies and culls interior or hidden faces (the inside of a sleeve, for instance), with an explicit override to retain specific interior geometry — under a short skirt, for example — for coverage reasons even when it would otherwise be culled as hidden. Curvature analysis adds a further layer of protection weighting on top of all of this.

Multiple color-coded display modes let an artist visualize exactly what's driving a given result: the raw priority vertex colors, per-piece coloring, per-UV-island coloring, the deformation heatmap itself, or a plain topology-only view, plus an exploded view that separates garment pieces spatially for isolated inspection.

Deformation heatmap driving LOD polygon priority on a garment mesh
Side-by-side LOD chain from LOD 0 through LOD 4
06

Results

The tool replaced a manual, tedious per-garment decimation process with a faster, more adaptable procedural system, preserving shader-relevant vertex data and joint-deformation quality across every LOD level — described by the team as a real shift in how the character art group approached LOD authoring, not just a one-off utility.

07

Lessons Learned

The real unlock wasn't the decimation algorithm itself — it was turning artist intent (priority, hard edges, coverage overrides) into paintable data the algorithm could directly consume. That changed "the algorithm did something wrong" from a dead end into "paint a correction and rerun," which is a dramatically faster iteration loop than fixing bad automatic output by hand after the fact.