assetlisted
Install: claude install-skill snwlee/Nereus
# asset
nereus:common 규칙을 따른다. 담당 에이전트: art-director.
**엔진과 무관하다** — 반입 직전까지가 이 스킬의 범위다.
## 0. 먼저 전제를 확인한다
```bash
node plugins/nereus-game/lib/asset-doctor.mjs
```
단계별로 무엇이 없어서 막히는지 찍는다(`assetDoctor()`).
| 단계 | 전제 |
|---|---|
| 3d | `blender` 가 PATH 에 |
| 2d | `COMFYUI_URL` 환경변수 |
| audio | `ELEVENLABS_API_KEY` 환경변수 |
**없다고 실패가 아니다.** 막힌 단계를 알고 대체 경로(4번)로 가거나 태스크로 남긴다.
## 원칙: 생성물은 그대로 게임에 못 들어간다
생성 모델의 출력은 **중간재**다. 경유 없이 넣으면 폴리곤이 터지거나 스케일이 틀리거나 UV 가 깨진다.
각 계열마다 정해진 경유지가 있고, 건너뛰지 않는다.
## 1. 3D — 생성 → **반드시 Blender** → 엔진
```
TRELLIS / PartCrafter → Blender MCP → 엔진
(메시 생성) (리토폴로지·UV·스케일 정규화·포맷 변환)
```
- **PartCrafter 를 기본으로 본다.** 통짜 메시는 장비 교체도 파괴 표현도 리깅도 안 된다.
게임 에셋은 부위가 분리돼 있어야 한다.
- PBR 머티리얼이 필요하면 Hunyuan3D 계열을 보되, 라이선스가 표준 OSS 가 아니므로 상용 전 조항을 확인한다.
- Blender 단계에서 반드시 하는 것: 폴리곤 예산 맞추기, UV 확인, **스케일 1 단위 = 1 미터로 정규화**,
원점을 발밑·중심 중 규칙대로, 엔진 포맷으로 내보내기.
- 스케일 정규화를 건너뛰면 엔진에서 물리·충돌·카메라가 전부 어긋난다. 가장 흔한 사고다.
## 2. 2D — 워크플로를 고정해서 생성한다
```
ComfyUI (워크플로 JSON 고정) → Pixelorama / 후처리 → 엔진
```
- **워크플로를 JSON 으로 고정한다.** 같은 입력에 같은 출력이 나와야 에셋을 재생성할 수 있고,
스타일이 흔들리지 않는다. 프롬프트만 바꿔 매번 다른 결과를 내면 에셋 세트가 아니라 잡동사니가 된다.
- 후처리에서 하는 것: 팔레트 고정, 투명 배경 정리, 스프라이트 시트 패킹, 피벗 지정.
- 타일셋은 **이음새를 먼저 정의하고** 생성한다. 생성 후 이음새를 맞추는 것은 거의 불가능하다.
## 3. 오디오
| 종류 | 도구 | 비고 |
|---|---|---|
| 보이스 · SFX | ElevenLabs **호스티드 MCP** | OAuth, 로컬 설치 없음. 로컬 MCP 는 폐기됐다 |
| BGM | YuE (로컬) | Apache-2.0. VRAM 요구가 높아 실구동은 사전 확인이 필요하다 |
- 루프 BGM 은 **루프 지점을 먼저 정하고** 만든다. 나중에 자르면 박자가 어긋난다.
- SF