AI 에셋 생성 가이드
v1.0 | 2026-03-30
1. 개요
The Hon: Joseon의 아트/사운드 에셋은 AI 생성 파이프라인을 통해 초안을 만들고, 인간이 정제한다. 이 문서는 두 파이프라인(ComfyUI, ACE-Step)의 설정, 프롬프트 가이드, 후처리 규칙을 정의한다.
2. 인프라
| 서비스 | 주소 | 모델 | 용도 |
|---|---|---|---|
| ComfyUI | GPU PC :8188 (Tailscale) | FLUX.1 Dev UNET | 픽셀아트 스프라이트/타일셋/UI |
| ACE-Step | GPU PC :8189 (Tailscale) | ACE-Step 1.5 | BGM/SFX |
GPU PC: Windows, RTX 5090, Tailscale VPN 연결.
3. 픽셀아트 생성 (ComfyUI)
3-1. 워크플로우 파일
| 워크플로우 | 경로 | 용도 |
|---|---|---|
| pixel_character | docs/comfyui_workflows/pixel_character.json | 캐릭터 스프라이트 |
| pixel_enemy | docs/comfyui_workflows/pixel_enemy.json | 적 스프라이트 |
| pixel_boss | docs/comfyui_workflows/pixel_boss.json | 보스 스프라이트 |
| pixel_tileset | docs/comfyui_workflows/pixel_tileset.json | 타일셋 |
| pixel_effect | docs/comfyui_workflows/pixel_effect.json | 이펙트 |
| concept_art | docs/comfyui_workflows/concept_art.json | 컨셉 아트 |
3-2. 프롬프트 구조
[스타일] + [대상] + [포즈/액션] + [색상 지시] + [배경] + [제약]
예시:
pixel art sprite, 16x16, joseon exorcist character,
idle pose facing right, wearing gat hat and white dopo,
holding yellow paper talisman,
color palette: #F2B705 yellow, #1A1A2E dark background,
endesga 32 palette, no outline, transparent background,
game asset, sprite sheet format
3-3. 필수 프롬프트 키워드
| 카테고리 | 키워드 |
|---|---|
| 스타일 | pixel art, 16x16 (또는 해당 크기), sprite, game asset |
| 팔레트 | endesga 32 palette, 오방색 HEX 직접 명시 |
| 배경 | transparent background (스프라이트), dark background (타일) |
| 제약 | no anti-aliasing, clean pixels, no outline 또는 1px dark outline |
| 문화 | joseon dynasty, korean traditional, korean folklore |
3-4. 네거티브 프롬프트
blurry, anti-aliased, smooth gradients, realistic,
3d render, modern clothing, japanese style, chinese style,
watermark, text, logo, frame
3-5. 생성 파라미터
| 파라미터 | 권장값 | 비고 |
|---|---|---|
| Steps | 20~30 | FLUX.1 Dev 기준 |
| CFG Scale | 3.5~5.0 | 너무 높으면 과포화 |
| Sampler | euler | FLUX 기본 |
| Size | 256×256 (16px 기준 16x 업스케일) | 다운스케일 후 사용 |
| Seed | 고정 후 변형 | 일관성 유지 |
3-6. 후처리 파이프라인
- 다운스케일: 생성 이미지 → 목표 픽셀 크기로 Nearest Neighbor 축소
- 팔레트 리매핑: Endesga 32 + 오방색 팔레트로 강제 리컬러링
- 수동 정제: 깨진 픽셀, 불필요한 디테일 수동 제거
- 스프라이트시트 조립: 개별 프레임 → 스프라이트시트 (Aseprite/TexturePacker)
- 검증: 게임 내 배치하여 가독성/실루엣 확인
- 저장:
game/res/sprites/(Git LFS)
4. 사운드 생성 (ACE-Step)
4-1. BGM 생성
입력 태그 구조:
[장르] + [악기] + [무드] + [기술 지시]
예시:
chiptune, korean traditional, gayageum melody,
daegeum flute, 8bit drums, janggu rhythm,
dark mysterious mood, night atmosphere,
BPM 120, key Am, 30 second loop
4-2. 필수 태그
| 카테고리 | 태그 |
|---|---|
| 장르 기반 | chiptune, 8bit, retro game music |
| 국악 악기 | gayageum, daegeum, haegeum, janggu, kkwaenggwari, buk drum, jing gong |
| 무드 | 스테이지별 상이 (사운드 디자인 참조) |
| 기술 | BPM [값], key [조성], [길이] second loop, seamless loop |
4-3. SFX 생성
짧은 SFX(0.5초 이하)는 jsfxr로 8bit 부분 생성 후, ACE-Step으로 국악 레이어 별도 생성 → 믹싱.
4-4. 후처리
- 루프 포인트 편집 (BGM: 심리스 루프 확인)
- 노멀라이즈 (-1dB)
- 8bit 마스터링 필요 시 비트크러셔 적용
- WAV → OGG Vorbis 변환 (품질 6)
- 저장:
game/res/audio/bgm/또는game/res/audio/sfx/(Git LFS)
5. 에셋 네이밍 규칙
5-1. 스프라이트
{대상}_{변형}_{상태}.png
예시:
exorcist_idle.png— 퇴마사 대기exorcist_walk.png— 퇴마사 걷기ghost_bride_death.png— 처녀귀신 죽음boss_guiwang_phase1.png— 귀왕 보스 1페이즈
5-2. 오디오
{카테고리}_{대상}_{변형}.ogg
예시:
bgm_stage01_main.ogg— 한양 거리 메인 BGMbgm_boss_battle.ogg— 보스전 BGMsfx_weapon_bujeok_fire.ogg— 부적 발사sfx_ui_levelup.ogg— 레벨업
6. 품질 체크리스트
6-1. 스프라이트
- 목표 픽셀 크기 정확한가?
- Endesga 32 + 오방색 팔레트만 사용했는가?
- 투명 배경인가? (배경 포함 에셋 제외)
- 실루엣만으로 캐릭터 구분 가능한가?
- 애니메이션 프레임 수가 규격에 맞는가?
- 게임 내 배치 시 가독성 OK인가?
6-2. 오디오
- 포맷: OGG Vorbis인가?
- BGM: 심리스 루프 확인했는가?
- SFX: 0.5초 이내인가? (공명 SFX 제외)
- 볼륨 노멀라이즈 (-1dB) 했는가?
- 네이밍 규칙에 맞는가?
- Git LFS 추적 대상에 포함되는가?
7. 관련 문서
| 문서 | 비고 |
|---|---|
| 아트 디렉션 | Korean Neon Folklore 픽셀아트 가이드 |
| 사운드 디자인 | 칩튠+국악+신스 사운드 설 계 |
| 픽셀아트 규칙 | .claude/rules/pixel-art.md (에이전트 전용) |
| 오디오 규칙 | .claude/rules/audio-spec.md (에이전트 전용) |
| ComfyUI 워크플로우 | docs/comfyui_workflows/ (JSON 파일) |