Initial Dansori character workspace
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# 향후 확장 옵션 (나중에 다시 볼 메모)
|
||||
|
||||
> 4캐릭터(이소리·노을·하루카·이사벨) 리그 + 반응 런타임은 **완성**. 아래는 **선택적 다음 확장** 2가지.
|
||||
> 전체 현황·구조는 `INTERACTIVE_RIG_HANDOFF.md` 참고.
|
||||
|
||||
---
|
||||
|
||||
## 옵션 A. 반응 종류 확장
|
||||
현재 반응: idle(배경춤) · error(안돼요) · success(잘됐어요) [+노을만 focus].
|
||||
**더 많은 상황별 반응을 추가**할 수 있음 — 캐릭터 개성별 시그니처 포함.
|
||||
|
||||
- 예시(캐릭터별): 이소리=DJ 비트 타기 / 하루카=아이돌 인사·손하트 / 이사벨=관능 포즈·윙크 / 노을=비트에 고개 까딱(있음).
|
||||
- 공통 확장 후보: greet(인사·손흔들기) · thinking(갸웃) · sleepy(하품) · explain(제시) · cheer(응원).
|
||||
- **작업량**: 작음~중간. 이미 있는 baked 포즈(18종) + 표정(20종) 조합만 하면 됨(새 이미지 대부분 불필요).
|
||||
- **방법**: 각 `*_Profile/06_Reactions/`에서 ① `clips/<name>.json` 새 클립(body[baked/rig]+face+mouth+transform 레이어) 작성 → ② `reactions.json`의 `map`에 상황키 추가 → ③ `reactions.html` 재생성(`_tools`의 템플릿 방식). 필요한 baked/표정이 없으면 그것만 추가 생성.
|
||||
- **한계**: 특정 손모양(핑거하트 등 정밀)이나 정밀 립싱크가 필요하면 아래 옵션 B 병행.
|
||||
|
||||
---
|
||||
|
||||
## 옵션 B. 얼굴 mesh-warp (그리드 변형)
|
||||
현재 얼굴 = **표정 프레임 스왑**(20종 이미지 교체) + talk 프레임 순환(유사 립싱크). 강체라 한계 있음.
|
||||
**얼굴/목에 그리드 메시 변형을 넣어** 더 자연스럽게 만들 수 있음.
|
||||
|
||||
- **해결하는 것**: ① 정밀 립싱크(감정 유지 + 입만 독립적으로 움직임) ② 중간 각도 고개 돌림(피부가 따라 늘어남) ③ 목 이음새 완화.
|
||||
- **작업량**: 큼. 뷰어에 **WebGL 메시 렌더 경로** 추가 필요(현재 Canvas2D). neck/head 국소에만 적용(전신 아님).
|
||||
- **한계**: 큰 각도(대략 30°↑) 고개 돌림은 여전히 **각도별 머리 아트 추가**가 필요(없는 면을 만들지는 못함). Live2D 수준까진 아니지만 강체보다 확실히 자연스러움.
|
||||
- **전제**: 정밀 립싱크/큰 고개돌림이 실제로 필요할 때만. 지금 수준(프레임 스왑)으로 대부분의 상황 반응은 충분.
|
||||
|
||||
---
|
||||
|
||||
## 그 외 (참고)
|
||||
- **앱 통합**: WPF-C# 이식 vs WebView2 임베드 — `*/08_Roadmap/App_Integration.md`. 트리거 API `Mascot.React(상황키)`.
|
||||
- 데이터(rig.json·clips·_layout·reactions.json)와 이미지는 플랫폼 독립 → 웹 뷰어와 앱이 동일하게 사용.
|
||||
Reference in New Issue
Block a user