Initial Dansori character workspace
@@ -0,0 +1,45 @@
|
||||
# 자산 전체 맵
|
||||
|
||||
이 폴더는 Live2D 제작에 필요한 입력 이미지, 레이어 명세, PSD 제작 자료를 관리한다.
|
||||
|
||||
## 입력 이미지
|
||||
|
||||
| 종류 | 위치 | 용도 |
|
||||
|---|---|---|
|
||||
| 정체성 시트 | `Reference/sori_sheet.png` | 얼굴, 헤어, 의상, 색상 기준 |
|
||||
| A-pose 이미지 | `Parts/Images/sori_part_master_apose.png` | 전신 비율과 관절 위치 기준 |
|
||||
| 표정 이미지 | `Library/Heads/` | Live2D expression 목표 설정 |
|
||||
| 포즈 이미지 | `Library/BakedPoses/` | Live2D motion 키포즈 설정 |
|
||||
| 머리 영역 이미지 | `Library/Hairmasks/` | 머리카락 레이어 분리 기준 |
|
||||
| 액세서리 이미지 | `Library/Accessories/` | 헤드폰, 마이크, 소품 기준 |
|
||||
|
||||
## Live2D 제작 자산
|
||||
|
||||
| 산출물 | 위치 | 설명 |
|
||||
|---|---|---|
|
||||
| 레이어 명세 | `Live2D/Layer_Manifest.md` | PSD/PNG 레이어 제작 지시서 |
|
||||
| 레이어 manifest | `Live2D/layer_manifest.json` | 레이어 파일명, 그룹, 필수 여부 |
|
||||
| PSD 제작 워크플로 | `Live2D/AI_PSD_Workflow.md` | AI 생성과 PSD 조립 순서 |
|
||||
| 자산 체크리스트 | `Live2D/Asset_Audit.md` | 제작 입력 자료와 산출물 확인 |
|
||||
| 작업 PSD | `Live2D/sori_live2d_material_separation.psd` | 원화 편집용 PSD |
|
||||
| import PSD | `Live2D/sori_live2d_import.psd` | Cubism import 대상 |
|
||||
| 레이어 PNG 번들 | `Live2D/LayerPNGs/` | PSD 조립용 투명 PNG |
|
||||
|
||||
## PSD 요구사항
|
||||
|
||||
- 권장 캔버스: 1600x2800.
|
||||
- 배경: 완전 투명.
|
||||
- 색공간: sRGB.
|
||||
- Cubism import PSD: RGB, 8bit/channel.
|
||||
- 모든 import 레이어명은 고유해야 한다.
|
||||
- 눈, 눈썹, 입, 머리카락, 액세서리, 팔, 손, 의상 겹침 부위를 별도 레이어로 만든다.
|
||||
- 각 레이어에는 움직임으로 드러날 숨은 밑그림이 있어야 한다.
|
||||
|
||||
## 제작 우선순위
|
||||
|
||||
1. 고해상도 A-pose 원화.
|
||||
2. 얼굴, 눈, 눈썹, 입, 머리카락 레이어.
|
||||
3. 상체, 팔, 손, 의상 레이어.
|
||||
4. Cubism import PSD.
|
||||
5. 눈깜빡임, 입열림, 고개 회전, 호흡, 머리카락 물리.
|
||||
6. 하트, 거절, 대기춤 motion.
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 639 KiB |
|
After Width: | Height: | Size: 636 KiB |
|
After Width: | Height: | Size: 636 KiB |
|
After Width: | Height: | Size: 638 KiB |
|
After Width: | Height: | Size: 638 KiB |
|
After Width: | Height: | Size: 636 KiB |
|
After Width: | Height: | Size: 636 KiB |
|
After Width: | Height: | Size: 640 KiB |
|
After Width: | Height: | Size: 640 KiB |
|
After Width: | Height: | Size: 639 KiB |
|
After Width: | Height: | Size: 639 KiB |
|
After Width: | Height: | Size: 639 KiB |
|
After Width: | Height: | Size: 640 KiB |
|
After Width: | Height: | Size: 639 KiB |
|
After Width: | Height: | Size: 640 KiB |
|
After Width: | Height: | Size: 657 KiB |
|
After Width: | Height: | Size: 559 KiB |
@@ -0,0 +1,172 @@
|
||||
{
|
||||
"name": "LeeSoriDance",
|
||||
"status": "leesori_solo3_dance_pose_parts_2026_07_04",
|
||||
"canvas": {
|
||||
"width": 773,
|
||||
"height": 1448
|
||||
},
|
||||
"imageBase": "./Images/",
|
||||
"note": "Solo Dance 3 inspired pose-part rig. Parts are broad overlapping masks for the CSS Live2DHost dance loop.",
|
||||
"bones": [
|
||||
{
|
||||
"name": "base",
|
||||
"parent": null,
|
||||
"pivot": [
|
||||
386.5,
|
||||
839.8399999999999
|
||||
],
|
||||
"z": 0,
|
||||
"image": "solo3_base.png"
|
||||
},
|
||||
{
|
||||
"name": "pelvis",
|
||||
"parent": "base",
|
||||
"pivot": [
|
||||
386.5,
|
||||
695.04
|
||||
],
|
||||
"z": 2,
|
||||
"image": "solo3_pelvis.png"
|
||||
},
|
||||
{
|
||||
"name": "chest",
|
||||
"parent": "base",
|
||||
"pivot": [
|
||||
386.5,
|
||||
448.88
|
||||
],
|
||||
"z": 4,
|
||||
"image": "solo3_chest.png"
|
||||
},
|
||||
{
|
||||
"name": "upperarm_l",
|
||||
"parent": "chest",
|
||||
"pivot": [
|
||||
231.89999999999998,
|
||||
390.96000000000004
|
||||
],
|
||||
"z": 5,
|
||||
"image": "solo3_upperarm_l.png"
|
||||
},
|
||||
{
|
||||
"name": "forearm_l",
|
||||
"parent": "upperarm_l",
|
||||
"pivot": [
|
||||
139.14,
|
||||
622.64
|
||||
],
|
||||
"z": 6,
|
||||
"image": "solo3_forearm_l.png"
|
||||
},
|
||||
{
|
||||
"name": "hand_l",
|
||||
"parent": "forearm_l",
|
||||
"pivot": [
|
||||
77.30000000000001,
|
||||
868.8
|
||||
],
|
||||
"z": 7,
|
||||
"image": "solo3_hand_l.png"
|
||||
},
|
||||
{
|
||||
"name": "upperarm_r",
|
||||
"parent": "chest",
|
||||
"pivot": [
|
||||
541.0999999999999,
|
||||
390.96000000000004
|
||||
],
|
||||
"z": 5,
|
||||
"image": "solo3_upperarm_r.png"
|
||||
},
|
||||
{
|
||||
"name": "forearm_r",
|
||||
"parent": "upperarm_r",
|
||||
"pivot": [
|
||||
633.86,
|
||||
622.64
|
||||
],
|
||||
"z": 6,
|
||||
"image": "solo3_forearm_r.png"
|
||||
},
|
||||
{
|
||||
"name": "hand_r",
|
||||
"parent": "forearm_r",
|
||||
"pivot": [
|
||||
695.7,
|
||||
868.8
|
||||
],
|
||||
"z": 7,
|
||||
"image": "solo3_hand_r.png"
|
||||
},
|
||||
{
|
||||
"name": "thigh_l",
|
||||
"parent": "pelvis",
|
||||
"pivot": [
|
||||
309.20000000000005,
|
||||
810.8800000000001
|
||||
],
|
||||
"z": 2,
|
||||
"image": "solo3_thigh_l.png"
|
||||
},
|
||||
{
|
||||
"name": "shin_l",
|
||||
"parent": "thigh_l",
|
||||
"pivot": [
|
||||
301.47,
|
||||
1071.52
|
||||
],
|
||||
"z": 2,
|
||||
"image": "solo3_shin_l.png"
|
||||
},
|
||||
{
|
||||
"name": "foot_l",
|
||||
"parent": "shin_l",
|
||||
"pivot": [
|
||||
301.47,
|
||||
1332.16
|
||||
],
|
||||
"z": 2,
|
||||
"image": "solo3_foot_l.png"
|
||||
},
|
||||
{
|
||||
"name": "thigh_r",
|
||||
"parent": "pelvis",
|
||||
"pivot": [
|
||||
463.79999999999995,
|
||||
810.8800000000001
|
||||
],
|
||||
"z": 2,
|
||||
"image": "solo3_thigh_r.png"
|
||||
},
|
||||
{
|
||||
"name": "shin_r",
|
||||
"parent": "thigh_r",
|
||||
"pivot": [
|
||||
471.53,
|
||||
1071.52
|
||||
],
|
||||
"z": 2,
|
||||
"image": "solo3_shin_r.png"
|
||||
},
|
||||
{
|
||||
"name": "foot_r",
|
||||
"parent": "shin_r",
|
||||
"pivot": [
|
||||
471.53,
|
||||
1332.16
|
||||
],
|
||||
"z": 2,
|
||||
"image": "solo3_foot_r.png"
|
||||
},
|
||||
{
|
||||
"name": "head",
|
||||
"parent": "chest",
|
||||
"pivot": [
|
||||
386.5,
|
||||
231.68
|
||||
],
|
||||
"z": 10,
|
||||
"image": "solo3_head.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 944 KiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.7 MiB |
|
After Width: | Height: | Size: 853 KiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 774 KiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.7 MiB |
@@ -0,0 +1,45 @@
|
||||
# 표정과 포즈
|
||||
|
||||
이 문서는 Live2D expression과 motion 제작 기준을 정의한다.
|
||||
|
||||
## Live2D 표정 프리셋
|
||||
|
||||
| Expression ID | 감정 | 주요 파라미터 |
|
||||
|---|---|---|
|
||||
| `exp_neutral` | 기본 | 모든 표정 파라미터 기본값 |
|
||||
| `exp_smile` | 미소 | `ParamMouthForm +`, `ParamEyeLSmile/RSmile +` |
|
||||
| `exp_positive` | 밝음 | smile + cheek |
|
||||
| `exp_love` | 호감/성공 | smile + cheek + 눈 미소 |
|
||||
| `exp_negative` | 불만/거절 | `ParamBrowLAngle/RAngle -`, `ParamMouthForm -` |
|
||||
| `exp_pout` | 삐침 | mouth form -, cheek |
|
||||
| `exp_confused` | 당황 | brow 비대칭, eye open 증가 |
|
||||
| `exp_thinking` | 생각중 | brow 한쪽 상승, gaze side |
|
||||
| `exp_surprised` | 놀람 | eye open 증가, mouth open |
|
||||
| `exp_sleepy` | 졸림 | eye open 감소, brow 낮춤 |
|
||||
|
||||
## 말하기
|
||||
|
||||
Live2D 입 레이어를 파라미터로 움직인다.
|
||||
|
||||
- 기본: `ParamMouthOpenY` 0..1 볼륨 기반.
|
||||
- 감정: `ParamMouthForm` -1..1.
|
||||
- WPF/TTS 초기 연동: 음성 볼륨 또는 대사 타이밍에 맞춰 mouth open 구동.
|
||||
- 확장: "아/이/우/에/오" morph 파라미터 추가.
|
||||
|
||||
## 포즈와 제스처
|
||||
|
||||
| Motion ID | 용도 |
|
||||
|---|---|
|
||||
| `motion_idle_breath` | 기본 호흡 |
|
||||
| `motion_idle_dance` | 대기춤 |
|
||||
| `motion_no` | 거절/오류 |
|
||||
| `motion_heart` | 성공/칭찬 |
|
||||
| `motion_greet` | 인사 |
|
||||
| `motion_present` | 안내/제시 |
|
||||
| `motion_thinking` | 생각중 |
|
||||
|
||||
## 제스처 원칙
|
||||
|
||||
- 손과 팔은 motion으로 제어한다.
|
||||
- 자기 가림이 큰 포즈는 swap part를 활용할 수 있다.
|
||||
- 표정은 `.exp3.json`, 몸 동작은 `.motion3.json`으로 분리한다.
|
||||
|
After Width: | Height: | Size: 652 KiB |
|
After Width: | Height: | Size: 396 KiB |
|
After Width: | Height: | Size: 216 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 350 KiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 403 KiB |
|
After Width: | Height: | Size: 455 KiB |
|
After Width: | Height: | Size: 921 KiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 743 KiB |
|
After Width: | Height: | Size: 709 KiB |
|
After Width: | Height: | Size: 683 KiB |
|
After Width: | Height: | Size: 820 KiB |
|
After Width: | Height: | Size: 663 KiB |
|
After Width: | Height: | Size: 696 KiB |
|
After Width: | Height: | Size: 708 KiB |
|
After Width: | Height: | Size: 416 KiB |
|
After Width: | Height: | Size: 665 KiB |
|
After Width: | Height: | Size: 368 KiB |
|
After Width: | Height: | Size: 675 KiB |
|
After Width: | Height: | Size: 716 KiB |
|
After Width: | Height: | Size: 651 KiB |
|
After Width: | Height: | Size: 761 KiB |
|
After Width: | Height: | Size: 643 KiB |
|
After Width: | Height: | Size: 706 KiB |
|
After Width: | Height: | Size: 675 KiB |
|
After Width: | Height: | Size: 729 KiB |
|
After Width: | Height: | Size: 786 KiB |
|
After Width: | Height: | Size: 738 KiB |
|
After Width: | Height: | Size: 733 KiB |
|
After Width: | Height: | Size: 851 KiB |
|
After Width: | Height: | Size: 709 KiB |
|
After Width: | Height: | Size: 734 KiB |
|
After Width: | Height: | Size: 751 KiB |
|
After Width: | Height: | Size: 438 KiB |
|
After Width: | Height: | Size: 705 KiB |
|
After Width: | Height: | Size: 387 KiB |
|
After Width: | Height: | Size: 718 KiB |
|
After Width: | Height: | Size: 755 KiB |
|
After Width: | Height: | Size: 698 KiB |
|
After Width: | Height: | Size: 804 KiB |
|
After Width: | Height: | Size: 680 KiB |
|
After Width: | Height: | Size: 774 KiB |
|
After Width: | Height: | Size: 721 KiB |
|
After Width: | Height: | Size: 767 KiB |
|
After Width: | Height: | Size: 693 KiB |
|
After Width: | Height: | Size: 632 KiB |
|
After Width: | Height: | Size: 611 KiB |
|
After Width: | Height: | Size: 745 KiB |
|
After Width: | Height: | Size: 605 KiB |
|
After Width: | Height: | Size: 650 KiB |
|
After Width: | Height: | Size: 642 KiB |
|
After Width: | Height: | Size: 405 KiB |
|
After Width: | Height: | Size: 637 KiB |
|
After Width: | Height: | Size: 331 KiB |
|
After Width: | Height: | Size: 632 KiB |
|
After Width: | Height: | Size: 645 KiB |
|
After Width: | Height: | Size: 614 KiB |
|
After Width: | Height: | Size: 690 KiB |
|
After Width: | Height: | Size: 609 KiB |
|
After Width: | Height: | Size: 612 KiB |
|
After Width: | Height: | Size: 627 KiB |
|
After Width: | Height: | Size: 694 KiB |
|
After Width: | Height: | Size: 723 KiB |
|
After Width: | Height: | Size: 690 KiB |
|
After Width: | Height: | Size: 644 KiB |