Consolidate character profiles and image production docs
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# LeeSori Character Identity
|
||||
|
||||
모든 이미지, 파츠, 리그, Live2D 산출물은 이 문서를 기준으로 한다. 컨셉별 의상과 분위기가 달라져도 LeeSori라는 동일 캐릭터로 인식되어야 한다.
|
||||
|
||||
## 기본 정체성
|
||||
|
||||
- 이름: LeeSori
|
||||
- 역할: DansoriEQ 메인 어시스턴트
|
||||
- 성격: 차분함, 전문성, 밝은 반응성, 음악 작업에 익숙함
|
||||
- 핵심 인상: EQ/음악을 이해하는 디지털 파트너
|
||||
- 앱 위치: DansoriEQ 우측 캐릭터 영역
|
||||
|
||||
## 고정 시각 요소
|
||||
|
||||
- 청록/민트 계열 포인트 컬러
|
||||
- 헤드셋 또는 음악 작업자 액세서리
|
||||
- 선명한 눈매와 밝은 표정
|
||||
- 자연스럽게 정리된 헤어 실루엣
|
||||
- 상체와 손 제스처가 잘 보이는 구도
|
||||
- 앱 화면에서 과하게 튀지 않는 명확한 실루엣
|
||||
|
||||
## 얼굴 기준
|
||||
|
||||
- 얼굴 비율은 컨셉별로 변하지 않는다.
|
||||
- 눈, 코, 입, 턱선, 귀 위치는 Live2D 리그 재사용이 가능해야 한다.
|
||||
- 표정은 자연스럽게 바뀌되 캐릭터 정체성은 유지한다.
|
||||
- 웃음, 집중, 생각, 놀람, 걱정, 자랑, 부끄러움, 말하기 입모양을 지원한다.
|
||||
|
||||
## 몸 기준
|
||||
|
||||
- 앱 기본 구도는 무릎 위부터 머리끝까지다.
|
||||
- Live2D용 기준 이미지는 전신 A-pose와 상체 close-up을 모두 제작한다.
|
||||
- 몸매와 의상 라인은 컨셉별 실루엣을 살리되, 파츠가 움직여도 끊기지 않게 보정 파츠를 포함한다.
|
||||
- 가슴/허리/골반/어깨 라인은 과도하게 왜곡하지 않고 자연스러운 애니 스타일로 유지한다.
|
||||
|
||||
## 손과 팔 기준
|
||||
|
||||
- LeeSori는 앱에서 손동작을 자주 사용하므로 손과 팔 파츠 품질이 중요하다.
|
||||
- 손바닥, 손등, 측면 손, 손가락 굽힘이 모두 필요하다.
|
||||
- 팔은 상완, 전완, 팔꿈치 보정, 손목, 손, 손가락으로 분리한다.
|
||||
- 팔이 몸 앞을 지나갈 때 필요한 z-order와 occlusion mask를 만든다.
|
||||
|
||||
## 댄스 기준
|
||||
|
||||
- Solo Dance 3의 자연스러운 상체 리듬을 목표로 한다.
|
||||
- 몸 중심 이동, 골반/흉곽 counter motion, 팔 lift arc, 손목 roll, 손가락 변화, 머리카락 follow-through가 필요하다.
|
||||
- 정지 포즈 컷 전환이 아니라 Live2D 파츠와 motion curve로 이어지는 자료를 만든다.
|
||||
@@ -0,0 +1,78 @@
|
||||
# Dance Reference Specification
|
||||
|
||||
LeeSori 댄스 이미지는 Solo Dance 3를 주 기준으로 한다. 목표는 실제 영상처럼 팔, 손, 손가락, 상체, 하체, 머리카락이 서로 다른 타이밍으로 자연스럽게 이어지는 Live2D 제작 자료를 만드는 것이다.
|
||||
|
||||
## 필수 모션 요소
|
||||
|
||||
- root sway: 몸 중심 좌우 이동
|
||||
- root bounce: 리듬에 맞는 상하 움직임
|
||||
- pelvis counter: 골반이 흉곽과 반대로 움직임
|
||||
- chest lead/follow: 가슴/상체가 리듬을 따라 늦게 반응
|
||||
- shoulder lift: 팔이 올라갈 때 어깨가 같이 올라감
|
||||
- elbow bend: 팔꿈치가 단계적으로 굽혀짐
|
||||
- wrist roll: 손목이 카메라 방향과 측면 방향을 오감
|
||||
- palm direction: 손바닥, 손등, 손날 방향 변화
|
||||
- finger curl: 손가락이 펴짐/굽힘/강조 제스처로 변함
|
||||
- head follow: 머리가 상체보다 약간 늦게 따라옴
|
||||
- hair follow-through: 머리카락이 머리보다 늦게 흔들림
|
||||
- torso bend: 상체가 앞/좌/우로 굽혀짐
|
||||
- lower body rhythm: 무릎과 골반이 미세하게 리듬을 만듦
|
||||
|
||||
## Solo Dance 3 키포즈 그룹
|
||||
|
||||
최소 24개, 권장 32개 키포즈를 제작한다.
|
||||
|
||||
1. ready smile
|
||||
2. relaxed downbeat
|
||||
3. hand forward prep
|
||||
4. palm push front
|
||||
5. wrist roll front
|
||||
6. wrist roll side
|
||||
7. shoulder bounce
|
||||
8. one arm lift half
|
||||
9. one arm lift high
|
||||
10. both arms lift prep
|
||||
11. both arms high
|
||||
12. hair touch
|
||||
13. chest bounce down
|
||||
14. chest bounce up
|
||||
15. side turn left prep
|
||||
16. side turn left
|
||||
17. back/three-quarter hair swing
|
||||
18. return from turn
|
||||
19. hand near face
|
||||
20. finger accent
|
||||
21. hip left
|
||||
22. hip right
|
||||
23. settle wave
|
||||
24. loop return
|
||||
|
||||
추가 권장:
|
||||
|
||||
25. open palm close-up
|
||||
26. wrist crossed high
|
||||
27. elbow tucked
|
||||
28. arm behind torso
|
||||
29. arm in front of torso
|
||||
30. laugh bounce
|
||||
31. hair follow-through extreme
|
||||
32. final idle groove
|
||||
|
||||
## 루프 분해
|
||||
|
||||
- Loop A: idle groove, 2.5~3.0s
|
||||
- Loop B: hand forward / palm push, 2.0~2.5s
|
||||
- Loop C: wrist roll, 1.5~2.0s
|
||||
- Loop D: arms up, 2.5~3.5s
|
||||
- Loop E: side turn / hair swing, 2.5~4.0s
|
||||
- Loop F: return settle, 2.0~3.0s
|
||||
|
||||
## 산출물
|
||||
|
||||
- key pose PNG set
|
||||
- key pose contact sheet
|
||||
- motion curve draft json
|
||||
- z-order event draft json
|
||||
- hand/finger close-up sheet
|
||||
- torso corrective sheet
|
||||
- hair sway sheet
|
||||
@@ -0,0 +1,67 @@
|
||||
# Output Specification
|
||||
|
||||
## 기본 출력 위치
|
||||
|
||||
모든 제작 산출물은 `LeeSori_Profile` 내부에 컨셉별로 정리한다.
|
||||
|
||||
권장 루트:
|
||||
|
||||
- `03_Assets/Library/BakedPoses/<Concept>`: 앱용 baked gesture 이미지
|
||||
- `03_Assets/Library/Sheets/<Concept>`: 전체 시트, 제스처 시트, 손 시트, 표정 시트
|
||||
- `03_Assets/Library/Parts/<Concept>`: 컨셉별 파츠 이미지
|
||||
- `03_Assets/Library/Live2D/<Concept>`: Live2D 레이어 PNG, PSD, manifest
|
||||
- `03_Assets/Library/Dance/<Concept>`: Solo Dance 3 키포즈와 댄스 루프 이미지
|
||||
- `04_Rig/Concepts/<Concept>`: rig, pivot, z-order, parameter 자료
|
||||
- `05_Animation/Concepts/<Concept>`: motion curve, loop segment 자료
|
||||
|
||||
## 파일명 규칙
|
||||
|
||||
기본 형식:
|
||||
|
||||
`leesori_<concept>_<category>_<name>_<variant>.<ext>`
|
||||
|
||||
예시:
|
||||
|
||||
- `leesori_track_pose_idle_upper.png`
|
||||
- `leesori_track_gesture_open_palm.png`
|
||||
- `leesori_track_dance_solo3_key_001_ready.png`
|
||||
- `leesori_track_part_upperarm_L.png`
|
||||
- `leesori_track_live2d_layer_manifest.json`
|
||||
- `leesori_track_rig_pivots.json`
|
||||
|
||||
## 이미지 기본 규격
|
||||
|
||||
| 용도 | 권장 크기 | 배경 |
|
||||
|---|---:|---|
|
||||
| full body reference | 1536x2304 또는 2048x3072 | 투명 또는 chroma key |
|
||||
| app upper body | 1024x1536 | 투명 |
|
||||
| gesture baked pose | 1024x1536 | 투명 |
|
||||
| Live2D layer PNG | 동일 캔버스 고정 | 투명 |
|
||||
| hand sheet | 2048x2048 | 투명 또는 흰색 검수판 |
|
||||
| expression sheet | 2048x2048 | 투명 또는 흰색 검수판 |
|
||||
| dance contact sheet | 가변 | 흰색/검수 배경 |
|
||||
|
||||
## 필수 파일 세트
|
||||
|
||||
각 컨셉은 최소 다음 파일 그룹을 갖는다.
|
||||
|
||||
- reference sheet
|
||||
- expression sheet
|
||||
- hand pose sheet
|
||||
- gesture image set
|
||||
- dance key pose set
|
||||
- Live2D layer PNG set
|
||||
- PSD assembly guide
|
||||
- rig json
|
||||
- pivot json
|
||||
- motion curve json
|
||||
- z-order event json
|
||||
- QA checklist result
|
||||
|
||||
## 품질 조건
|
||||
|
||||
- 동일 컨셉 내 모든 이미지의 얼굴과 체형이 일관되어야 한다.
|
||||
- 투명 PNG 가장자리에 chroma key 잔여색이 없어야 한다.
|
||||
- 파츠 PNG는 같은 캔버스 좌표계를 공유해야 한다.
|
||||
- 모든 파츠는 누락 없이 manifest에 등록한다.
|
||||
- baked pose와 Live2D part는 목적을 구분한다.
|
||||
@@ -0,0 +1,101 @@
|
||||
# Pose and Gesture Set
|
||||
|
||||
모든 컨셉은 같은 제스처 이름을 사용한다. 컨셉별 의상과 분위기는 다르지만 제스처 파일명과 의미는 통일한다.
|
||||
|
||||
## 기본 포즈
|
||||
|
||||
| ID | 설명 |
|
||||
|---|---|
|
||||
| idle_full | 전신 기본 대기 |
|
||||
| idle_upper | 앱 우측 패널용 상체 대기 |
|
||||
| neutral_apose | Live2D 파츠 제작용 A-pose |
|
||||
| neutral_tpose_soft | 팔 분리 확인용 부드러운 T/A 중간 포즈 |
|
||||
| app_wait | 사용자 명령 대기, 차분한 손 위치 |
|
||||
| headset_touch | 헤드셋에 손을 올린 대기/청취 포즈 |
|
||||
| armscross | 팔짱 대기 포즈 |
|
||||
|
||||
## 앱 제스처
|
||||
|
||||
| ID | 설명 |
|
||||
|---|---|
|
||||
| listen | 사용자 입력을 듣는 상태 |
|
||||
| thinking | 처리 중, 턱/손/시선 중심 |
|
||||
| present | 정보를 보여주는 손동작 |
|
||||
| point | 특정 위치를 가리키는 손동작 |
|
||||
| control | EQ/슬라이더를 조작하는 손동작 |
|
||||
| handwave | 가벼운 손 흔들기 |
|
||||
| wave | 큰 인사 손동작 |
|
||||
| peace | 브이 포즈 |
|
||||
| thumbsup | 긍정/완료 포즈 |
|
||||
| clap | 박수 포즈 |
|
||||
| cheer | 양손 응원 포즈 |
|
||||
| joy | 기쁜 반응 |
|
||||
| heart | 하트 제스처 |
|
||||
| shrug | 모름/중립 반응 |
|
||||
| piano | 피아노/키보드 연주 제스처 |
|
||||
| dj | DJ/믹서 조작 제스처 |
|
||||
| error_soft | 부드러운 오류/미안함 표현 |
|
||||
| muted | 조용한 상태, 손가락/입 주변 제스처 |
|
||||
|
||||
## 표정 세트
|
||||
|
||||
- neutral
|
||||
- smile
|
||||
- positive
|
||||
- proud
|
||||
- laugh
|
||||
- talk
|
||||
- talk_wide
|
||||
- blink
|
||||
- wink
|
||||
- thinking
|
||||
- confused
|
||||
- surprised
|
||||
- negative
|
||||
- sad
|
||||
- shy
|
||||
- sleepy
|
||||
- pout
|
||||
- love
|
||||
- cool
|
||||
- playful
|
||||
|
||||
## 손 세트
|
||||
|
||||
각 손은 좌우 모두 필요하다.
|
||||
|
||||
- relaxed
|
||||
- open_palm_front
|
||||
- open_palm_side
|
||||
- backhand
|
||||
- soft_fist
|
||||
- point_index
|
||||
- thumbsup
|
||||
- peace
|
||||
- heart_half
|
||||
- piano_curve
|
||||
- dj_touch
|
||||
- headset_touch
|
||||
- clap_contact
|
||||
- wrist_roll_A
|
||||
- wrist_roll_B
|
||||
|
||||
## Live2D용 파츠 확인 포즈
|
||||
|
||||
- arm_down_relaxed
|
||||
- arm_forward
|
||||
- arm_side
|
||||
- arm_up_half
|
||||
- arm_up_full
|
||||
- elbow_bent_front
|
||||
- elbow_bent_side
|
||||
- hand_near_face
|
||||
- hand_over_chest
|
||||
- hand_behind_body
|
||||
- torso_left_bend
|
||||
- torso_right_bend
|
||||
- torso_forward_bend
|
||||
- pelvis_left
|
||||
- pelvis_right
|
||||
- side_turn_left
|
||||
- side_turn_right
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,93 @@
|
||||
# Dance Image Specification
|
||||
|
||||
Solo Dance 3를 모든 컨셉 의상으로 재구성한다. 결과물은 정지 이미지 감상이 아니라 Live2D 리그와 모션 제작을 위한 단계별 자료여야 한다.
|
||||
|
||||
## 필수 키포즈
|
||||
|
||||
각 컨셉마다 24~32개 키포즈 PNG를 제작한다.
|
||||
|
||||
파일명:
|
||||
|
||||
`leesori_<concept>_dance_solo3_key_###_<label>.png`
|
||||
|
||||
필수 label:
|
||||
|
||||
- ready
|
||||
- downbeat
|
||||
- hand_forward_prep
|
||||
- palm_push
|
||||
- wrist_roll_front
|
||||
- wrist_roll_side
|
||||
- shoulder_bounce
|
||||
- arm_lift_half_L
|
||||
- arm_lift_half_R
|
||||
- arm_lift_high_L
|
||||
- arm_lift_high_R
|
||||
- both_arms_up_prep
|
||||
- both_arms_up
|
||||
- hair_touch
|
||||
- chest_down
|
||||
- chest_up
|
||||
- side_turn_left
|
||||
- side_turn_right
|
||||
- back_turn_hair_swing
|
||||
- hand_near_face
|
||||
- finger_accent
|
||||
- hip_left
|
||||
- hip_right
|
||||
- return_settle
|
||||
|
||||
## 루프별 산출물
|
||||
|
||||
- Loop A: idle groove
|
||||
- Loop B: hand forward / palm push
|
||||
- Loop C: wrist roll
|
||||
- Loop D: arms up
|
||||
- Loop E: side turn / hair swing
|
||||
- Loop F: return settle
|
||||
|
||||
각 루프마다 다음 자료를 만든다.
|
||||
|
||||
- keyframe PNG sequence
|
||||
- contact sheet
|
||||
- motion notes md
|
||||
- motion curve draft json
|
||||
- z-order event draft json
|
||||
|
||||
## 신체 모션 요구
|
||||
|
||||
### 상체
|
||||
|
||||
- chest가 pelvis보다 늦게 따라오거나 반대로 움직인다.
|
||||
- forward bend와 side bend가 모두 있어야 한다.
|
||||
- 가슴/상의 라인이 파츠 이동 중 끊기지 않도록 보정 파츠가 필요하다.
|
||||
|
||||
### 팔
|
||||
|
||||
- 팔은 shoulder lift, elbow bend, wrist roll을 분리해서 표현한다.
|
||||
- 팔이 머리 위로 올라갈 때 어깨, 소매, 겨드랑이 라인이 자연스럽게 이어져야 한다.
|
||||
- 팔이 몸 앞을 지나갈 때 arm-over-torso z-order 이벤트가 필요하다.
|
||||
|
||||
### 손/손가락
|
||||
|
||||
- open palm, side palm, backhand, soft fist, point, finger accent가 필요하다.
|
||||
- 손가락은 최소 그룹 파츠라도 분리되어야 한다.
|
||||
- 손목 회전은 손바닥 방향이 바뀌는 것으로 확인 가능해야 한다.
|
||||
|
||||
### 하체
|
||||
|
||||
- 골반 좌우 이동과 무릎의 미세 굽힘이 있어야 한다.
|
||||
- 앱 crop에서 하체가 많이 보이지 않아도 골반 리듬은 상체 움직임에 영향을 준다.
|
||||
|
||||
### 헤어/액세서리
|
||||
|
||||
- 머리카락은 head보다 늦게 움직인다.
|
||||
- 헤드셋은 머리 회전에 맞지만 컵과 밴드가 어색하게 분리되지 않아야 한다.
|
||||
|
||||
## 실패 조건
|
||||
|
||||
- 포즈만 바뀌고 중간 동작을 유추할 자료가 없음
|
||||
- 팔과 몸통이 함께 굳어 보임
|
||||
- 손목 방향 변화가 없음
|
||||
- 몸통과 골반이 같은 방향으로만 움직임
|
||||
- 머리카락 follow-through 자료가 없음
|
||||
@@ -0,0 +1,54 @@
|
||||
# Gesture Image Specification
|
||||
|
||||
모든 컨셉은 같은 제스처 세트를 제작한다. 각 제스처는 앱용 baked image와 Live2D 제작용 참조 포즈를 모두 고려한다.
|
||||
|
||||
## 공통 제작 조건
|
||||
|
||||
- 모든 이미지는 동일 캐릭터 비율과 얼굴을 유지한다.
|
||||
- 배경은 투명 PNG를 기본으로 한다.
|
||||
- 앱용 이미지는 1024x1536 세로 캔버스를 기본으로 한다.
|
||||
- 전신 포즈와 앱 상체 포즈가 필요한 제스처는 둘 다 제작한다.
|
||||
- 손가락이 중요한 제스처는 손 close-up crop도 함께 제작한다.
|
||||
|
||||
## 제스처별 요구사항
|
||||
|
||||
| Gesture | 핵심 포인트 | 손/팔 조건 | 앱 용도 |
|
||||
|---|---|---|---|
|
||||
| idle_full | 안정적인 전신 대기 | 양팔 자연스럽게 아래 또는 몸 앞 | 기본 전신 참고 |
|
||||
| idle_upper | 무릎 위~머리끝 구도 | 손이 화면 안에 들어옴 | 앱 기본 대기 |
|
||||
| listen | 귀/헤드셋 주의 | 한 손이 헤드셋 또는 귀 주변 | 입력 대기 |
|
||||
| thinking | 턱/입 주변 손 | 팔꿈치와 손목 자연스러움 | 처리 중 |
|
||||
| present | 한 손 또는 양손 안내 | open palm front/side 명확 | 안내 |
|
||||
| point | 검지 방향 명확 | index finger 별도 표현 | 선택/강조 |
|
||||
| control | 슬라이더/노브 조작 | 손가락 곡선, 손목 회전 | EQ 제어 |
|
||||
| handwave | 작은 인사 | 손바닥 보임 | 친근한 반응 |
|
||||
| wave | 큰 인사 | 팔 위로, 손목 자연스러움 | 환영/완료 |
|
||||
| peace | 브이 손가락 | 검지/중지 분리 | 긍정 |
|
||||
| thumbsup | 엄지 명확 | fist + thumb 분리 | 성공 |
|
||||
| clap | 양손 접촉 | 손바닥 방향 일치 | 축하 |
|
||||
| cheer | 양팔 위 | 어깨/팔꿈치 연결 자연스러움 | 기쁨 |
|
||||
| joy | 밝은 표정 | 몸통 bounce 가능 | 성공/즐거움 |
|
||||
| heart | 양손 하트 | 좌우 손 half-heart | 애정/감사 |
|
||||
| armscross | 팔짱 | 팔 앞뒤 z-order 명확 | 대기/자신감 |
|
||||
| shrug | 어깨 들림 | 양손 open side | 모름/중립 |
|
||||
| piano | 손가락 곡선 | 양손 finger curve | 음악/키보드 |
|
||||
| dj | 믹서 조작 | 한 손 turn, 한 손 touch | 음악/DJ |
|
||||
| error_soft | 조심스러운 사과 | 손이 가슴/얼굴 근처 | 오류 |
|
||||
| muted | 조용히 | 입 주변 검지 또는 낮은 손 | 음소거 |
|
||||
|
||||
## 추가 close-up 산출물
|
||||
|
||||
각 컨셉마다 손 close-up을 만든다.
|
||||
|
||||
- `leesori_<concept>_hand_relaxed_sheet.png`
|
||||
- `leesori_<concept>_hand_open_palm_sheet.png`
|
||||
- `leesori_<concept>_hand_finger_gesture_sheet.png`
|
||||
- `leesori_<concept>_hand_wrist_roll_sheet.png`
|
||||
|
||||
## 실패 조건
|
||||
|
||||
- 손가락이 뭉개져 제스처 의미를 알 수 없음
|
||||
- 팔이 몸과 분리되어 떠 보임
|
||||
- 팔이 두 쌍으로 보임
|
||||
- 소매와 팔 피부가 어긋남
|
||||
- 앱 crop에서 손이 화면 밖으로 잘림
|
||||
@@ -0,0 +1,113 @@
|
||||
# Live2D Parts Specification
|
||||
|
||||
모든 컨셉은 Live2D 제작 가능한 파츠 세트를 가져야 한다. 파츠는 같은 캔버스 좌표계를 공유하며 투명 PNG로 저장한다.
|
||||
|
||||
## Body Parts
|
||||
|
||||
- root guide
|
||||
- pelvis base
|
||||
- abdomen skin
|
||||
- abdomen shadow
|
||||
- chest skin
|
||||
- breast/cloth stretch L/R
|
||||
- under-bust shadow
|
||||
- neck front
|
||||
- neck back fill
|
||||
- head base
|
||||
- face shadow
|
||||
- cheek L/R
|
||||
|
||||
## Arm Parts
|
||||
|
||||
좌우 모두 필요하다.
|
||||
|
||||
- shoulder cover
|
||||
- upperarm skin/clothes
|
||||
- elbow corrective front
|
||||
- elbow corrective side
|
||||
- forearm skin/clothes
|
||||
- wrist/cuff
|
||||
- palm
|
||||
- backhand
|
||||
- thumb group
|
||||
- index group
|
||||
- middle/ring/pinky group
|
||||
- fingernail/highlight if visible
|
||||
|
||||
## Hair Parts
|
||||
|
||||
- back hair base
|
||||
- back hair shadow
|
||||
- back hair strand L/R
|
||||
- back hair tip L/R
|
||||
- front hair center
|
||||
- front hair L/R
|
||||
- side hair L/R
|
||||
- hair highlight front
|
||||
- hair loose strand optional
|
||||
|
||||
## Face Parts
|
||||
|
||||
- eye white L/R
|
||||
- iris L/R
|
||||
- pupil L/R
|
||||
- highlight L/R
|
||||
- upper lash L/R
|
||||
- lower lash L/R
|
||||
- lid L/R
|
||||
- brow L/R
|
||||
- nose
|
||||
- mouth upper line
|
||||
- mouth lower line
|
||||
- mouth inside
|
||||
- teeth upper/lower
|
||||
- tongue
|
||||
- lip highlight
|
||||
|
||||
## Clothes Parts
|
||||
|
||||
컨셉별로 이름은 다를 수 있지만 기능은 유지한다.
|
||||
|
||||
- top base
|
||||
- top shadow
|
||||
- collar/neckline L/R
|
||||
- sleeve upper L/R
|
||||
- sleeve forearm L/R
|
||||
- lower garment base
|
||||
- waistband/belt/string
|
||||
- jacket/body outer L/R if exists
|
||||
- accessory overlays
|
||||
- movement corrective patches
|
||||
|
||||
## Z-order Masks
|
||||
|
||||
- arm over torso L/R
|
||||
- torso over arm L/R
|
||||
- hand over face L/R
|
||||
- hair over shoulder L/R
|
||||
- shoulder over hair L/R
|
||||
- skirt/dress over leg if applicable
|
||||
- leg over dress slit if applicable
|
||||
|
||||
## Manifest Required Fields
|
||||
|
||||
각 파츠는 manifest에 다음 정보를 가진다.
|
||||
|
||||
- id
|
||||
- file
|
||||
- group
|
||||
- side
|
||||
- zDefault
|
||||
- pivotHint
|
||||
- deformType
|
||||
- parentBone
|
||||
- visibleInPoses
|
||||
- notes
|
||||
|
||||
## 실패 조건
|
||||
|
||||
- 파츠가 전신 이미지를 통째로 포함함
|
||||
- 같은 팔 영역이 여러 파츠에 중복되어 팔이 두 개로 보임
|
||||
- 손 파츠가 비어 있음
|
||||
- 캔버스 크기가 서로 다름
|
||||
- 의상 보정 파츠가 없어 움직일 때 라인이 끊김
|
||||
@@ -0,0 +1,94 @@
|
||||
# Rig and Motion Specification
|
||||
|
||||
## Rig Hierarchy
|
||||
|
||||
- Root
|
||||
- Pelvis
|
||||
- Abdomen
|
||||
- Chest
|
||||
- Neck
|
||||
- Head
|
||||
- Face
|
||||
- HairFront
|
||||
- HairSideL/R
|
||||
- HairBack
|
||||
- Headset
|
||||
- ShoulderL
|
||||
- UpperArmL
|
||||
- ForeArmL
|
||||
- HandL
|
||||
- FingersL
|
||||
- ShoulderR
|
||||
- UpperArmR
|
||||
- ForeArmR
|
||||
- HandR
|
||||
- FingersR
|
||||
- LegL
|
||||
- LegR
|
||||
|
||||
## Required Parameters
|
||||
|
||||
- ParamRootX
|
||||
- ParamRootY
|
||||
- ParamPelvisAngleZ
|
||||
- ParamPelvisX
|
||||
- ParamPelvisY
|
||||
- ParamBodyBendX
|
||||
- ParamBodyBendY
|
||||
- ParamChestAngleZ
|
||||
- ParamChestX
|
||||
- ParamChestY
|
||||
- ParamHeadAngleX
|
||||
- ParamHeadAngleY
|
||||
- ParamHeadAngleZ
|
||||
- ParamShoulderRaiseL/R
|
||||
- ParamArmLiftL/R
|
||||
- ParamElbowBendL/R
|
||||
- ParamWristRollL/R
|
||||
- ParamPalmOpenL/R
|
||||
- ParamFingerCurlL/R
|
||||
- ParamHairSwayL/R
|
||||
- ParamBreath
|
||||
- ParamMouthOpen
|
||||
- ParamEyeBlinkL/R
|
||||
|
||||
## Motion Curves
|
||||
|
||||
모든 모션은 cubic/ease 기반이다. linear 보간만으로 제작하지 않는다.
|
||||
|
||||
- root bounce: sine/cubic loop
|
||||
- pelvis: root보다 약간 빠르게 리듬 생성
|
||||
- chest: pelvis와 반대 방향 또는 지연
|
||||
- head: chest보다 2~4프레임 지연
|
||||
- hair: head보다 3~6프레임 지연
|
||||
- arm lift: ease-out + overshoot
|
||||
- wrist roll: 짧은 accent curve
|
||||
- finger curl: 손목보다 작은 진폭과 빠른 타이밍
|
||||
|
||||
## Z-order Events
|
||||
|
||||
다음 이벤트를 JSON으로 정의한다.
|
||||
|
||||
- armFrontL
|
||||
- armFrontR
|
||||
- armBackL
|
||||
- armBackR
|
||||
- handFrontFaceL
|
||||
- handFrontFaceR
|
||||
- hairFrontShoulderL
|
||||
- hairFrontShoulderR
|
||||
- torsoFrontArmL
|
||||
- torsoFrontArmR
|
||||
- dressOverLeg
|
||||
- legOverDress
|
||||
|
||||
## Runtime Outputs
|
||||
|
||||
각 컨셉마다 다음을 만든다.
|
||||
|
||||
- `leesori_<concept>_rig_hierarchy.json`
|
||||
- `leesori_<concept>_pivot_map.json`
|
||||
- `leesori_<concept>_live2d_parameters.json`
|
||||
- `leesori_<concept>_motion_curves.json`
|
||||
- `leesori_<concept>_z_order_events.json`
|
||||
- `leesori_<concept>_runtime_rig.json`
|
||||
@@ -0,0 +1,59 @@
|
||||
# QA Checklist
|
||||
|
||||
각 컨셉의 이미지/파츠/리그/Live2D 자료는 아래 항목을 통과해야 한다.
|
||||
|
||||
## Identity
|
||||
|
||||
- LeeSori 얼굴로 일관되게 보인다.
|
||||
- 헤드셋 또는 음악 작업자 아이덴티티가 유지된다.
|
||||
- 청록 포인트가 컨셉 안에서 자연스럽게 포함된다.
|
||||
|
||||
## Image Quality
|
||||
|
||||
- 투명 PNG 가장자리에 배경색 찌꺼기가 없다.
|
||||
- 손가락, 눈, 입, 액세서리가 뭉개지지 않는다.
|
||||
- 앱 crop에서 얼굴과 손 제스처가 보인다.
|
||||
- 전신 reference에서 발끝, 머리끝이 잘리지 않는다.
|
||||
|
||||
## Gesture
|
||||
|
||||
- 모든 공통 제스처가 있다.
|
||||
- 제스처 의미가 즉시 구분된다.
|
||||
- 손 close-up이 제스처와 일치한다.
|
||||
- 팔이 두 쌍으로 보이지 않는다.
|
||||
|
||||
## Dance
|
||||
|
||||
- Solo Dance 3 키포즈 24개 이상이 있다.
|
||||
- 팔 lift arc가 단계적으로 보인다.
|
||||
- 손목 roll과 손바닥 방향 변화가 있다.
|
||||
- 상체/골반 counter motion을 만들 자료가 있다.
|
||||
- 머리카락 follow-through 자료가 있다.
|
||||
|
||||
## Live2D Parts
|
||||
|
||||
- 모든 파츠가 같은 캔버스다.
|
||||
- 파츠가 전신을 통째로 포함하지 않는다.
|
||||
- 상완/전완/손/손가락이 분리되어 있다.
|
||||
- 의상 보정 파츠가 있다.
|
||||
- z-order mask가 있다.
|
||||
|
||||
## Rig
|
||||
|
||||
- pivot이 관절 위치에 있다.
|
||||
- 팔꿈치와 손목이 자연스럽게 움직일 수 있다.
|
||||
- chest/pelvis/head/hair가 서로 다른 타이밍으로 움직일 수 있다.
|
||||
- z-order event가 정의되어 있다.
|
||||
|
||||
## Fail Conditions
|
||||
|
||||
하나라도 해당하면 재작업한다.
|
||||
|
||||
- 팔 중복
|
||||
- 빈 손 파츠
|
||||
- 손가락 의미 불명확
|
||||
- 의상 라인 절단
|
||||
- 얼굴 정체성 변화
|
||||
- 앱 crop 실패
|
||||
- 정지 이미지 전환처럼 보이는 댄스 자료
|
||||
- Live2D 파츠로 사용할 수 없는 통짜 이미지
|
||||
@@ -0,0 +1,55 @@
|
||||
# LeeSori Image Production Package
|
||||
|
||||
이 폴더는 `../이미지작업_의뢰서.md`가 호출하는 LeeSori 이미지 제작 종속 실행 패키지다. AI 작업자는 먼저 `../이미지작업_의뢰서.md`를 읽고, 이어서 이 `README.md`와 `_RUN_ORDER.md`, 연결된 하위 md를 순서대로 처리한다.
|
||||
|
||||
## 목표
|
||||
|
||||
LeeSori를 모든 컨셉에서 동일한 캐릭터 정체성을 유지하면서 자연스러운 앱 제스처와 Live2D 리그까지 제작 가능한 수준으로 완성한다.
|
||||
|
||||
- 컨셉별 기본 시트 제작
|
||||
- 컨셉별 BakedPoses 전 제스처 재제작
|
||||
- 컨셉별 댄스 키포즈 및 루프 시트 제작
|
||||
- 컨셉별 세분화 파츠 제작
|
||||
- 컨셉별 Live2D 레이어 PNG / PSD 조립 자료 제작
|
||||
- 컨셉별 리그/피벗/z-order/모션커브 자료 제작
|
||||
- DansoriEQ 앱 적용용 상체/무릎 위 프레이밍 이미지 제작
|
||||
|
||||
## 적용 컨셉
|
||||
|
||||
| 컨셉 | 폴더 | 핵심 이미지 |
|
||||
|---|---|---|
|
||||
| Campus | `01_Concepts/Campus.md` | 밝고 젊은 캠퍼스/캐주얼 스타일 |
|
||||
| CeoPantsuit | `01_Concepts/CeoPantsuit.md` | 전문적이고 차분한 CEO 팬츠수트 스타일 |
|
||||
| DressLong | `01_Concepts/DressLong.md` | 긴 드레스, 우아한 실루엣 |
|
||||
| DressShort | `01_Concepts/DressShort.md` | 짧은 드레스, 밝은 무대형 실루엣 |
|
||||
| Jeans | `01_Concepts/Jeans.md` | 데님 캐주얼, 자연스러운 일상형 스타일 |
|
||||
| Track | `01_Concepts/Track.md` | 트랙 재킷/스포티, DansoriEQ 기본 활동형 스타일 |
|
||||
| Tshirt | `01_Concepts/Tshirt.md` | 티셔츠 캐주얼, 편안한 기본형 스타일 |
|
||||
|
||||
## 우선순위
|
||||
|
||||
1. `Track`: DansoriEQ 기본 앱 캐릭터와 가장 가까운 기준 컨셉
|
||||
2. `Campus`, `Tshirt`, `Jeans`: 앱 제스처 재사용 우선
|
||||
3. `CeoPantsuit`: 전문/업무형 반응 우선
|
||||
4. `DressShort`, `DressLong`: 무대/댄스/감정 표현 우선
|
||||
|
||||
## 필수 실행 문서
|
||||
|
||||
- `../이미지작업_의뢰서.md`: 단일 최상위 의뢰서
|
||||
- `_RUN_ORDER.md`: 전체 작업 순서
|
||||
- `00_Common/CHARACTER_IDENTITY.md`: 모든 컨셉 공통 캐릭터 정체성
|
||||
- `00_Common/OUTPUT_SPEC.md`: 산출물 경로와 파일명 규칙
|
||||
- `00_Common/POSE_AND_GESTURE_SET.md`: 모든 컨셉 공통 제스처 목록
|
||||
- `03_Live2D/LIVE2D_PARTS_SPEC.md`: Live2D 파츠 제작 기준
|
||||
- `03_Live2D/RIG_AND_MOTION_SPEC.md`: 리그/모션 기준
|
||||
- `04_QA/QA_CHECKLIST.md`: 최종 검수 기준
|
||||
|
||||
## 제작 원칙
|
||||
|
||||
- 기존 BakedPose 이미지를 그대로 사용하지 않는다. 모든 컨셉별 이미지는 최종 기준으로 새로 제작한다.
|
||||
- 컨셉이 달라도 LeeSori의 얼굴, 헤드셋, 청록 계열 포인트, 음악 작업자 이미지는 유지한다.
|
||||
- 팔/손/손가락/상체/의상 라인은 Live2D용 파츠 분리가 가능하도록 명확하게 만든다.
|
||||
- 정지 포즈 이미지만 만들지 않고, 파츠/리그/모션 제작까지 이어질 자료를 함께 만든다.
|
||||
- 모든 산출물은 컨셉별로 동일한 파일명 체계를 사용한다.
|
||||
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
# LeeSori Image Production Run Order
|
||||
|
||||
AI 작업자는 `../이미지작업_의뢰서.md`를 단일 최상위 의뢰서로 사용하고, 이 순서를 그대로 따른다. 하위 문서를 누락 없이 처리한다.
|
||||
|
||||
## 0. 사전 확인
|
||||
|
||||
1. `../이미지작업_의뢰서.md`를 읽는다.
|
||||
2. `README.md`를 읽는다.
|
||||
3. `00_Common/CHARACTER_IDENTITY.md`를 읽고 LeeSori 정체성을 고정한다.
|
||||
4. `00_Common/OUTPUT_SPEC.md`를 읽고 파일명과 폴더 규칙을 확정한다.
|
||||
5. `00_Common/POSE_AND_GESTURE_SET.md`를 읽고 모든 컨셉에서 제작할 포즈 목록을 확정한다.
|
||||
6. `00_Common/DANCE_REFERENCE_SPEC.md`를 읽고 Solo Dance 3 기준 댄스 요구사항을 확인한다.
|
||||
|
||||
## 1. 컨셉별 기본 이미지 제작
|
||||
|
||||
아래 순서대로 각 컨셉 md를 읽고 진행한다.
|
||||
|
||||
1. `01_Concepts/Track.md`
|
||||
2. `01_Concepts/Campus.md`
|
||||
3. `01_Concepts/Tshirt.md`
|
||||
4. `01_Concepts/Jeans.md`
|
||||
5. `01_Concepts/CeoPantsuit.md`
|
||||
6. `01_Concepts/DressShort.md`
|
||||
7. `01_Concepts/DressLong.md`
|
||||
|
||||
각 컨셉에서 먼저 제작할 기본 산출물:
|
||||
|
||||
- full body neutral sheet
|
||||
- upper body app framing sheet
|
||||
- expression sheet
|
||||
- hand sheet
|
||||
- gesture sheet
|
||||
- dance key pose sheet
|
||||
- Live2D layer reference sheet
|
||||
|
||||
## 2. 공통 제스처 제작
|
||||
|
||||
각 컨셉마다 `02_Gestures/GESTURE_IMAGE_SPEC.md`를 적용한다.
|
||||
|
||||
필수 제스처:
|
||||
|
||||
- idle_full
|
||||
- idle_upper
|
||||
- listen
|
||||
- thinking
|
||||
- present
|
||||
- point
|
||||
- control
|
||||
- handwave
|
||||
- wave
|
||||
- peace
|
||||
- thumbsup
|
||||
- clap
|
||||
- cheer
|
||||
- joy
|
||||
- heart
|
||||
- armscross
|
||||
- shrug
|
||||
- piano
|
||||
- dj
|
||||
- error_soft
|
||||
- muted
|
||||
|
||||
## 3. 댄스 자료 제작
|
||||
|
||||
각 컨셉마다 `02_Gestures/DANCE_IMAGE_SPEC.md`를 적용한다.
|
||||
|
||||
필수 댄스 산출물:
|
||||
|
||||
- Solo Dance 3 key poses 24~32장
|
||||
- loop A idle groove
|
||||
- loop B hand forward / palm push
|
||||
- loop C wrist roll
|
||||
- loop D arms up
|
||||
- loop E side turn / hair swing
|
||||
- loop F return settle
|
||||
- frame contact sheet
|
||||
- motion note sheet
|
||||
|
||||
## 4. Live2D 파츠 제작
|
||||
|
||||
`03_Live2D/LIVE2D_PARTS_SPEC.md`를 적용한다.
|
||||
|
||||
각 컨셉마다 다음을 제작한다.
|
||||
|
||||
- Live2D LayerPNGs
|
||||
- part manifest
|
||||
- PSD assembly guide
|
||||
- PSD file if supported
|
||||
- part contact sheet
|
||||
- corrective part sheet
|
||||
- z-order event sheet
|
||||
|
||||
## 5. 리그와 모션 제작
|
||||
|
||||
`03_Live2D/RIG_AND_MOTION_SPEC.md`를 적용한다.
|
||||
|
||||
각 컨셉마다 다음을 제작한다.
|
||||
|
||||
- rig hierarchy json
|
||||
- pivot map
|
||||
- Live2D parameter list
|
||||
- motion curve json
|
||||
- z-order event json
|
||||
- app runtime rig json
|
||||
|
||||
## 6. QA
|
||||
|
||||
`04_QA/QA_CHECKLIST.md`를 적용한다.
|
||||
|
||||
불합격이면 해당 컨셉의 이미지/파츠/리그 문서로 되돌아가 수정한다.
|
||||
|
||||
## 7. 완료 조건
|
||||
|
||||
한 컨셉은 다음이 모두 있을 때 완료다.
|
||||
|
||||
- 컨셉 md 요구사항 충족
|
||||
- 모든 공통 제스처 이미지 존재
|
||||
- 댄스 키포즈/루프 자료 존재
|
||||
- Live2D 파츠와 manifest 존재
|
||||
- 리그/피벗/모션/z-order 자료 존재
|
||||
- QA 체크리스트 통과
|
||||
|
||||
|
||||
Reference in New Issue
Block a user