Skip to main content
skill CX Codex

atlas-uv-fitting — Claude Code skill: what it does, how to install

Detects texture atlas regions and fits each model part to its own UV rectangle in Blender. Helpful for fixing stretched textures and preparing clean GLB exports.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add RobLe3/cc-blender-skill --skill atlas-uv-fitting -a claude-code
Open on GitHub

What atlas-uv-fitting does

This skill guides agents through mapping multi-part texture sheets onto 3D geometry in Blender. It starts by detecting regions on base color or decal maps via scripts/atlas_region_detector.py and storing them in atlas_regions.json. The agent pairs structural parts to single regions using atlas_part_map.json. Local UV coordinates then remap directly into corresponding atlas rectangles.

Execution relies entirely on a configured Blender MCP server. Material setups are audited for glTF compatibility, keeping normal, roughness, and lightmap textures set to Non-Color. Alpha decals stay wired to transparency rather than black backing planes. Without an active Blender MCP connection, the skill cannot inspect scene objects or run Python scripts.

What it helps with

  • map individual texture atlas regions to matching mesh components
  • resolve stretched UV projections on front-facing and side surfaces
  • configure alpha decal materials cleanly without black backing polygons
  • sanitize supplemental roughness and bump maps before GLB export

Example prompts for the agent

  • Run scripts/atlas_region_detector.py on the hero character atlas and create atlas_regions.json
  • Remap the front face UV islands to match the detected atlas region for the mascot
  • Verify the Blender material node graph and switch all roughness and normal textures to Non-Color

How to install atlas-uv-fitting

1Skills CLI (Vercel)

npx skills add RobLe3/cc-blender-skill --skill atlas-uv-fitting -a claude-code

2Manually: put the files in place

~/.claude/skills/atlas-uv-fitting/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/atlas-uv-fitting/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about atlas-uv-fitting

How to install atlas-uv-fitting in Claude Code?

Run npx skills add RobLe3/cc-blender-skill --skill atlas-uv-fitting -a claude-code. The skill file saves to ~/.claude/skills/atlas-uv-fitting/SKILL.md.

What does atlas-uv-fitting do?

It stops agents from stretching an entire texture atlas across every mesh part. It isolates texture regions and maps individual parts to their own UV rectangles.

What prerequisites does the skill have?

It requires an active Blender MCP backend with tool execution permissions, alongside the Python helper scripts provided in the repository.

Source text

SKILL.md · MIT
---
name: atlas-uv-fitting
description: Detect texture-atlas regions and map each source part to its own UV rectangle or projected UV surface. Use when a texture pack must fit a Blender model 1:1, when textures look off/stretched, when alpha decals or lightmaps are provided, or before exporting a textured GLB for a brand mascot/logo.
allowed-tools: Read Bash Glob Grep mcp__blender__execute_blender_code mcp__blender__get_object_info mcp__blender__get_objects_summary mcp__blender__get_object_detail_summary mcp__blender__render_viewport_to_path mcp__blender__search_api_docs mcp__blender_official__execute_blender_code mcp__blender_official__get_objects_summary mcp__blender_official__get_object_detail_summary mcp__blender_official__render_viewport_to_path mcp__blender_official__search_api_docs
---


## MCP backend

Use when: Texture atlas region detection, per-part UV mapping, front-projected UVs, decal/lightmap handling, texture validation against source templates.

Before the first Blender call, read [../text-to-blender/references/mcp-backends.md](../text-to-blender/references/mcp-backends.md). Prefer official MCP for shared capabilities; preserve the selected backend for the whole task. Tool names in recipes are client/legacy examples: map them through that reference and its agent-host guide.
# Atlas UV Fitting

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.

## 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.

## 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.

## 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.


## 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.

## 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.

© RobLe3 · MIT · RobLe3/cc-blender-skill

Similar skills

Everything for Game dev and 3D: Unity, Unreal, Godot, Blender →

From the same set28

contour-to-mesh Builds a Blender mesh straight from a contour or mask instead of approximate primitives. Useful when the silhouette has to match a front template exactly. CX Codex +1 788installs orthographic-registration Registers front, side, back and top orthographic references into one Blender coordinate contract. Useful when the front reads fine but side and back silhouettes drift. CX Codex +1 786installs multiview-fit-loop Runs a render-compare-adjust loop until a Blender model matches supplied front, side, back and top templates across all dimensions. CX Codex +1 784installs wireframe-to-3d Turns orthographic wireframe PNGs into a Blender 3D model and exports it as .glb. Useful when you have front and side views but no mesh yet. CX Codex +1 787installs fit-repair-optimizer Converts Blender multiview validation failures into a structured repair queue against source templates. It coordinates geometry, UV, and lighting fixes. CX Codex +1 735installs closed-surface-uv-coverage Audit Blender models to ensure rear caps and sidewalls have true UV coverage instead of floating overlays. Ideal for turntable QA on 3D assets. CX Codex +1 728installs multiview-constraint-solver Checks whether front, side, back and top orthographic references can fit one rigid Blender model, then picks a canonical source policy before you rebuild. CX Codex +1 737installs texture-driven-mesh-fitting Reshapes 3D mesh boundaries to match texture-atlas or decal silhouettes 1:1 in Blender before material passes. Essential when models do not match their source art. CX Codex +1 718installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor