Initial Dansori character workspace
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
# 아키텍처
|
||||
|
||||
## 전체 파이프라인
|
||||
|
||||
```text
|
||||
[입력 이미지와 캐릭터 기준]
|
||||
|
|
||||
v
|
||||
[AI Live2D 원화 분리]
|
||||
- material PSD
|
||||
- 투명 PNG 레이어 번들
|
||||
- 숨은 부위 보강
|
||||
|
|
||||
v
|
||||
[Cubism import PSD]
|
||||
- 고유 레이어명
|
||||
- RGB, 8bit/channel, sRGB
|
||||
- 먼지/프린지/마스크 잔여물 제거
|
||||
|
|
||||
v
|
||||
[Live2D Cubism Editor]
|
||||
- ArtMesh
|
||||
- Warp/Rotation Deformer
|
||||
- Parameter
|
||||
- Physics
|
||||
- Motion/Expression
|
||||
|
|
||||
v
|
||||
[Embedded Export]
|
||||
- .moc3
|
||||
- .model3.json
|
||||
- texture atlas PNG
|
||||
- .motion3.json / .exp3.json / .physics3.json
|
||||
|
|
||||
v
|
||||
[WPF Runtime Host]
|
||||
- WebView2
|
||||
- Cubism SDK for Web
|
||||
|
|
||||
v
|
||||
[앱 이벤트 반응]
|
||||
- error / success / idle / greet / explain / thinking
|
||||
```
|
||||
|
||||
## 제작 레이어
|
||||
|
||||
| 레이어 | 책임 | 주요 파일 |
|
||||
|---|---|---|
|
||||
| Source Art | AI가 만드는 분리 원화 | `03_Assets/Live2D/Layer_Manifest.md`, `layer_manifest.json` |
|
||||
| Cubism Model | 리깅, 파라미터, 물리 | `04_Rig/live2d_parameters.json` |
|
||||
| Motion | idle, no, heart, greet 등 | `05_Animation/live2d_motion_plan.json` |
|
||||
| Reaction | 앱 상황키 매핑 | `06_Reactions/reactions.json`, `clips/*.json` |
|
||||
| WPF Host | 모델 로드와 앱 브리지 | `08_Roadmap/App_Integration.md` |
|
||||
|
||||
## AI 원화 분리 규칙
|
||||
|
||||
- 최종 PSD의 각 파츠는 Cubism에서 하나의 ArtMesh가 될 수 있도록 단일 레이어로 정리한다.
|
||||
- 눈, 눈썹, 입은 좌우와 세부 요소를 분리한다.
|
||||
- 머리카락은 앞머리, 옆머리, 뒷머리, 잔머리, 하이라이트를 분리한다.
|
||||
- 몸과 의상은 Rotation Deformer와 Warp Deformer 적용을 고려해 분리한다.
|
||||
- 손하트, 팔짱, 손흔들기 같은 제스처는 손과 팔 파츠를 충분히 확보한다.
|
||||
|
||||
## Cubism 파라미터 계층
|
||||
|
||||
```text
|
||||
ParamBaseX/Y
|
||||
ParamBodyAngleX/Y/Z
|
||||
ParamAngleX/Y/Z
|
||||
Face / Eyes / Brows / Mouth
|
||||
Arms / Hands
|
||||
Hair physics
|
||||
```
|
||||
|
||||
기본 파라미터 범위는 `04_Rig/live2d_parameters.json`을 따른다.
|
||||
|
||||
## WPF 통합 구조
|
||||
|
||||
WPF는 WebView2를 띄우고 Live2D 런타임 HTML/JS에 메시지를 보낸다.
|
||||
|
||||
```text
|
||||
WPF
|
||||
-> WebView2.PostWebMessageAsJson({ type: "react", key: "success" })
|
||||
-> Live2D runtime
|
||||
-> reactions.json
|
||||
-> StartMotion + SetExpression + caption/TTS event
|
||||
```
|
||||
|
||||
## 공식 기준 확인 항목
|
||||
|
||||
- PSD import.
|
||||
- ArtMesh.
|
||||
- Deformer.
|
||||
- Parameter.
|
||||
- Physics.
|
||||
- Embedded export.
|
||||
- Cubism SDK for Web.
|
||||
@@ -0,0 +1,61 @@
|
||||
# 한계와 완화
|
||||
|
||||
## L1. AI 원화와 Cubism 리깅의 역할 분리
|
||||
|
||||
AI는 원화 분리와 보강에 강하고, Cubism Editor는 ArtMesh, Deformer, Physics, Motion 검수에 필요하다.
|
||||
|
||||
**완화**
|
||||
|
||||
- AI 산출물은 PSD/PNG 레이어와 manifest 기준으로 검수한다.
|
||||
- Cubism 작업은 파라미터, 디포머, 물리, 모션 단위로 검수한다.
|
||||
- 반복 작업은 레이어명, 파라미터명, 모션명, 체크리스트로 관리한다.
|
||||
|
||||
## L2. Live2D 세부 레이어 필요
|
||||
|
||||
정밀한 Live2D 표현에는 눈꺼풀, 눈동자, 눈 하이라이트, 입 안쪽, 치아, 혀, 눈썹, 앞머리, 옆머리, 뒷머리, 옷 주름 레이어가 필요하다.
|
||||
|
||||
**완화**
|
||||
|
||||
- `03_Assets/Live2D/layer_manifest.json`의 required 레이어를 모두 만든다.
|
||||
- 얼굴, 머리카락, 손 파츠를 우선 제작한다.
|
||||
- 숨은 피부, 머리, 의상 밑그림을 충분히 채색한다.
|
||||
|
||||
## L3. 누락 부위 보강
|
||||
|
||||
고개 회전, 팔 움직임, 머리카락 흔들림에는 피부, 머리, 의상 밑그림이 필요하다.
|
||||
|
||||
**완화**
|
||||
|
||||
- AI 프롬프트에 "Paint hidden areas underneath overlaps"를 명시한다.
|
||||
- 목 뒤, 귀 뒤, 헤어 안쪽, 어깨 뒤, 소매 안쪽, 손목, 허리 주변을 별도 확인한다.
|
||||
- Cubism에서 큰 회전 각도는 자연스러운 범위로 제한한다.
|
||||
|
||||
## L4. 립싱크
|
||||
|
||||
정밀 립싱크에는 입 레이어와 파라미터 설계가 필요하다.
|
||||
|
||||
**완화**
|
||||
|
||||
- 입은 `mouth_inside`, `mouth_line`, `upper_lip`, `lower_lip`, `teeth`, `tongue`로 분리한다.
|
||||
- `ParamMouthOpenY`와 `ParamMouthForm`을 기본으로 만든다.
|
||||
- WPF/TTS 연동은 볼륨 기반 mouth open으로 시작한다.
|
||||
- 음소 표현이 필요하면 입 morph 파라미터를 추가한다.
|
||||
|
||||
## L5. WPF 통합 비용
|
||||
|
||||
WPF 통합에는 모델 로드, WebView2 메시지 브리지, 리소스 경로, 배포 구성이 필요하다.
|
||||
|
||||
**완화**
|
||||
|
||||
- WebView2 + Cubism SDK for Web을 1차 경로로 사용한다.
|
||||
- 메시지는 JSON 형식으로 통일한다.
|
||||
- 앱 리소스 구조는 `08_Roadmap/App_Integration.md`를 따른다.
|
||||
|
||||
## L6. 라이선스와 배포 조건
|
||||
|
||||
Live2D Cubism Editor와 SDK 사용 조건을 확인해야 한다.
|
||||
|
||||
**완화**
|
||||
|
||||
- 앱 배포 전 Live2D 공식 라이선스와 SDK 사용 조건을 확인한다.
|
||||
- 리소스와 SDK 배포 범위를 체크리스트로 관리한다.
|
||||
Reference in New Issue
Block a user