npx skills add ...
npx skills add freshtechbro/claudedesignskills --skill substance-3d-texturing
Comprehensive skill for Adobe Substance 3D Painter texturing and material creation workflow. Use this skill when creating PBR materials, exporting textures for web/game engines, optimizing 3D assets for real-time rendering, or automating texture workflows. Triggers on tasks involving Substance 3D Painter, PBR texturing, material creation, texture export for Three.js, Babylon.js, Unity, Unreal, glTF optimization, or Python API automation. Creates optimized textures for threejs-webgl, react-three-fiber, and babylonjs-engine materials.
npx skills add freshtechbro/claudedesignskills --skill substance-3d-texturing
Master PBR (Physically Based Rendering) texture creation and export workflows for web and real-time engines. This skill covers Substance 3D Painter workflows from material creation through web-optimized texture export, with Python automation for batch processing and integration with WebGL/WebGPU engines.
Key capabilities:
Substance 3D Painter uses the metallic/roughness PBR workflow with these core channels:
Base Texture Maps:
baseColor (Albedo) - RGB diffuse color, no lighting informationnormal - RGB normal map (tangent space)metallic - Grayscale metalness (0 = dielectric, 1 = metal)roughness - Grayscale surface roughness (0 = smooth/glossy, 1 = rough/matte)Additional Maps:
ambientOcclusion (AO) - Grayscale cavity/occlusionheight - Grayscale displacement/heightemissive - RGB self-illuminationopacity - Grayscale transparencySubstance 3D Painter includes built-in export presets for common engines:
For web engines, PBR Metallic Roughness is the universal standard.
Common resolutions for web (powers of 2):
Web optimization rule: Start at 1024×1024, scale up only when texture detail is visible.
Manual export workflow for single texture set:
Steps:
Result files:
Three.js usage:
Automate export for multiple texture sets:
Export different resolutions for different assets (e.g., hero vs. background):
Create custom preset to export metallic and roughness as separate files:
Aggressive compression for mobile WebGL:
Post-export: Use tools like pngquant or tinypng for further compression.
Export textures for glTF 2.0 format:
Auto-export on save using Python plugin:
Use exported textures in R3F:
See react-three-fiber skill for advanced R3F material workflows.
See babylonjs-engine skill for advanced PBR workflows.
.gltf JSONgltf-pipeline for Draco compression:See blender-web-pipeline skill for complete 3D asset pipeline.
Desktop WebGL: ~100-150MB total texture memory Mobile WebGL: ~30-50MB total texture memory
Budget per asset:
.basis) - GPU texture compression (90% smaller)Pack grayscale maps into RGB channels to reduce texture count:
Packed ORM (Occlusion-Roughness-Metallic):
Export in Substance:
Always enable mipmaps in engine for textures viewed at distance:
Problem: BaseColor exported in linear space looks washed out.
Solution: Substance exports baseColor in sRGB by default (correct). Ensure engine uses sRGB:
Problem: Normal maps show inverted or incorrect shading.
Solution:
Problem: Metallic/roughness texture has swapped channels.
Solution: Default Substance export:
Problem: Black or colored lines appear at UV seams.
Solution: Set padding algorithm to "infinite" in export settings:
Problem: 4K textures cause long load times and memory issues on web.
Solution:
Problem: AO map exported but not visible in engine.
Solution:
geometry.attributes.uv2)material.useAmbientOcclusionFromMetallicTextureRed = trueSee bundled resources for complete workflows: