# 아키텍처 ## 전체 파이프라인 ```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.