atlas-uv-fitting

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Atlas UV Fitting

图集UV适配

This skill exists because assigning a texture material is not the same as fitting a texture.
本技能的存在是因为分配纹理材质与适配纹理并非同一回事。

Supplemental map sanity rule

补充贴图合理性规则

Do not blindly wire emissive/roughness/bump/lightmap images into every atlas-mapped part. First verify the supplemental map has the same UV layout and semantic region as the basecolor. If it contains aura dots, guide marks, lightmap blobs, or decorations outside the part, leave it disconnected for that mesh and use constant roughness/bump plus explicit edge/glow geometry instead.
不要盲目将自发光/粗糙度/凹凸/光照贴图连接到每个图集映射部件。首先验证补充贴图是否与基础色贴图具有相同的UV布局和语义区域。如果它包含光环点、引导标记、光照贴图块或部件外部的装饰元素,则该网格体不要连接此贴图,改用恒定粗糙度/凹凸值加上显式边缘/发光几何体替代。

Hard rules

硬性规则

  • Atlas textures must be mapped by region; never apply the full atlas to every structural mesh.
  • Front-facing hero surfaces use front-projected UVs or a source-region rectangle.
  • Side/back surfaces use their own UV islands or procedural/baked fills.
  • Roughness, bump, normal, AO, and lightmap images are
    Non-Color
    .
  • Alpha decals must use alpha-connected materials and no black backing planes.
  • Base GLB should not include reference planes or optional aura unless explicitly requested.
  • 纹理图集必须按区域映射;切勿将完整图集应用于每个结构网格体。
  • 正面核心表面使用正面投影UV或源区域矩形。
  • 侧面/背面表面使用各自的UV岛或程序化/烘焙填充。
  • 粗糙度、凹凸、法线、环境光遮蔽(AO)和光照贴图均为
    Non-Color
    类型。
  • Alpha贴花必须使用连接alpha通道的材质,且不能有黑色背景平面。
  • 基础GLB文件不应包含参考平面或可选光环,除非有明确要求。

Workflow

工作流

  1. Run
    scripts/atlas_region_detector.py
    on basecolor/decal/aura atlases.
  2. Name regions semantically in
    atlas_regions.json
    .
  3. Create/activate UV map per mesh.
  4. Remap local 0-1 UVs into the matching atlas rectangle.
  5. Audit the GLB/export material node graph: Principled BSDF + Image Texture nodes.
  6. Render texture overlay validation before export.
  1. 在基础色/贴花/光环图集上运行
    scripts/atlas_region_detector.py
    脚本。
  2. atlas_regions.json
    中为区域赋予语义化名称。
  3. 为每个网格体创建/激活UV映射。
  4. 将本地0-1范围的UV重新映射到匹配的图集矩形区域。
  5. 审核GLB导出的材质节点图:确保使用Principled BSDF + 图像纹理节点。
  6. 导出前渲染纹理叠加层进行验证。

Sources distilled

核心要点提炼

  • Blender UV/Image Texture node uses UV maps for rendered/exported texture output.
  • Blender baking needs UV maps and active image targets.
  • Blender glTF exporter is most reliable with Principled BSDF, UVs, textures, normals.
  • Khronos glTF PBR: base color, metallic/roughness, normal maps are standard channels.
  • Blender的UV/图像纹理节点使用UV映射来生成渲染/导出的纹理输出。
  • Blender烘焙需要UV映射和激活的图像目标。
  • Blender的glTF导出器在搭配Principled BSDF、UV映射、纹理和法线时可靠性最高。
  • Khronos glTF PBR规范:基础色、金属度/粗糙度、法线贴图是标准通道。

Semantic atlas mapping

语义化图集映射

Region detection is only a candidate list. For source-locked work, create an
atlas_part_map.json
that binds each structural part name to exactly one atlas region or declares
procedural/no_texture
.
Mapping order:
  1. Detect candidate regions from basecolor/decal/lightmap.
  2. Reject decorative/aura/composite-preview regions unless the target is context/aura.
  3. Match structural parts by role, aspect ratio, and relative size.
  4. Manually rename ambiguous regions before automated UV assignment.
  5. Verify supplemental maps share the same region layout before connecting roughness/bump/emission/lightmap.
Do not map a full rosette/composite atlas region onto individual petals unless the mesh is a single rosette sheet. Individual meshes need individual source regions.
区域检测仅提供候选列表。对于源锁定的工作,创建
atlas_part_map.json
文件,将每个结构部件名称绑定到恰好一个图集区域,或声明为
procedural/no_texture
(程序化/无纹理)。
映射顺序:
  1. 从基础色/贴花/光照贴图中检测候选区域。
  2. 排除装饰/光环/合成预览区域,除非目标是背景/光环。
  3. 根据角色、宽高比和相对大小匹配结构部件。
  4. 在自动分配UV前手动重命名模糊区域。
  5. 在连接粗糙度/凹凸/自发光/光照贴图前,验证补充贴图是否共享相同的区域布局。
除非网格体是单个莲座状面片,否则不要将完整的莲座/合成图集区域映射到单个花瓣上。单个网格体需要单独的源区域。

Additional script

附加脚本

  • scripts/atlas_region_mapper.py
    proposes part→atlas-region mappings using aspect/size similarity. Treat output as a draft; semantic names still win.
  • scripts/atlas_region_mapper.py
    脚本会根据宽高比/尺寸相似度提出部件→图集区域的映射建议。将输出视为草稿;语义化名称仍优先。