pbr-texture-gen

Installation
SKILL.md

PBR Texture Generation

Role

High-level asset workflow for producing physically-based texture sets that hold up under real-time lighting. This skill owns the material spec, prompting, map derivation, tiling verification, packing, and QA. It is generation-agnostic: use whatever image generation model, tool, or skill is available and best suited — if a tool with a dedicated PBR/material mode is available it will produce more coherent map sets than deriving maps locally, so prefer it; otherwise generate the base color and derive the rest with the bundled script.

Python 3 with Pillow and NumPy is required when running scripts/pbr_maps.py commands (derivation, packing, seam checks, previews). The helper reports a direct dependency error if either module is unavailable.

Map Set and Color Spaces

Getting color spaces wrong is the most common cause of washed-out or plastic-looking assets. The set, with required color space and naming:

Map Suffix Color space Rules
Base color _basecolor sRGB No baked lighting, shadows, or AO. Non-metal luminance stays roughly within 30-240 sRGB; metal areas carry the metal's reflectance color.
Normal _normal linear Tangent-space, OpenGL Y+ convention (green channel = up), which glTF and three.js use. Mostly-blue image.
ORM _orm linear Packed: R = ambient occlusion, G = roughness, B = metallic (glTF convention).
Height _height linear Optional; for parallax or displacement.
Emissive _emissive sRGB Optional; black where not emitting.
Installs
3
Repository
xikhar/atlas
GitHub Stars
6
First Seen
Jul 24, 2026