개요
PerfectPixel Studio는 AI 기반 애니메이션 스프라이트 생성 도구다. 텍스트 프롬프트 하나로 캐릭터를 만들고, 100+ 모션 애니메이션(걷기, 달리기, 공격, 마법 등)과 8방향 스프라이트 세트를 자동 생성한다. Wails + Go + React로 구축된 데스크톱 애플리케이션이다.
- 저장소: github.com/gykim80/perfectpixel-studio
- 기술 스택: Go 1.25, Wails v2, React 18 + TypeScript + Vite + Tailwind + shadcn/ui
- 라이선스: MIT
- 홈페이지: pp.andrew-ai.app
핵심 특징
- Text → Character: 캐릭터 설명 + 스타일(픽셀 아트, 치비, 카툰 등) 선택 → 베이스 캐릭터 자동 생성 (배경 제거 포함)
- 100+ 모션 프리셋: 걷기, 달리기, 점프, 공격, 마법, 감정 표현 등 방대한 모션 카탈로그
- 8방향 세트: AI가 5방향 생성 → 나머지 3방향은 좌우 반전으로 37.5% 생성 비용 절감
- 자기 교정 루프: 생성 → 매트 → 추출 → 검사 → 교정 재생성 (최대 3회), 프레임 수와 모션 품질 수렴
- 픽셀 아트 후처리: 공유 팔레트 양자화 + 픽셀 그리드 스냅으로 진정한 도트 아트 구현
- 엔진 친화적 익스포트: 스프라이트 시트 + manifest.json + Aseprite 호환 JSON + GIF/APNG + 개별 PNG
엔지니어링 깊이
PerfectPixel의 진가는 AI 생성물을 결정론적으로 보정하는 신호 처리 파이프라인에 있다:
1. 배경 제거 — YCbCr 색차 매팅
RGB 임계값 대신 YCbCr 색차(Cb, Cr)만 사용해 배경을 분리. 명도(Y)를 버리므로 그림자/조명 변화에 강건하다. CbCr 히스토그램의 최빈값(mode)으로 배경 키 추정, Hermite smoothstep으로 소프트 알파, desill로 색 번짐 제거, 4-연결성 플러드 필로 잔여 배경 정리.
2. 프레임 분할 — 프로젝션 프로파일 + DP 최적 절단
OCR 기술을 차용. 수직 알파 프로젝션 P[x] = Σ_y α(x,y)으로 포즈 간 간격(골짜기) 감지. 포즈가 융합된 경우 동적 프로그래밍으로 전역 최적 절단선을 찾아 정확히 원하는 프레임 수로 분할.
3. 프레임 정렬 — 알파 가중 중심
바운딩 박스 중앙 대신 알파 가중 중심(질량 중심)으로 정렬. 팔이나 무기가 뻗어도 몸통은 고정되어 재생 중 흔들림 제거. 센트로이드 표준편차 27.2px → 0.2px (약 135배 안정화).
4. 픽셀화 — 공유 팔레트 + 그리드 스냅
AI의 “픽셀 아트”는 실제로 수천 가지 색상의 고해상도 이미지. Median-cut으로 프레임 간 공유 팔레트 추출 후(프레임별 양자화 시 깜빡임 방지), 동일 색상 실행 길이 모드로 실제 픽셀 블록 크기 추정 → 그리드 스냅으로 각 블록을 대표색으로 채움 (7,834색 → 12색).
품질 평가
0-100 점수의 다축 평가 시스템:
- 프레임 수 정확도 (가장 큰 패널티)
- 색상 히스토그램 교차 유사도 (색상 동일성)
- dHash 구조적 해시 (실루엣 동일성)
- 모션 존재 여부 (정지 이미지 감지)
지원 AI 제공자
| 제공자 | 기본 모델 |
|---|---|
| Gemini (기본) | gemini-3-pro-image |
| OpenRouter | google/gemini-3-pro-image-preview |
| fal.ai | fal-ai/nano-banana-pro |
| BytePlus | seedream-4-0-250828 |
관련 문서: K게임 AI 파트너 | 엔비디아