Consolidate character profiles and image production docs

This commit is contained in:
eKeerar
2026-07-04 12:54:11 +09:00
parent 351c3d65ad
commit f8db111d71
1366 changed files with 3743 additions and 21740 deletions
+61 -39
View File
@@ -1,47 +1,69 @@
# Rig.md — 스켈레톤 정의 (`rig.json`, 풀캔버스 모드)
# Rig Specification
경량 리그 뼈대. 뷰어(`../07_Viewer/index.html`)와 WPF 앱이 동일하게 읽는다.
LeeSori 리그는 앱 런타임용 경량 파츠 리그와 Live2D 제작용 세분화 리그를 함께 고려한다.
## 모델: 풀캔버스 (full-canvas)
- 각 파츠 PNG = **520×900 풀캔버스**, 파츠가 **마스터 제자리**에 있음.
- 렌더러는 파츠를 **원점(0,0)에 그리고, 관절 피벗을 중심으로 회전**한다.
- **휴지 자세(모든 rot/tx/ty=0)** 에서는 모든 월드행렬 = 단위행렬 → 16장 스택 = 마스터 복원.
- 그래서 **위치 앵커 튜닝이 필요 없다**(위치는 이미 파츠에 baked).
## 기본 계층
## 본 계층
```
pelvis (root)
├─ chest
│ ├─ neck ─ head
│ ├─ upperarm_r ─ forearm_r ─ hand_r (캐릭터 오른팔 = 화면 왼쪽)
│ └─ upperarm_l ─ forearm_l ─ hand_l
├─ thigh_r ─ shin_r ─ foot_r
└─ thigh_l ─ shin_l ─ foot_l
```
- Root
- Pelvis
- Abdomen
- Chest
- Neck
- Head
- Hair groups
- Left arm groups
- Right arm groups
- Left leg groups
- Right leg groups
- Clothing overlays
- Accessory overlays
## 필드 (bones[])
| 필드 | 의미 |
|---|---|
| `name` | 본 이름(= 애니메이션 트랙 키) |
| `parent` | 부모(root=null). 배열은 부모 먼저 |
| `pivot` `[x,y]` | **회전 중심 = 관절 좌표**(520×900 캔버스 픽셀). **파츠 오버랩 centroid로 자동 산출** |
| `z` | 그리기 순서(작을수록 뒤) |
| `image` | 파츠 PNG(`imageBase`+이 값), 520×900 풀캔버스 |
## 필수 파츠
## FK (렌더 수식)
```
world[bone] = world[parent] · Mlocal
Mlocal = T(tx,ty) · T(pivot) · R(rot) · T(-pivot) // rot/tx/ty = 애니메이션 delta
draw: setTransform(world); drawImage(part, 0, 0) // 원점에 그림
```
### Body
## 피벗 산출(자동)
`pivot(bone) = centroid( opaque(bone) ∩ opaque(parent) )` — 인접 파츠의 오버랩 영역 무게중심 = 관절. (스크립트로 1회 산출해 여기 박음. 파츠 교체 시 재산출.)
- pelvis
- abdomen
- chest
- neck
- head
- breast/cloth corrective overlays
- waist/hip corrective overlays
## 검증됨
- 16파츠 스택 = 마스터(missed 0 / extra 0.03%).
- 자동 피벗으로 `dance_idle` 재생 시 관절이 자연스럽게 회전(헤드리스 렌더 t=0/0.5/1.0/1.5 확인).
### Arms and Hands
## 튜닝 (필요 시)
- 관절 회전축이 어긋나면 해당 `pivot` 미세조정. 겹침 순서는 `z`.
- 큰 각도에서 이음새가 보이면 애니 진폭↓ 또는 후속 mesh-warp(`../02_Architecture/Limits_and_Mitigations.md`).
- upperarm L/R
- elbow corrective L/R
- forearm L/R
- wrist cuff L/R
- palm L/R
- backhand L/R
- finger groups L/R
- hand pose swaps: relaxed, open, fist, pointing
### Hair
- back hair base
- back hair tips
- front hair center/L/R
- side hair L/R
- hair highlights
### Clothes
- hoodie front
- hoodie strings
- jacket body
- jacket sleeve L/R
- hood front/back
- pants base
- waistband/drawstring overlays
## 모션 제어
- rootX/rootY로 전체 리듬을 만든다.
- pelvis와 chest는 반대 방향 회전을 기본으로 한다.
- head는 chest보다 약간 늦게 따라온다.
- hair는 head보다 더 늦게 움직인다.
- arms는 shoulder, elbow, wrist, palm 방향을 분리 제어한다.
- z-order 이벤트로 arm-over-body, body-over-arm, hair-over-shoulder 상태를 전환한다.