Chapter 1: Fabric ID Swatch Boards for Handoff
Created by Sarah Choi (prompt writer using ChatGPT)
Fabric ID Swatch Boards for Handoff
Purpose and Audience
Fabric ID swatch boards are the translation layer between costume concept intent and production reality. They make your fabrics computable. The goal is to let downstream artists (look‑dev, surfacing, material authors, shader TDs, and costume builders) rebuild the textile’s light response quickly and consistently in a PBR workflow. This article serves both sides of the concept pipeline:
- Concepting side: communicate visual targets early (shape language + textile read) with just enough physics to be unambiguous.
- Production side: receive a package that includes reference, scale, and parameter scaffolding so materials can be authored with minimal guesswork.
The Swatch Board in One Sentence
A Fabric ID swatch board is a single page (or spread) that pairs visual evidence (photos, micro‑photos, directional and raking light shots), PBR‑leaning metadata (scale, weave direction, warp/weft), and starter parameter dials (roughness, sheen, anisotropy) under a stable Material ID name and color.
Why Material IDs Matter
Material IDs are the canonical names for materials used across the project. They:
- prevent synonym drift (e.g., “charcoal suiting wool” vs “dark heather gabardine”),
- anchor texture sets and shader presets, and
- enable search, batching, LOD/redress swaps, and reuse.
A good ID is short, unique, and scalable.
- Format: MAT_FAB_[FAMILY]_[WEAVE/FEATURE]_[COLOR/TONAL]_v###
- Example: MAT_FAB_WOOL_TWILL_CHARCOAL_v003
- ID Color: Assign a flat swatch color purely for masking/selection in paint apps or DCCs. It is not the albedo.
PBR Basics for Textiles (Concept‑Friendly)
Most production uses a metal/rough workflow. For cloth:
- Metallic ≈ 0.0 (unless deliberate metallic yarns/foils).
- Base Color / Albedo: the pigment you’d see under white light without shading.
- Roughness: the width of the diffuse/specular microfacet distribution (lower = sharper reflections; higher = chalky/flat).
- Normal/Height: perceived thread topography and quilting/pressed relief.
- AO: subtle self‑shadowing in crevices; avoid baking lighting into albedo.
- Opacity: for voile, lace, meshes; may include double‑sided shading.
Textile‑specific lobes many engines support:
- Sheen: a grazing‑angle energy that simulates fiber tip scatter (the soft halo on wool, fleece, peachskin). Often controlled by sheen and sheen tint.
- Anisotropy: directional highlight stretch aligned to warp/weft or knit direction. Think satin’s elongated specular streaks.
- Subsurface / Scatter (optional): thin fabrics backlit at edges.
- Fuzz/Hair (optional): a micro‑shell lobe for pile/nap (velvet, brushed cotton).
The Three Big Dials: Roughness, Sheen, Anisotropy
Roughness drives overall “matte vs gloss” and how quickly highlights bloom.
- Heuristic: denim 0.55–0.70; wool suiting 0.45–0.60; satin 0.15–0.30; patent/PU 0.02–0.08; oily leather 0.10–0.20; cotton poplin 0.55–0.65.
- Notes: roughness often varies by angle on textiles; avoid perfectly uniform values—use a subtle roughness map.
Sheen adds the soft rim on fuzzy/fibered cloth.
- Use for: wool, cashmere, fleece, some knits, microsuede, velvet (in tandem with anisotropy & fuzz).
- Pitfall: over‑sheen makes everything look soapy; clamp and test at grazing angles.
Anisotropy controls highlight stretch and its direction.
- Use for: satin, shantung, organza, moiré taffeta, carbon weave, rib knits.
- Orientation: align to warp direction (or knit wale). Provide a visible orientation guide on the board.
- Anisotropy Level: satin 0.6–0.9; shantung 0.4–0.7; wool twill 0.1–0.2; jersey 0.1–0.3.
What Goes on a Fabric ID Swatch Board
1) Identity & Scope
- Material ID name, ID color chip, owning costume, and usage zones (e.g., “Jacket body only; lapel facings variant v002”).
- Legal/source: vendor link or label, purchase date, lot/dye batch if known.
2) Scale & Orientation
- A metric ruler overlay (10–50 mm band) and a coin/card for familiar scale.
- Warp/Weft arrows (or Knit: wale/course). Mark bias at 45°.
- Tile size target (e.g., 20–40 cm) to prevent repetition.
3) Photographic Evidence (same fabric, same sample)
- Color‑true flat under calibrated neutral light (D65 or well‑characterized LED), white balance card visible at edge.
- Raking light (low‑angle) to reveal texture.
- Specular pass with a small hard light to read highlight shape.
- Backlight pass for translucency/SSS potential.
- Macro/micro (5–20×) of weave/knit/pile to see yarn twist and slub.
4) Parameter Scaffold (Starter Values)
- Roughness (mean + range), Sheen (0–1), Sheen Tint (RGB/HSV), Anisotropy (0–1), Anisotropy Angle (relative to warp), Normal strength (suggested), AO intensity (subtle), Opacity note.
- Optional: IOR hint (1.45–1.55 for most fibers), Fuzz on/off.
5) Maps & Tiles (if available)
- Albedo swatch tile (no AO/lighting), Roughness tile, Normal tile (or Height), ID mask color.
- 100% scale indicator on each tile; note intended texel density (e.g., 512 px per 10 cm at LOD0).
6) Behavior Notes
- How the fabric reads at folds vs flats (roughness drops on tension ridges, rises in compression valleys).
- Nap direction (velvet, suede): show arrows and flip test.
- Wear trajectory: where will polish, fuzzing, pilling, oiling appear?
Capturing for Consistency (Quick Field Method)
- Light: one broad neutral key (softbox) + one small hard kicker for highlight tests. Kill color casts (no green walls). Note the light distance/angle.
- White Balance: include a grey card. Shoot RAW if possible.
- Lock Scale: tape a mini metric ruler to the table; never move it mid session.
- Bracket: expose a mid target and ±1 EV for safety; pick the neutral in post.
- Macro Pass: use a phone macro lens or loupe; show 5–10 mm of weave repeat.
- Angle Sweep: 0°, 30°, 60° incidence to read roughness and sheen.
- Backlight: lift swatch; shoot against a light pad to check translucency.
Converting Concept Language to Parameters
- “Dusty‑matte suiting” → Roughness ~0.60, Sheen 0.10, Aniso 0.10.
- “Satin with long streaks” → Roughness ~0.20, Sheen 0.15, Aniso 0.80, angle = warp.
- “Velvet with nap flips” → Roughness ~0.35 (map‑driven), Sheen 0.25, Fuzz on, Aniso 0.40, Nap vector marked.
- “Crisp poplin shirt” → Roughness ~0.58, Sheen 0.05, Aniso 0.10, thin‑SSS slight at edges.
- “Oiled leather” (textile adjacent) → Roughness ~0.12–0.18, Sheen low, clear spec lobes.
Roughness, Sheen, Anisotropy: Textile Families
Woolens (twill, flannel, melton): R 0.45–0.60; Sheen 0.10–0.25; Aniso 0.05–0.15. Soft rim; subtle direction from fulling/press.
Cottons (poplin, twill, denim): R 0.55–0.70; Sheen 0.02–0.10; Aniso 0.05–0.15. Denim adds local polish at stress points.
Silks & Synthetics (satin, taffeta, organza): R 0.15–0.35; Sheen 0.05–0.20; Aniso 0.5–0.9. Strong highlight stretch; watch moiré.
Knits (jersey, rib, interlock): R 0.45–0.65; Sheen 0.05–0.15; Aniso 0.1–0.3 along wale. Adds deformation‑driven roughness.
Piles & Napped (velvet, suede, corduroy, fleece): R 0.30–0.55; Sheen 0.15–0.35; Aniso 0.2–0.6 along nap/rib; flip with stroke.
For Concept Artists (Upstream) — Minimum Viable Board
- One calibrated flat, one raking, one specular test, one macro.
- Named ID + family, color intent (albedo chip + LAB/HSV if known), scale ruler.
- Starter dials (Roughness, Sheen, Aniso) with a 10% band above/below.
- Usage notes: where this fabric exists on the costume; LOD swap if any.
- If time allows: a tile candidate and a nap/warp arrow overlay.
Benefit: enables look‑dev to block a shader in hours, not days.
For Production Artists (Downstream) — Nice‑to‑Haves
- Clean 8‑bit sRGB albedo tile (no baked light), 16‑bit normal and roughness maps.
- UDIM/Trim plan if part of a shared atlas (e.g., uniform kits).
- Texel density per garment zone by LOD (e.g., 1024 px/10 cm torso LOD0; 256 px/10 cm LOD2).
- Engine profile screenshot (same HDRI, same light rig) showing the fabric next to a reference sphere stack (matte grey 0.18, chrome, white).
- Variant table: sweat‑polished, dusty, muddied, blood‑wicked (only if story‑relevant), each with roughness deltas.
Color Management Notes (Brief)
- Work in linear where required, sRGB for albedo storage unless your studio standard differs.
- Avoid baked AO or lighting in albedo; keep AO separate.
- If a dye batch is critical, capture a spectrophotometer read if available; otherwise note LAB from a calibrated sample.
Direction, Nap, and Anisotropy Angle
- Place a compass overlay (0–360°) on the swatch photo; mark warp = 0° reference.
- Provide a vector arrow for anisotropy orientation and a short caption: “Set anisotropy_angle to 0° (warp). Bias at 45° for panels cut on bias.”
- For velvet/suede: show two photos stroked up vs down; include a note: “Flip normal Y and retint sheen for nap flip variant if engine supports.”
Edge Cases & How to Board Them
- Sequins/Beads: treat as a separate hardware or FX material with a tiled mask for density and a per‑bead BRDF (metal/spec). Keep cloth base as its own Fabric ID.
- Lace/Net: supply opacity/alpha and a scale‑locked repeat; include backlight proof.
- Moiré risks (taffeta, fine herringbone): warn about minification and propose a mip bias or slightly softened normal to avoid shimmer.
- Stretch knits: include a second set of captures under tension to show roughness and highlight changes at 5–10% stretch.
Troubleshooting “Why Doesn’t It Look Right?”
- Too plastic: roughness too low; sheen too high; check IOR; add micro‑roughness noise.
- Too flat/chalky: roughness too high; add sheen rim; ensure normal map amplitude isn’t crushed by tonemapper.
- Wrong directionality: anisotropy angle misaligned; rotate 90° or match warp arrow.
- Color drift: white balance off; re‑shoot with grey card; verify gamma.
- Tile repetition: increase tile size; add a second detail normal; break pattern with dirt/wear masks.
Handoff Checklist (Copy/Paste)
Identity
- Material ID + ID color chip
- Family (wool/cotton/silk/synthetic/knit/pile) and weave/knit type
- Usage zones on costume; variant names and intent
Scale & Orientation
- Ruler visible; warp/weft (or wale/course) arrows; bias marked
- Target tile size and intended texel density per LOD
Photography
- Calibrated flat (with grey card), raking, specular test, macro/micro
- Backlight pass (if translucent) and nap direction (if applicable)
Parameters (starter values)
- Roughness mean + range; Sheen & Sheen Tint
- Anisotropy level + angle; Normal strength; AO note
- Metallic (usually 0); Opacity rule; optional IOR/fuzz
Maps & Files
- Albedo (no baked light); Roughness; Normal/Height; optional AO/Opacity
- Tiles at 100% scale; filename convention; version number
Validation
- Engine screenshot vs reference spheres; HDRI/light rig name
- Notes on wear/aging deltas (if story‑relevant)
Provenance
- Vendor/source, dye lot if known, purchase date, legal clearance
Example: Building One Board in 20 Minutes (Concept Pass)
- Tape ruler and grey card; lay fabric flat; set a neutral light.
- Shoot flat, raking, specular, macro; shoot a quick backlight.
- Pick best exposures; white‑balance once; export JPGs.
- In your template, drop photos, draw warp/weft arrows, add scale labels.
- Enter starter dials: R 0.58 ±0.08, Sheen 0.08, Aniso 0.12 @ 0°.
- Save as MAT_FAB_COTTON_POPLIN_OFFWHITE_v001_board.pdf.
Working With Shader/Engine Profiles
- Keep a calibration scene: neutral HDRI, a key light at 45°, a cloth drape mesh, a sphere stack. Every board’s parameters should be validated here before handoff.
- Log the tonemapper/exposure curve; roughness reads shift under different curves.
- Document engine‑specific flags (double‑sided, thin SSS, cloth shading model).
Production Maintenance & Versioning
- Increment v### only when albedo/roughness/aniso/angle changes materially.
- Record what changed in a one‑line changelog on the board.
- Deprecate old IDs by aliasing them to the new canonical entry in your library.
Final Notes for Teams
A clear Fabric ID swatch board reduces meetings, stabilizes look across shots and LODs, and speeds up iteration. Treat the board as a contract: the concept intent, the physical sample, and the shader parameters must agree. If you keep the three big dials—roughness, sheen, anisotropy—front and center, most textiles will land quickly and read believably in engine.