# substance-3d-texturing

Скилл для работы с Substance 3D Painter: помогает писать PBR-материалы, выгружать текстуры под Three.js, Babylon.js, Unity и Unreal и автоматизировать экспорт через Python API.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2400 установок · ★ 1133
- Автор: freshtechbro
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/freshtechbro/claudedesignskills/tree/HEAD/plugins/bundles/authoring-motion/skills/substance-3d-texturing/SKILL.md
- Обновлён: 2025-11-20
- HTML: https://affpapa.org/nevibecode/skills/substance-3d-texturing

## Что делает

Скилл описывает пайплайн metallic/roughness: какие каналы нужны для материала (baseColor, normal, metallic, roughness, AO, height, emissive, opacity) и как они упаковываются в файлы при экспорте. Для веба базовый вариант — пресет PBR Metallic Roughness, из него получаются `MyAsset_baseColor.png`, `MyAsset_normal.png` и общий `MyAsset_metallicRoughness.png`, где roughness лежит в зелёном канале, а metallic в синем.

Кроме ручного экспорта через File → Export Textures есть автоматизация на Python API Substance Painter: скрипт собирает конфиг с путём выгрузки, форматом PNG 8-bit, паддингом infinite и `sizeLog2`, обходит все texture sets и вызывает `export_project_textures`. Разрешение можно переопределить для отдельных ассетов — герою 2048, фоновому пропу 512. Есть и пример кастомного пресета, который выгружает metallic и roughness отдельными файлами вместо упакованного.

Скилл советует начинать с 1024×1024 и поднимать разрешение только там, где детали текстуры реально видны. Для веб-движков это разумная точка отсчёта: 4096 на фоновом пропе съест память и время загрузки, а разницы на экране не будет. Текст скилла обрезан, так что часть примеров кастомных пресетов в него не попала.

## Требования
- Работает с: Unity, Unreal Engine

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add freshtechbro/claudedesignskills --skill substance-3d-texturing -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/substance-3d-texturing/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/substance-3d-texturing/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add freshtechbro/claudedesignskills --skill substance-3d-texturing -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/substance-3d-texturing/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add freshtechbro/claudedesignskills --skill substance-3d-texturing -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/substance-3d-texturing/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install freshtechbro/claudedesignskills substance-3d-texturing
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/substance-3d-texturing/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add freshtechbro/claudedesignskills --skill substance-3d-texturing -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/freshtechbro/claudedesignskills --path plugins/bundles/authoring-motion/skills/substance-3d-texturing
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/substance-3d-texturing/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add freshtechbro/claudedesignskills --skill substance-3d-texturing -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/freshtechbro/claudedesignskills/tree/HEAD/plugins/bundles/authoring-motion/skills/substance-3d-texturing/SKILL.md

## Когда брать
- собрать PBR-материал для игрового или веб-ассета
- выгрузить текстуры из Substance 3D Painter под Three.js или Babylon.js
- написать скрипт на Python API для пакетного экспорта
- подобрать разрешение текстуры под конкретный ассет
- сделать кастомный пресет с раздельными картами metallic и roughness

## Примеры запросов агенту
- Собери PBR-материал для этого ассета и выгрузи текстуры под Three.js
- Напиши скрипт на Python API Substance Painter для пакетного экспорта всех texture sets в 1024
- Сделай кастомный пресет, где metallic и roughness идут отдельными файлами

## Похожие
- [3d-high-resolution-textures](https://affpapa.org/nevibecode/skills/3d-high-resolution-textures.md) — скилл · 508 установок
- [threejs-image-generator](https://affpapa.org/nevibecode/skills/threejs-image-generator.md) — скилл · 2900 установок
- [scenario-textures](https://affpapa.org/nevibecode/skills/scenario-textures.md) — скилл · 500 установок
- [scenario-blender-texturing-shading](https://affpapa.org/nevibecode/skills/scenario-blender-texturing-shading.md) — скилл · 430 установок
- [level-design](https://affpapa.org/nevibecode/skills/level-design.md) — скилл · 7800 установок
- [performance-optimization](https://affpapa.org/nevibecode/skills/gamedev-skills-performance-optimization.md) — скилл · 7400 установок

Из того же набора: [freshtechbro/claudedesignskills](https://affpapa.org/nevibecode/by/freshtechbro/claudedesignskills.md) — 22 карточки

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
