feat: Live2D model integration with pixi-live2d-display

- Added Epsilon Live2D model (Cubism 4) with full motion/expression set
- KiraAvatar now loads Live2D via PixiJS + cubism4 renderer
- Idle animation auto-plays on load
- Lip-sync: PARAM_MOUTH_OPEN_Y driven by speaking state
- 8 expressions (Normal, Smile, Sad, Angry, Surprised, Blushing, f01, f02)
- 15 motion files including idle, tap, flick, shake
- Physics, eye blink, and LipSync parameter groups configured
- Falls back to animated SVG placeholder if model isn't available
This commit is contained in:
2026-06-04 11:34:59 -04:00
parent 78ea059f08
commit 9653f80abd
31 changed files with 14723 additions and 34 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 827 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 823 KiB

@@ -0,0 +1,297 @@
{
"Version": 3,
"Parameters": [
{
"Id": "PARAM_ANGLE_X",
"GroupId": "",
"Name": "角度 X"
},
{
"Id": "PARAM_ANGLE_Y",
"GroupId": "",
"Name": "角度 Y"
},
{
"Id": "PARAM_ANGLE_Z",
"GroupId": "",
"Name": "角度 Z"
},
{
"Id": "PARAM_EYE_L_OPEN",
"GroupId": "",
"Name": "左眼 開閉"
},
{
"Id": "PARAM_EYE_L_SMILE",
"GroupId": "",
"Name": "左眼 笑顔"
},
{
"Id": "PARAM_EYE_R_OPEN",
"GroupId": "",
"Name": "右眼 開閉"
},
{
"Id": "PARAM_EYE_R_SMILE",
"GroupId": "",
"Name": "右眼 笑顔"
},
{
"Id": "PARAM_EYE_FORM",
"GroupId": "",
"Name": "眼 変形"
},
{
"Id": "PARAM_EYE_BALL_X",
"GroupId": "",
"Name": "目玉 X"
},
{
"Id": "PARAM_EYE_BALL_Y",
"GroupId": "",
"Name": "目玉 Y"
},
{
"Id": "PARAM_BROW_L_Y",
"GroupId": "",
"Name": "左眉 上下"
},
{
"Id": "PARAM_BROW_R_Y",
"GroupId": "",
"Name": "右眉 上下"
},
{
"Id": "PARAM_BROW_L_X",
"GroupId": "",
"Name": "左眉 左右"
},
{
"Id": "PARAM_BROW_R_X",
"GroupId": "",
"Name": "右眉 左右"
},
{
"Id": "PARAM_BROW_L_ANGLE",
"GroupId": "",
"Name": "左眉 角度"
},
{
"Id": "PARAM_BROW_R_ANGLE",
"GroupId": "",
"Name": "右眉 角度"
},
{
"Id": "PARAM_BROW_L_FORM",
"GroupId": "",
"Name": "左眉 変形"
},
{
"Id": "PARAM_BROW_R_FORM",
"GroupId": "",
"Name": "右眉 変形"
},
{
"Id": "PARAM_MOUTH_FORM",
"GroupId": "",
"Name": "口 変形"
},
{
"Id": "PARAM_MOUTH_OPEN_Y",
"GroupId": "",
"Name": "口 開閉"
},
{
"Id": "PARAM_TERE",
"GroupId": "",
"Name": "照れ"
},
{
"Id": "PARAM_TEAR",
"GroupId": "",
"Name": "涙"
},
{
"Id": "PARAM_SWEAT",
"GroupId": "",
"Name": "汗"
},
{
"Id": "PARAM_RAGE",
"GroupId": "",
"Name": "怒り"
},
{
"Id": "PARAM_BODY_ANGLE_X",
"GroupId": "",
"Name": "体の回転 X"
},
{
"Id": "PARAM_BODY_ANGLE_Z",
"GroupId": "",
"Name": "体の回転 Z"
},
{
"Id": "PARAM_BODY_ANGLE_Y",
"GroupId": "",
"Name": "体の回転 Y"
},
{
"Id": "PARAM_ARM_L",
"GroupId": "",
"Name": "左腕"
},
{
"Id": "PARAM_ARM_R",
"GroupId": "",
"Name": "右腕"
},
{
"Id": "PARAM_BREATH",
"GroupId": "",
"Name": "呼吸"
},
{
"Id": "PARAM_HAIR_FRONT",
"GroupId": "",
"Name": "髪揺れ 前"
},
{
"Id": "PARAM_HAIR_SIDE",
"GroupId": "",
"Name": "髪揺れ 横"
},
{
"Id": "PARAM_HAIR_SIDE_L",
"GroupId": "",
"Name": "左横髪"
},
{
"Id": "PARAM_HAIR_SIDE_R",
"GroupId": "",
"Name": "右横髪"
},
{
"Id": "PARAM_HAIR_BACK",
"GroupId": "",
"Name": "髪揺れ 後ろ"
},
{
"Id": "PARAM_HAIR_BACK_L",
"GroupId": "",
"Name": "左後ろ髪"
},
{
"Id": "PARAM_HAIR_BACK_R",
"GroupId": "",
"Name": "右後ろ髪"
}
],
"ParameterGroups": [],
"Parts": [
{
"Id": "PARTS_01_SKETCH",
"Name": "[ 下絵 ]"
},
{
"Id": "PARTS_01_BACKGROUND",
"Name": "背景"
},
{
"Id": "PARTS_01_FOOT",
"Name": "足"
},
{
"Id": "PARTS_01_BODY",
"Name": "体"
},
{
"Id": "PARTS_01_ARM_R",
"Name": "右腕"
},
{
"Id": "PARTS_01_ARM_L",
"Name": "左腕"
},
{
"Id": "PARTS_01_NECK",
"Name": "首"
},
{
"Id": "PARTS_01_CLOTHES",
"Name": "服"
},
{
"Id": "PARTS_01_HAIR_BACK_001",
"Name": "後ろ髪1"
},
{
"Id": "PARTS_01_HAIR_SIDE_001",
"Name": "横髪1"
},
{
"Id": "PARTS_01_HAIR_BACK_002",
"Name": "後ろ髪2"
},
{
"Id": "PARTS_01_HAIR_SIDE_002",
"Name": "横髪2"
},
{
"Id": "PARTS_01_HAIR_FRONT_001",
"Name": "前髪1"
},
{
"Id": "PARTS_01_HAIR_FRONT_002",
"Name": "前髪2"
},
{
"Id": "PARTS_01_EAR_001",
"Name": "耳"
},
{
"Id": "PARTS_01_NOSE_001",
"Name": "鼻"
},
{
"Id": "PARTS_01_MOUTH_001",
"Name": "口"
},
{
"Id": "PARTS_01_BROW_001",
"Name": "まゆ毛"
},
{
"Id": "PARTS_01_EYE_BALL_001",
"Name": "目玉"
},
{
"Id": "PARTS_01_EFFECT",
"Name": "表情エフェクト"
},
{
"Id": "PARTS_01_EYE_001",
"Name": "目"
},
{
"Id": "PARTS_01_FACE_001_c",
"Name": "顔デフォーマのみ"
},
{
"Id": "PARTS_01_FACE_001",
"Name": "顔"
},
{
"Id": "PARTS_01_HOHO",
"Name": "頬"
},
{
"Id": "PARTS_01_CORE",
"Name": "コアパーツ"
},
{
"Id": "ROUGH",
"Name": "ラフ"
}
]
}
Binary file not shown.
@@ -0,0 +1,229 @@
{
"Version": 3,
"Meta": {
"PhysicsSettingCount": 2,
"TotalInputCount": 8,
"TotalOutputCount": 4,
"VertexCount": 4,
"EffectiveForces": {
"Gravity": {
"X": 0,
"Y": -1
},
"Wind": {
"X": 0,
"Y": 0
}
},
"PhysicsDictionary": [
{
"Id": "PhysicsSetting1",
"Name": "横髪"
},
{
"Id": "PhysicsSetting2",
"Name": "後ろ髪"
}
]
},
"PhysicsSettings": [
{
"Id": "PhysicsSetting1",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_ANGLE_X"
},
"Weight": 60,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z"
},
"Weight": 60,
"Type": "Angle",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X"
},
"Weight": 40,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z"
},
"Weight": 40,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_L"
},
"VertexIndex": 1,
"Scale": 1,
"Weight": 100,
"Type": "Angle",
"Reflect": false
},
{
"Destination": {
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_R"
},
"VertexIndex": 1,
"Scale": 1,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 9
},
"Mobility": 0.95,
"Delay": 0.9,
"Acceleration": 1.5,
"Radius": 9
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
},
{
"Id": "PhysicsSetting2",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_ANGLE_X"
},
"Weight": 60,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z"
},
"Weight": 60,
"Type": "Angle",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X"
},
"Weight": 40,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z"
},
"Weight": 40,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_L"
},
"VertexIndex": 1,
"Scale": 1,
"Weight": 100,
"Type": "Angle",
"Reflect": false
},
{
"Destination": {
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_R"
},
"VertexIndex": 1,
"Scale": 1,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 15
},
"Mobility": 0.95,
"Delay": 0.8,
"Acceleration": 1.5,
"Radius": 15
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
}
]
}
@@ -0,0 +1,80 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "PARAM_EYE_L_OPEN",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_R_OPEN",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_BALL_X",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_BALL_Y",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_Y",
"Value": -0.59,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_Y",
"Value": -0.59,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_X",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_X",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_ANGLE",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_ANGLE",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_FORM",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_FORM",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_MOUTH_FORM",
"Value": -2,
"Blend": "Add"
},
{
"Id": "PARAM_MOUTH_OPEN_Y",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_TERE",
"Value": 0,
"Blend": "Add"
}
]
}
@@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "PARAM_EYE_L_OPEN",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_R_OPEN",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_BALL_X",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_BALL_Y",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_Y",
"Value": -0.42,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_Y",
"Value": -0.44,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_X",
"Value": -0.07,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_X",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_ANGLE",
"Value": 1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_ANGLE",
"Value": 1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_FORM",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_FORM",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_MOUTH_FORM",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_TERE",
"Value": 1,
"Blend": "Add"
}
]
}
@@ -0,0 +1,4 @@
{
"Type": "Live2D Expression",
"Parameters": []
}
@@ -0,0 +1,55 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "PARAM_EYE_L_OPEN",
"Value": -0.13,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_R_OPEN",
"Value": -0.13,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_Y",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_Y",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_ANGLE",
"Value": 1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_ANGLE",
"Value": 1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_FORM",
"Value": -0.51,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_FORM",
"Value": -0.51,
"Blend": "Add"
},
{
"Id": "PARAM_MOUTH_FORM",
"Value": -2,
"Blend": "Add"
},
{
"Id": "PARAM_MOUTH_OPEN_Y",
"Value": 0,
"Blend": "Add"
}
]
}
@@ -0,0 +1,40 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "PARAM_EYE_L_OPEN",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_L_SMILE",
"Value": 1,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_R_OPEN",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_R_SMILE",
"Value": 1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_ANGLE",
"Value": 0.48,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_ANGLE",
"Value": 0.46,
"Blend": "Add"
},
{
"Id": "PARAM_MOUTH_FORM",
"Value": 0,
"Blend": "Add"
}
]
}
@@ -0,0 +1,60 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "PARAM_EYE_L_OPEN",
"Value": 0.5,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_R_OPEN",
"Value": 0.5,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_Y",
"Value": 1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_Y",
"Value": 1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_X",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_ANGLE",
"Value": 0.28,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_ANGLE",
"Value": 0.31,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_FORM",
"Value": 1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_FORM",
"Value": 1,
"Blend": "Add"
},
{
"Id": "PARAM_MOUTH_FORM",
"Value": -2,
"Blend": "Add"
},
{
"Id": "PARAM_MOUTH_OPEN_Y",
"Value": 0,
"Blend": "Add"
}
]
}
@@ -0,0 +1,80 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "PARAM_EYE_L_OPEN",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_R_OPEN",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_BALL_X",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_BALL_Y",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_Y",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_Y",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_X",
"Value": -0.07,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_X",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_ANGLE",
"Value": 0.73,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_ANGLE",
"Value": 0.71,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_FORM",
"Value": -0.81,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_FORM",
"Value": -0.81,
"Blend": "Add"
},
{
"Id": "PARAM_MOUTH_FORM",
"Value": -2,
"Blend": "Add"
},
{
"Id": "PARAM_MOUTH_OPEN_Y",
"Value": 0,
"Blend": "Add"
},
{
"Id": "PARAM_TERE",
"Value": 0,
"Blend": "Add"
}
]
}
@@ -0,0 +1,55 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "PARAM_EYE_L_OPEN",
"Value": -0.25,
"Blend": "Add"
},
{
"Id": "PARAM_EYE_R_OPEN",
"Value": -0.25,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_Y",
"Value": -0.31,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_Y",
"Value": -0.36,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_ANGLE",
"Value": 0.61,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_ANGLE",
"Value": 0.62,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_L_FORM",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_BROW_R_FORM",
"Value": -1,
"Blend": "Add"
},
{
"Id": "PARAM_MOUTH_FORM",
"Value": -1.53,
"Blend": "Add"
},
{
"Id": "PARAM_MOUTH_OPEN_Y",
"Value": 0,
"Blend": "Add"
}
]
}
@@ -0,0 +1,126 @@
{
"Version": 3,
"FileReferences": {
"Moc": "Epsilon.moc3",
"Textures": [
"Epsilon.1024/texture_00.png",
"Epsilon.1024/texture_01.png",
"Epsilon.1024/texture_02.png"
],
"Physics": "Epsilon.physics3.json",
"DisplayInfo": "Epsilon.cdi3.json",
"Expressions": [
{
"Name": "Angry.exp3.json",
"File": "expressions/Angry.exp3.json"
},
{
"Name": "Blushing.exp3.json",
"File": "expressions/Blushing.exp3.json"
},
{
"Name": "f01.exp3.json",
"File": "expressions/f01.exp3.json"
},
{
"Name": "f02.exp3.json",
"File": "expressions/f02.exp3.json"
},
{
"Name": "Normal.exp3.json",
"File": "expressions/Normal.exp3.json"
},
{
"Name": "Sad.exp3.json",
"File": "expressions/Sad.exp3.json"
},
{
"Name": "Smile.exp3.json",
"File": "expressions/Smile.exp3.json"
},
{
"Name": "Surprised.exp3.json",
"File": "expressions/Surprised.exp3.json"
}
],
"Motions": {
"Idle": [
{
"File": "motion/Epsilon_idle_01.motion3.json"
}
],
"Tap": [
{
"File": "motion/Epsilon_m_03.motion3.json"
},
{
"File": "motion/Epsilon_m_sp_02.motion3.json"
},
{
"File": "motion/Epsilon_m_sp_03.motion3.json"
},
{
"File": "motion/Epsilon_m_sp_05.motion3.json"
}
],
"Flick3": [
{
"File": "motion/Epsilon_m_sp_01.motion3.json"
},
{
"File": "motion/Epsilon_m_04.motion3.json"
}
],
"FlickUp": [
{
"File": "motion/Epsilon_m_01.motion3.json"
},
{
"File": "motion/Epsilon_m_05.motion3.json"
}
],
"FlickDown": [
{
"File": "motion/Epsilon_m_06.motion3.json"
},
{
"File": "motion/Epsilon_m_08.motion3.json"
}
],
"Flick": [
{
"File": "motion/Epsilon_m_02.motion3.json"
},
{
"File": "motion/Epsilon_m_07.motion3.json"
}
],
"Shake": [
{
"File": "motion/Epsilon_shake_01.motion3.json"
},
{
"File": "motion/Epsilon_m_sp_04.motion3.json"
}
]
}
},
"Groups": [
{
"Target": "Parameter",
"Name": "EyeBlink",
"Ids": [
"PARAM_EYE_L_OPEN",
"PARAM_EYE_R_OPEN"
]
},
{
"Target": "Parameter",
"Name": "LipSync",
"Ids": [
"PARAM_MOUTH_OPEN_Y"
]
}
],
"HitAreas": []
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,685 @@
{
"Version": 3,
"Meta": {
"Duration": 1.87,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 38,
"TotalSegmentCount": 55,
"TotalPointCount": 193,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.489,
0,
0.578,
0,
0.667,
0,
1,
0.778,
0,
0.889,
0,
1,
0,
1,
1.1,
0,
1.2,
0,
1.3,
0,
1,
1.389,
0,
1.478,
0,
1.567,
0,
1,
1.667,
0,
1.767,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.489,
0,
0.578,
20,
0.667,
20,
1,
0.733,
20,
0.8,
-15.622,
0.867,
-25,
1,
0.911,
-31.252,
0.956,
-30,
1,
-30,
1,
1.1,
-30,
1.2,
5,
1.3,
5,
1,
1.389,
5,
1.478,
0,
1.567,
0,
1,
1.667,
0,
1.767,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.333,
0,
0.667,
0,
1,
0,
1,
1.289,
0,
1.578,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
1,
1,
0.622,
1,
1.244,
1,
1.867,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_SMILE",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
1,
1,
0.622,
1,
1.244,
1,
1.867,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_SMILE",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_FORM",
"Segments": [
0,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_X",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_Y",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_Y",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_Y",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_X",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_X",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_ANGLE",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_ANGLE",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_FORM",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_FORM",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_FORM",
"Segments": [
0,
1,
1,
0.622,
1,
1.244,
1,
1.867,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TERE",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TEAR",
"Segments": [
0,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWEAT",
"Segments": [
0,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_RAGE",
"Segments": [
0,
0,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.489,
0,
0.578,
7,
0.667,
7,
1,
0.756,
7,
0.844,
-5,
0.933,
-5,
1,
1.033,
-5,
1.133,
0,
1.233,
0,
1,
1.3,
0,
1.367,
0,
1.433,
0,
1,
1.578,
0,
1.722,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_L",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_R",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_FRONT",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_L",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_R",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_L",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_R",
"Segments": [
0,
0,
1,
0.622,
0,
1.244,
0,
1.867,
0
]
},
{
"Target": "PartOpacity",
"Id": "PARTS_01_FACE_001_c",
"Segments": [
0,
0,
0,
1.87,
0
]
}
]
}
@@ -0,0 +1,764 @@
{
"Version": 3,
"Meta": {
"Duration": 2.43,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 38,
"TotalSegmentCount": 84,
"TotalPointCount": 218,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.478,
0,
0.556,
-30,
0.633,
-30,
1,
0.744,
-30,
0.856,
22,
0.967,
22,
1,
1.1,
22,
1.233,
-23,
1.367,
-23,
1,
1.489,
-23,
1.611,
0,
1.733,
0,
1,
1.967,
0,
2.2,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.478,
0,
0.556,
0,
0.633,
0,
1,
0.744,
0,
0.856,
-4,
0.967,
-4,
1,
1.1,
-4,
1.233,
-4,
1.367,
-4,
1,
1.489,
-4,
1.611,
0,
1.733,
0,
1,
1.967,
0,
2.2,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
1,
1,
0.467,
1,
0.933,
1,
1.4,
1,
1,
1.433,
1,
1.467,
0,
1.5,
0,
1,
1.511,
0,
1.522,
0,
1.533,
0,
1,
1.589,
0,
1.644,
1,
1.7,
1,
0,
2.433,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_SMILE",
"Segments": [
0,
0,
1,
0.467,
0,
0.933,
0,
1.4,
0,
1,
1.433,
0,
1.467,
0,
1.5,
0,
1,
1.511,
0,
1.522,
0,
1.533,
0,
1,
1.589,
0,
1.644,
0,
1.7,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
1,
1,
0.467,
1,
0.933,
1,
1.4,
1,
1,
1.433,
1,
1.467,
0,
1.5,
0,
1,
1.511,
0,
1.522,
0,
1.533,
0,
1,
1.589,
0,
1.644,
1,
1.7,
1,
0,
2.433,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_SMILE",
"Segments": [
0,
0,
1,
0.467,
0,
0.933,
0,
1.4,
0,
1,
1.433,
0,
1.467,
0,
1.5,
0,
1,
1.511,
0,
1.522,
0,
1.533,
0,
1,
1.589,
0,
1.644,
0,
1.7,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_FORM",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_X",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.478,
0,
0.556,
0.56,
0.633,
0.56,
1,
0.744,
0.56,
0.856,
-0.6,
0.967,
-0.6,
1,
1.1,
-0.6,
1.233,
0.56,
1.367,
0.56,
1,
1.522,
0.56,
1.678,
0,
1.833,
0,
1,
2.011,
0,
2.189,
0,
2.367,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_Y",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.478,
0,
0.556,
0,
0.633,
0,
1,
0.744,
0,
0.856,
0.04,
0.967,
0.04,
1,
1.1,
0.04,
1.233,
0,
1.367,
0,
1,
1.522,
0,
1.678,
0,
1.833,
0,
1,
2.011,
0,
2.189,
0,
2.367,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_Y",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_Y",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_X",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_X",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_ANGLE",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_ANGLE",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_FORM",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_FORM",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_FORM",
"Segments": [
0,
1,
0,
2.433,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TERE",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TEAR",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWEAT",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_RAGE",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
0,
0.367,
0,
1,
0.467,
0,
0.567,
-2,
0.667,
-2,
1,
0.778,
-2,
0.889,
4,
1,
4,
1,
1.133,
4,
1.267,
-2,
1.4,
-2,
1,
1.533,
-2,
1.667,
0,
1.8,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.122,
0,
0.244,
0,
0.367,
0,
1,
0.533,
0,
0.7,
-2,
0.867,
-2,
1,
1.133,
-2,
1.4,
0,
1.667,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_L",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_R",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_FRONT",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_L",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_R",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_L",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_R",
"Segments": [
0,
0,
0,
2.433,
0
]
},
{
"Target": "PartOpacity",
"Id": "PARTS_01_FACE_001_c",
"Segments": [
0,
0,
0,
2.43,
0
]
}
]
}
@@ -0,0 +1,665 @@
{
"Version": 3,
"Meta": {
"Duration": 2.03,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 38,
"TotalSegmentCount": 71,
"TotalPointCount": 175,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.289,
0,
0.578,
0,
0.867,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.1,
0,
0.2,
0,
0.3,
0,
1,
0.378,
0,
0.456,
16,
0.533,
16,
1,
0.644,
16,
0.756,
0,
0.867,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.1,
0,
0.2,
0,
0.3,
0,
1,
0.489,
0,
0.678,
-30,
0.867,
-30,
0,
2.033,
-30
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
1,
1,
0.389,
1,
0.778,
1,
1.167,
1,
1,
1.2,
1,
1.233,
0,
1.267,
0,
1,
1.278,
0,
1.289,
0,
1.3,
0,
1,
1.344,
0,
1.389,
1,
1.433,
1,
0,
2.033,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_SMILE",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
1,
1,
0.389,
1,
0.778,
1,
1.167,
1,
1,
1.2,
1,
1.233,
0,
1.267,
0,
1,
1.278,
0,
1.289,
0,
1.3,
0,
1,
1.344,
0,
1.389,
1,
1.433,
1,
0,
2.033,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_SMILE",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_FORM",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_X",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_Y",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_Y",
"Segments": [
0,
0,
1,
0.156,
0,
0.311,
0,
0.467,
0,
1,
0.6,
0,
0.733,
0,
0.867,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_Y",
"Segments": [
0,
0,
1,
0.156,
0,
0.311,
0,
0.467,
0,
1,
0.6,
0,
0.733,
0,
0.867,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_X",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_X",
"Segments": [
0,
0,
1,
0.289,
0,
0.578,
0,
0.867,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_ANGLE",
"Segments": [
0,
0,
1,
0.156,
0,
0.311,
0,
0.467,
0,
1,
0.6,
0,
0.733,
0,
0.867,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_ANGLE",
"Segments": [
0,
0,
1,
0.156,
0,
0.311,
0,
0.467,
0,
1,
0.6,
0,
0.733,
0,
0.867,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_FORM",
"Segments": [
0,
0,
1,
0.156,
0,
0.311,
0,
0.467,
0,
1,
0.6,
0,
0.733,
0,
0.867,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_FORM",
"Segments": [
0,
0,
1,
0.156,
0,
0.311,
0,
0.467,
0,
1,
0.6,
0,
0.733,
0,
0.867,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_FORM",
"Segments": [
0,
-0.03,
0,
2.033,
-0.03
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TERE",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TEAR",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWEAT",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_RAGE",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.533,
0,
0.733,
-7,
0.933,
-7,
0,
2.033,
-7
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.411,
0,
0.489,
2,
0.567,
2,
1,
0.689,
2,
0.811,
-3,
0.933,
-3,
1,
1.033,
-3,
1.133,
0,
1.233,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_L",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_R",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_FRONT",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_L",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_R",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_L",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_R",
"Segments": [
0,
0,
0,
2.033,
0
]
},
{
"Target": "PartOpacity",
"Id": "PARTS_01_FACE_001_c",
"Segments": [
0,
0,
0,
2.03,
0
]
}
]
}
@@ -0,0 +1,637 @@
{
"Version": 3,
"Meta": {
"Duration": 2.7,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 38,
"TotalSegmentCount": 67,
"TotalPointCount": 163,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.489,
0,
0.578,
0,
0.667,
0,
1,
0.778,
0,
0.889,
0,
1,
0,
1,
1.156,
0,
1.311,
0,
1.467,
0,
1,
1.544,
0,
1.622,
0,
1.7,
0,
1,
1.833,
0,
1.967,
0,
2.1,
0,
1,
2.178,
0,
2.256,
0,
2.333,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
-2,
0.4,
-2,
1,
0.489,
-2,
0.578,
20,
0.667,
20,
1,
0.778,
20,
0.889,
0,
1,
0,
1,
1.156,
0,
1.311,
0,
1.467,
0,
1,
1.544,
0,
1.622,
5,
1.7,
5,
1,
1.833,
5,
1.967,
0,
2.1,
0,
1,
2.178,
0,
2.256,
0,
2.333,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.489,
0,
0.578,
-3,
0.667,
-3,
1,
0.778,
-3,
0.889,
19,
1,
19,
1,
1.156,
19,
1.311,
19,
1.467,
19,
1,
1.678,
19,
1.889,
0,
2.1,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_SMILE",
"Segments": [
0,
1,
0,
2.7,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_SMILE",
"Segments": [
0,
1,
0,
2.7,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_FORM",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_X",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_Y",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_Y",
"Segments": [
0,
-0.5,
0,
2.7,
-0.5
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_Y",
"Segments": [
0,
-0.52,
0,
2.7,
-0.52
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_X",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_X",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_ANGLE",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_ANGLE",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_FORM",
"Segments": [
0,
0.48,
0,
2.7,
0.48
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_FORM",
"Segments": [
0,
0.5,
0,
2.7,
0.5
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_FORM",
"Segments": [
0,
1,
0,
2.7,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TERE",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TEAR",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWEAT",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_RAGE",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.633,
0,
0.867,
10,
1.1,
10,
1,
1.222,
10,
1.344,
10,
1.467,
10,
1,
1.689,
10,
1.911,
0,
2.133,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.133,
0,
0.267,
0,
0.4,
0,
1,
0.5,
0,
0.6,
10,
0.7,
10,
1,
0.8,
10,
0.9,
-5,
1,
-5,
1,
1.156,
-5,
1.311,
-5,
1.467,
-5,
1,
1.678,
-5,
1.889,
0,
2.1,
0,
1,
2.133,
0,
2.167,
0,
2.2,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_L",
"Segments": [
0,
-10,
0,
2.7,
-10
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_R",
"Segments": [
0,
-10,
0,
2.7,
-10
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_FRONT",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_L",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_R",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_L",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_R",
"Segments": [
0,
0,
0,
2.7,
0
]
},
{
"Target": "PartOpacity",
"Id": "PARTS_01_FACE_001_c",
"Segments": [
0,
0,
0,
2.7,
0
]
}
]
}
@@ -0,0 +1,917 @@
{
"Version": 3,
"Meta": {
"Duration": 1.9,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 38,
"TotalSegmentCount": 107,
"TotalPointCount": 283,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.233,
0,
0.467,
0,
0.7,
0,
1,
0.778,
0,
0.856,
0,
0.933,
0,
1,
1.111,
0,
1.289,
0,
1.467,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
11,
0.333,
11,
1,
0.456,
11,
0.578,
-30,
0.7,
-30,
1,
0.778,
-30,
0.856,
-30,
0.933,
-30,
1,
1.011,
-30,
1.089,
-30,
1.167,
-30,
1,
1.267,
-30,
1.367,
0,
1.467,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.311,
0,
0.622,
0,
0.933,
0,
1,
1.111,
0,
1.289,
0,
1.467,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
1,
1,
0.111,
1,
0.222,
1,
0.333,
1,
1,
0.456,
1,
0.578,
0.91,
0.7,
0.91,
1,
0.778,
0.91,
0.856,
0.91,
0.933,
0.91,
1,
1.111,
0.91,
1.289,
1,
1.467,
1,
0,
1.9,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_SMILE",
"Segments": [
0,
0,
1,
0.311,
0,
0.622,
0,
0.933,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
1,
1,
0.111,
1,
0.222,
1,
0.333,
1,
1,
0.456,
1,
0.578,
0.91,
0.7,
0.91,
1,
0.778,
0.91,
0.856,
0.91,
0.933,
0.91,
1,
1.111,
0.91,
1.289,
1,
1.467,
1,
0,
1.9,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_SMILE",
"Segments": [
0,
0,
1,
0.311,
0,
0.622,
0,
0.933,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_FORM",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_X",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
-0.02,
0.333,
-0.02,
1,
0.456,
-0.02,
0.578,
0,
0.7,
0,
1,
0.778,
0,
0.856,
0,
0.933,
0,
1,
1.111,
0,
1.289,
0,
1.467,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
-0.42,
0.333,
-0.42,
1,
0.456,
-0.42,
0.578,
1,
0.7,
1,
1,
0.778,
1,
0.856,
1,
0.933,
1,
1,
1.111,
1,
1.289,
0,
1.467,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.456,
0,
0.578,
-0.33,
0.7,
-0.33,
1,
0.778,
-0.33,
0.856,
-0.33,
0.933,
-0.33,
1,
1.111,
-0.33,
1.289,
0,
1.467,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.456,
0,
0.578,
-0.31,
0.7,
-0.31,
1,
0.778,
-0.31,
0.856,
-0.31,
0.933,
-0.31,
1,
1.111,
-0.31,
1.289,
0,
1.467,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_X",
"Segments": [
0,
0,
1,
0.233,
0,
0.467,
-0.71,
0.7,
-0.71,
1,
0.778,
-0.71,
0.856,
-0.71,
0.933,
-0.71,
0,
1.9,
-0.71
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_X",
"Segments": [
0,
0,
1,
0.233,
0,
0.467,
-0.73,
0.7,
-0.73,
1,
0.778,
-0.73,
0.856,
-0.73,
0.933,
-0.73,
0,
1.9,
-0.73
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_ANGLE",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.456,
0,
0.578,
-1,
0.7,
-1,
1,
0.778,
-1,
0.856,
-1,
0.933,
-1,
0,
1.9,
-1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_ANGLE",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.456,
0,
0.578,
-1,
0.7,
-1,
1,
0.778,
-1,
0.856,
-1,
0.933,
-1,
0,
1.9,
-1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_FORM",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.456,
0,
0.578,
-1,
0.7,
-1,
1,
0.778,
-1,
0.856,
-1,
0.933,
-1,
0,
1.9,
-1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_FORM",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.456,
0,
0.578,
-1,
0.7,
-1,
1,
0.778,
-1,
0.856,
-1,
0.933,
-1,
0,
1.9,
-1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_FORM",
"Segments": [
0,
-1,
1,
0.311,
-1,
0.622,
-1,
0.933,
-1,
0,
1.9,
-1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TERE",
"Segments": [
0,
0,
1,
0.489,
0,
0.978,
0,
1.467,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TEAR",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWEAT",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_RAGE",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.311,
0,
0.622,
0,
0.933,
0,
1,
1.111,
0,
1.289,
0,
1.467,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.311,
0,
0.622,
0,
0.933,
0,
1,
1.111,
0,
1.289,
0,
1.467,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
4,
0.333,
4,
1,
0.367,
4,
0.4,
4,
0.433,
4,
1,
0.522,
4,
0.611,
-10,
0.7,
-10,
1,
0.778,
-10,
0.856,
-10,
0.933,
-10,
1,
1.011,
-10,
1.089,
-9.957,
1.167,
-8,
1,
1.222,
-6.602,
1.278,
3,
1.333,
3,
1,
1.422,
3,
1.511,
0,
1.6,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_L",
"Segments": [
0,
20,
1,
0.311,
20,
0.622,
20,
0.933,
20,
1,
1.111,
20,
1.289,
20,
1.467,
20,
0,
1.9,
20
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_R",
"Segments": [
0,
20,
1,
0.311,
20,
0.622,
20,
0.933,
20,
1,
1.111,
20,
1.289,
20,
1.467,
20,
0,
1.9,
20
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_FRONT",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_L",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_R",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_L",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_R",
"Segments": [
0,
0,
0,
1.9,
0
]
},
{
"Target": "PartOpacity",
"Id": "PARTS_01_FACE_001_c",
"Segments": [
0,
0,
0,
1.9,
0
]
}
]
}
@@ -0,0 +1,623 @@
{
"Version": 3,
"Meta": {
"Duration": 2.53,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 38,
"TotalSegmentCount": 65,
"TotalPointCount": 157,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.144,
0,
0.289,
0,
0.433,
0,
1,
0.7,
0,
0.967,
0,
1.233,
0,
1,
1.5,
0,
1.767,
0,
2.033,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.144,
0,
0.289,
0,
0.433,
0,
1,
0.556,
0,
0.678,
-28,
0.8,
-28,
1,
0.944,
-28,
1.089,
-28,
1.233,
-28,
1,
1.5,
-28,
1.767,
0,
2.033,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.267,
0,
0.533,
-11,
0.8,
-11,
1,
0.944,
-11,
1.089,
-11,
1.233,
-11,
1,
1.533,
-11,
1.833,
0,
2.133,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_SMILE",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_SMILE",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_FORM",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_X",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_Y",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_Y",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_Y",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_X",
"Segments": [
0,
0,
1,
0.333,
0,
0.667,
0,
1,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_X",
"Segments": [
0,
0,
1,
0.333,
0,
0.667,
0,
1,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_ANGLE",
"Segments": [
0,
1,
1,
0.333,
1,
0.667,
1,
1,
1,
0,
2.533,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_ANGLE",
"Segments": [
0,
1,
1,
0.333,
1,
0.667,
1,
1,
1,
0,
2.533,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_FORM",
"Segments": [
0,
-1,
1,
0.333,
-1,
0.667,
-1,
1,
-1,
0,
2.533,
-1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_FORM",
"Segments": [
0,
-1,
1,
0.333,
-1,
0.667,
-1,
1,
-1,
0,
2.533,
-1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_FORM",
"Segments": [
0,
-1,
1,
0.333,
-1,
0.667,
-1,
1,
-1,
1,
1.344,
-1,
1.689,
-1,
2.033,
-1,
1,
2.078,
-1,
2.122,
-1,
2.167,
-1,
0,
2.533,
-1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
1,
0.333,
0,
0.667,
0,
1,
0,
1,
1.344,
0,
1.689,
0,
2.033,
0,
1,
2.078,
0,
2.122,
0,
2.167,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TERE",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TEAR",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWEAT",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_RAGE",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.144,
0,
0.289,
4,
0.433,
4,
1,
0.556,
4,
0.678,
-8,
0.8,
-8,
1,
0.944,
-8,
1.089,
-8,
1.233,
-8,
1,
1.422,
-8,
1.611,
3,
1.8,
3,
1,
1.911,
3,
2.022,
0,
2.133,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_L",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_R",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_FRONT",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_L",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_R",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_L",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_R",
"Segments": [
0,
0,
0,
2.533,
0
]
},
{
"Target": "PartOpacity",
"Id": "PARTS_01_FACE_001_c",
"Segments": [
0,
0,
0,
2.53,
0
]
}
]
}
@@ -0,0 +1,847 @@
{
"Version": 3,
"Meta": {
"Duration": 1.53,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 38,
"TotalSegmentCount": 97,
"TotalPointCount": 253,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.411,
0,
0.489,
13,
0.567,
13,
1,
0.644,
13,
0.722,
7,
0.8,
7,
0,
1.533,
7
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
30,
0.333,
30,
1,
0.411,
30,
0.489,
-18,
0.567,
-18,
1,
0.644,
-18,
0.722,
0,
0.8,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
17,
1,
0.089,
17,
0.178,
-6,
0.267,
-6,
1,
0.4,
-6,
0.533,
13,
0.667,
13,
0,
1.533,
13
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
1.5,
1,
0.089,
1.5,
0.178,
1.5,
0.267,
1.5,
1,
0.311,
1.5,
0.356,
1.5,
0.4,
1.5,
1,
0.444,
1.5,
0.489,
0,
0.533,
0,
1,
0.556,
0,
0.578,
0,
0.6,
0,
1,
0.656,
0,
0.711,
1,
0.767,
1,
0,
1.533,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_SMILE",
"Segments": [
0,
1,
1,
0.089,
1,
0.178,
1,
0.267,
1,
1,
0.311,
1,
0.356,
1,
0.4,
1,
1,
0.522,
1,
0.644,
1,
0.767,
1,
0,
1.533,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
1.5,
1,
0.089,
1.5,
0.178,
1.5,
0.267,
1.5,
1,
0.311,
1.5,
0.356,
1.5,
0.4,
1.5,
1,
0.444,
1.5,
0.489,
0,
0.533,
0,
1,
0.556,
0,
0.578,
0,
0.6,
0,
1,
0.656,
0,
0.711,
1,
0.767,
1,
0,
1.533,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_SMILE",
"Segments": [
0,
1,
1,
0.089,
1,
0.178,
1,
0.267,
1,
1,
0.389,
1,
0.511,
1,
0.633,
1,
0,
1.533,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_FORM",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_X",
"Segments": [
0,
0,
1,
0.1,
0,
0.2,
-0.14,
0.3,
-0.14,
1,
0.422,
-0.14,
0.544,
0.28,
0.667,
0.28,
1,
0.711,
0.28,
0.756,
-0.31,
0.8,
-0.31,
0,
1.533,
-0.31
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_Y",
"Segments": [
0,
-1,
1,
0.1,
-1,
0.2,
-1.012,
0.3,
-0.92,
1,
0.422,
-0.807,
0.544,
-0.382,
0.667,
-0.08,
1,
0.711,
0.03,
0.756,
0.13,
0.8,
0.13,
0,
1.533,
0.13
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_Y",
"Segments": [
0,
1,
1,
0.089,
1,
0.178,
1,
0.267,
1,
1,
0.4,
1,
0.533,
0,
0.667,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_Y",
"Segments": [
0,
1,
1,
0.089,
1,
0.178,
1,
0.267,
1,
1,
0.4,
1,
0.533,
0,
0.667,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_X",
"Segments": [
0,
0,
1,
0.089,
0,
0.178,
0,
0.267,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_X",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_ANGLE",
"Segments": [
0,
0.28,
1,
0.089,
0.28,
0.178,
0.28,
0.267,
0.28,
1,
0.4,
0.28,
0.533,
0.28,
0.667,
0.28,
0,
1.533,
0.28
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_ANGLE",
"Segments": [
0,
0.31,
1,
0.089,
0.31,
0.178,
0.31,
0.267,
0.31,
1,
0.4,
0.31,
0.533,
0.33,
0.667,
0.33,
0,
1.533,
0.33
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_FORM",
"Segments": [
0,
1,
1,
0.089,
1,
0.178,
1,
0.267,
1,
1,
0.4,
1,
0.533,
-0.83,
0.667,
-0.83,
0,
1.533,
-0.83
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_FORM",
"Segments": [
0,
1,
1,
0.089,
1,
0.178,
1,
0.267,
1,
1,
0.4,
1,
0.533,
-0.86,
0.667,
-0.86,
0,
1.533,
-0.86
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_FORM",
"Segments": [
0,
-1,
1,
0.089,
-1,
0.178,
-1,
0.267,
-1,
1,
0.4,
-1,
0.533,
-0.33,
0.667,
-0.33,
0,
1.533,
-0.33
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
1,
0.089,
0,
0.178,
0,
0.267,
0,
1,
0.4,
0,
0.533,
0,
0.667,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TERE",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TEAR",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWEAT",
"Segments": [
0,
1,
1,
0.133,
1,
0.267,
0,
0.4,
0,
1,
0.489,
0,
0.578,
1,
0.667,
1,
0,
1.533,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_RAGE",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.089,
0,
0.178,
4,
0.267,
4,
1,
0.4,
4,
0.533,
0,
0.667,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.089,
0,
0.178,
-5,
0.267,
-5,
1,
0.456,
-5,
0.644,
-2,
0.833,
-2,
0,
1.533,
-2
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.089,
0,
0.178,
10,
0.267,
10,
1,
0.356,
10,
0.444,
-3,
0.533,
-3,
1,
0.6,
-3,
0.667,
0,
0.733,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_L",
"Segments": [
0,
0,
1,
0.1,
0,
0.2,
0,
0.3,
0,
1,
0.467,
0,
0.633,
-10,
0.8,
-10,
0,
1.533,
-10
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_R",
"Segments": [
0,
0,
1,
0.1,
0,
0.2,
0,
0.3,
0,
1,
0.467,
0,
0.633,
-10,
0.8,
-10,
0,
1.533,
-10
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_FRONT",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_L",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_R",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_L",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_R",
"Segments": [
0,
0,
0,
1.533,
0
]
},
{
"Target": "PartOpacity",
"Id": "PARTS_01_FACE_001_c",
"Segments": [
0,
0,
0,
1.53,
0
]
}
]
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,833 @@
{
"Version": 3,
"Meta": {
"Duration": 2.87,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 38,
"TotalSegmentCount": 95,
"TotalPointCount": 247,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.089,
0,
0.178,
0,
0.267,
0,
1,
0.344,
0,
0.422,
0,
0.5,
0,
1,
0.589,
0,
0.678,
-14,
0.767,
-14,
1,
0.867,
-14,
0.967,
23,
1.067,
23,
1,
1.189,
23,
1.311,
-17,
1.433,
-17,
1,
1.6,
-17,
1.767,
0,
1.933,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.089,
0,
0.178,
30,
0.267,
30,
1,
0.344,
30,
0.422,
30,
0.5,
30,
1,
0.589,
30,
0.678,
15,
0.767,
15,
1,
0.867,
15,
0.967,
15.153,
1.067,
16,
1,
1.189,
17.035,
1.311,
18,
1.433,
18,
1,
1.578,
18,
1.722,
0,
1.867,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.167,
0,
0.333,
0,
0.5,
0,
1,
0.589,
0,
0.678,
-8,
0.767,
-8,
1,
0.867,
-8,
0.967,
7,
1.067,
7,
1,
1.189,
7,
1.311,
-5,
1.433,
-5,
1,
1.533,
-5,
1.633,
0.301,
1.733,
3.054,
1,
1.778,
4.278,
1.822,
4.003,
1.867,
4.003,
1,
1.911,
4.003,
1.956,
4,
2,
4,
0,
2.867,
4
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
0,
1,
0.167,
0,
0.333,
0,
0.5,
0,
1,
0.878,
0,
1.256,
0,
1.633,
0,
1,
1.711,
0,
1.789,
1,
1.867,
1,
0,
2.867,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_SMILE",
"Segments": [
0,
1,
1,
0.167,
1,
0.333,
1,
0.5,
1,
0,
2.867,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
0,
1,
0.167,
0,
0.333,
0,
0.5,
0,
1,
0.878,
0,
1.256,
0,
1.633,
0,
1,
1.711,
0,
1.789,
1,
1.867,
1,
0,
2.867,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_SMILE",
"Segments": [
0,
1,
1,
0.167,
1,
0.333,
1,
0.5,
1,
0,
2.867,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_FORM",
"Segments": [
0,
0,
1,
0.167,
0,
0.333,
0,
0.5,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_X",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_Y",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_Y",
"Segments": [
0,
0.53,
1,
0.167,
0.53,
0.333,
0,
0.5,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_Y",
"Segments": [
0,
0.42,
1,
0.167,
0.42,
0.333,
0,
0.5,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_X",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_X",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_ANGLE",
"Segments": [
0,
0.28,
1,
0.167,
0.28,
0.333,
0.47,
0.5,
0.47,
0,
2.867,
0.47
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_ANGLE",
"Segments": [
0,
0.22,
1,
0.167,
0.22,
0.333,
0.42,
0.5,
0.42,
0,
2.867,
0.42
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_FORM",
"Segments": [
0,
0,
1,
0.167,
0,
0.333,
-1,
0.5,
-1,
0,
2.867,
-1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_FORM",
"Segments": [
0,
0,
1,
0.167,
0,
0.333,
-1,
0.5,
-1,
0,
2.867,
-1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_FORM",
"Segments": [
0,
0,
1,
0.167,
0,
0.333,
0,
0.5,
0,
1,
0.956,
0,
1.411,
0,
1.867,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
1,
0.167,
0,
0.333,
0,
0.5,
0,
1,
0.956,
0,
1.411,
0,
1.867,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TERE",
"Segments": [
0,
2,
1,
0.167,
2,
0.333,
2,
0.5,
2,
0,
2.867,
2
]
},
{
"Target": "Parameter",
"Id": "PARAM_TEAR",
"Segments": [
0,
1,
1,
0.167,
1,
0.333,
1,
0.5,
1,
0,
2.867,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWEAT",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_RAGE",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.156,
0,
0.311,
0,
0.467,
0,
1,
0.533,
0,
0.6,
-2,
0.667,
-2,
1,
0.778,
-2,
0.889,
1,
1,
1,
1,
1.1,
1,
1.2,
-1,
1.3,
-1,
1,
1.467,
-1,
1.633,
0,
1.8,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.156,
0,
0.311,
0,
0.467,
0,
1,
0.533,
0,
0.6,
-1,
0.667,
-1,
1,
0.778,
-1,
0.889,
1,
1,
1,
1,
1.1,
1,
1.2,
-1,
1.3,
-1,
1,
1.467,
-1,
1.633,
1,
1.8,
1,
0,
2.867,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.1,
0,
0.2,
3,
0.3,
3,
1,
0.389,
3,
0.478,
-5,
0.567,
-5,
1,
0.678,
-5,
0.789,
0,
0.9,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_L",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
4,
0.333,
4,
1,
0.422,
4,
0.511,
-10,
0.6,
-10,
0,
2.867,
-10
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_R",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
4,
0.333,
4,
1,
0.422,
4,
0.511,
-10,
0.6,
-10,
0,
2.867,
-10
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_FRONT",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_L",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_R",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_L",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_R",
"Segments": [
0,
0,
0,
2.867,
0
]
},
{
"Target": "PartOpacity",
"Id": "PARTS_01_FACE_001_c",
"Segments": [
0,
0,
0,
2.87,
0
]
}
]
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,819 @@
{
"Version": 3,
"Meta": {
"Duration": 1.67,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 38,
"TotalSegmentCount": 93,
"TotalPointCount": 241,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
1,
0.222,
0,
0.311,
0,
0.4,
0,
1,
0.567,
0,
0.733,
30,
0.9,
30,
0,
1.667,
30
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
1,
0.222,
0,
0.311,
-1,
0.4,
-1,
1,
0.567,
-1,
0.733,
0,
0.9,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
1,
0.222,
0,
0.311,
0,
0.4,
0,
1,
0.567,
0,
0.733,
12,
0.9,
12,
0,
1.667,
12
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
0.75,
1,
0.044,
0.75,
0.089,
0.75,
0.133,
0.75,
0,
1.667,
0.75
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_SMILE",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
0.75,
1,
0.044,
0.75,
0.089,
0.75,
0.133,
0.75,
0,
1.667,
0.75
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_SMILE",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_FORM",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_X",
"Segments": [
0,
1,
1,
0.044,
1,
0.089,
1,
0.133,
1,
1,
0.389,
1,
0.644,
0.53,
0.9,
0.53,
0,
1.667,
0.53
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_Y",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
1,
0.389,
0,
0.644,
0,
0.9,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_Y",
"Segments": [
0,
0.53,
1,
0.044,
0.53,
0.089,
0.53,
0.133,
0.53,
0,
1.667,
0.53
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_Y",
"Segments": [
0,
0.42,
1,
0.044,
0.42,
0.089,
0.42,
0.133,
0.42,
0,
1.667,
0.42
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_X",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_X",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_ANGLE",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_ANGLE",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_FORM",
"Segments": [
0,
-0.64,
1,
0.044,
-0.64,
0.089,
-0.64,
0.133,
-0.64,
0,
1.667,
-0.64
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_FORM",
"Segments": [
0,
-0.56,
1,
0.044,
-0.56,
0.089,
-0.56,
0.133,
-0.56,
0,
1.667,
-0.56
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_FORM",
"Segments": [
0,
1,
1,
0.044,
1,
0.089,
1,
0.133,
1,
1,
0.389,
1,
0.644,
1,
0.9,
1,
0,
1.667,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
1,
0.389,
0,
0.644,
0,
0.9,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TERE",
"Segments": [
0,
-2,
1,
0.044,
-2,
0.089,
-2,
0.133,
-2,
0,
1.667,
-2
]
},
{
"Target": "Parameter",
"Id": "PARAM_TEAR",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWEAT",
"Segments": [
0,
1,
1,
0.044,
1,
0.089,
1,
0.133,
1,
0,
1.667,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_RAGE",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
1,
0.189,
0,
0.244,
0,
0.3,
0,
1,
0.5,
0,
0.7,
10,
0.9,
10,
0,
1.667,
10
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
1,
0.189,
0,
0.244,
0,
0.3,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
1,
0.189,
0,
0.244,
0,
0.3,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_L",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
1,
0.189,
0,
0.244,
0,
0.3,
0,
1,
0.5,
0,
0.7,
-10,
0.9,
-10,
0,
1.667,
-10
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_R",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
1,
0.189,
0,
0.244,
0,
0.3,
0,
1,
0.5,
0,
0.7,
-10,
0.9,
-10,
0,
1.667,
-10
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_FRONT",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_L",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_R",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_L",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_R",
"Segments": [
0,
0,
1,
0.044,
0,
0.089,
0,
0.133,
0,
0,
1.667,
0
]
},
{
"Target": "PartOpacity",
"Id": "PARTS_01_FACE_001_c",
"Segments": [
0,
0,
0,
1.67,
0
]
}
]
}
@@ -0,0 +1,745 @@
{
"Version": 3,
"Meta": {
"Duration": 3.033,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": true,
"CurveCount": 37,
"TotalSegmentCount": 83,
"TotalPointCount": 212,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_X",
"Segments": [
0,
0,
1,
0.056,
0,
0.111,
-30,
0.167,
-30,
1,
0.256,
-30,
0.344,
-22.89,
0.433,
-6,
1,
0.533,
13.002,
0.633,
24,
0.733,
24,
1,
0.9,
24,
1.067,
-17,
1.233,
-17,
1,
1.389,
-17,
1.544,
0,
1.7,
0,
1,
1.856,
0,
2.011,
0,
2.167,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Y",
"Segments": [
0,
0,
1,
0.056,
0,
0.111,
30,
0.167,
30,
1,
0.256,
30,
0.344,
2.015,
0.433,
1,
1,
0.533,
-0.142,
0.633,
0.363,
0.733,
-1,
1,
0.9,
-3.272,
1.067,
-18.513,
1.233,
-24,
1,
1.389,
-29.121,
1.544,
-30,
1.7,
-30,
1,
1.856,
-30,
2.011,
0,
2.167,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ANGLE_Z",
"Segments": [
0,
0,
1,
0.144,
0,
0.289,
-30,
0.433,
-30,
1,
0.567,
-30,
0.7,
30,
0.833,
30,
1,
0.978,
30,
1.122,
-20,
1.267,
-20,
1,
1.411,
-20,
1.556,
12,
1.7,
12,
1,
1.856,
12,
2.011,
0,
2.167,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_OPEN",
"Segments": [
0,
1,
1,
0.522,
1,
1.044,
1,
1.567,
1,
1,
1.611,
1,
1.656,
0,
1.7,
0,
1,
1.744,
0,
1.789,
0,
1.833,
0,
1,
1.9,
0,
1.967,
1,
2.033,
1,
0,
3.033,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_L_SMILE",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_OPEN",
"Segments": [
0,
1,
1,
0.522,
1,
1.044,
1,
1.567,
1,
1,
1.611,
1,
1.656,
0,
1.7,
0,
1,
1.744,
0,
1.789,
0,
1.833,
0,
1,
1.9,
0,
1.967,
1,
2.033,
1,
0,
3.033,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_R_SMILE",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_FORM",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_X",
"Segments": [
0,
-0.87,
1,
0.211,
-0.87,
0.422,
1,
0.633,
1,
1,
0.778,
1,
0.922,
-0.52,
1.067,
-0.52,
1,
1.267,
-0.52,
1.467,
0.81,
1.667,
0.81,
1,
1.767,
0.81,
1.867,
0,
1.967,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_EYE_BALL_Y",
"Segments": [
0,
0.38,
1,
0.211,
0.38,
0.422,
0.79,
0.633,
0.79,
1,
0.778,
0.79,
0.922,
-0.54,
1.067,
-0.54,
1,
1.267,
-0.54,
1.467,
-0.54,
1.667,
-0.54,
1,
1.767,
-0.54,
1.867,
0,
1.967,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_Y",
"Segments": [
0,
0.63,
0,
3.033,
0.63
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_Y",
"Segments": [
0,
0.65,
0,
3.033,
0.65
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_X",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_X",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_ANGLE",
"Segments": [
0,
0.25,
0,
3.033,
0.25
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_ANGLE",
"Segments": [
0,
0.25,
0,
3.033,
0.25
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_L_FORM",
"Segments": [
0,
-0.52,
0,
3.033,
-0.52
]
},
{
"Target": "Parameter",
"Id": "PARAM_BROW_R_FORM",
"Segments": [
0,
-0.52,
0,
3.033,
-0.52
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_FORM",
"Segments": [
0,
-0.31,
0,
3.033,
-0.31
]
},
{
"Target": "Parameter",
"Id": "PARAM_MOUTH_OPEN_Y",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_TERE",
"Segments": [
0,
1,
0,
3.033,
1
]
},
{
"Target": "Parameter",
"Id": "PARAM_TEAR",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_SWEAT",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_RAGE",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_X",
"Segments": [
0,
0,
1,
0.089,
0,
0.178,
-10,
0.267,
-10,
1,
0.433,
-10,
0.6,
10,
0.767,
10,
1,
0.933,
10,
1.1,
-5,
1.267,
-5,
1,
1.422,
-5,
1.578,
2,
1.733,
2,
1,
1.9,
2,
2.067,
0,
2.233,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Z",
"Segments": [
0,
0,
1,
0.089,
0,
0.178,
-10,
0.267,
-10,
1,
0.433,
-10,
0.6,
10,
0.767,
10,
1,
0.933,
10,
1.1,
-7,
1.267,
-7,
1,
1.422,
-7,
1.578,
2,
1.733,
2,
1,
1.9,
2,
2.067,
0,
2.233,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BODY_ANGLE_Y",
"Segments": [
0,
0,
1,
0.578,
0,
1.156,
0,
1.733,
0,
1,
1.8,
0,
1.867,
5,
1.933,
5,
1,
2.033,
5,
2.133,
0,
2.233,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_L",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_ARM_R",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_BREATH",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_FRONT",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_L",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_SIDE_R",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_L",
"Segments": [
0,
0,
0,
3.033,
0
]
},
{
"Target": "Parameter",
"Id": "PARAM_HAIR_BACK_R",
"Segments": [
0,
0,
0,
3.033,
0
]
}
]
}
+158 -27
View File
@@ -1,4 +1,4 @@
import { useEffect, useRef, useState } from 'react';
import { useEffect, useRef, useState, useCallback } from 'react';
import AnimatedAvatar from './AnimatedAvatar';
interface Props {
@@ -11,48 +11,162 @@ interface Props {
export default function KiraAvatar(props: Props) {
const canvasRef = useRef<HTMLDivElement>(null);
const appRef = useRef<any>(null);
const modelRef = useRef<any>(null);
const [live2dReady, setLive2dReady] = useState(false);
const [loadError, setLoadError] = useState(false);
const animFrameRef = useRef<number>(0);
// Initialize Live2D
useEffect(() => {
// Try to load Live2D model — if it fails, show animated placeholder
let mounted = true;
const canvasEl = canvasRef.current;
if (!canvasEl) return;
const tryLoadLive2D = async () => {
const init = async () => {
try {
// Check if model files exist
const resp = await fetch('/live2d/models/kira.model3.json', { method: 'HEAD' });
// Check if model exists
const resp = await fetch('/live2d/models/kira/kira.model3.json', { method: 'HEAD' });
if (!resp.ok) {
if (mounted) setLoadError(true);
return;
}
// Load Cubism core
// Load Cubism core script
await loadScript('/live2d/cubism/live2dcubismcore.min.js');
// Model exists — ready for Live2D
// (full Live2D rendering will require the Cubism4 framework bundle)
if (mounted) setLive2dReady(false); // Show placeholder until framework is fully wired
// Dynamic imports
const { Application } = await import('pixi.js');
const { Live2DModel } = await import('pixi-live2d-display/cubism4');
// Create Pixi app
const app = new Application({
width: 220,
height: 280,
transparent: true,
antialias: true,
resolution: 2,
backgroundAlpha: 0,
});
appRef.current = app;
if (!mounted) {
app.destroy(true);
return;
}
// Append canvas
canvasEl.appendChild(app.view as HTMLCanvasElement);
// Load model
const model = await Live2DModel.from('/live2d/models/kira/kira.model3.json', {
autoInteract: false,
});
modelRef.current = model;
// Scale and center
const scale = Math.min(220 / model.width, 280 / model.height) * 0.85;
model.scale.set(scale);
model.anchor.set(0.5, 0.5);
model.position.set(app.screen.width / 2, app.screen.height / 2 + 10);
app.stage.addChild(model);
if (mounted) setLive2dReady(true);
// Start idle animation
try {
model.motion('Idle');
} catch {
// Some models may not have Idle motion
}
// Set default expression
try {
model.expression('Normal');
} catch {
// Expressions are optional
}
} catch (e) {
console.warn('[Live2D] Failed to load:', e);
if (mounted) setLoadError(true);
}
};
tryLoadLive2D();
init();
return () => { mounted = false; };
return () => {
mounted = false;
cancelAnimationFrame(animFrameRef.current);
if (appRef.current) {
appRef.current.destroy(true, { children: true });
appRef.current = null;
}
modelRef.current = null;
};
}, []);
// Show animated fallback while Live2D model isn't available
return (
<div className="glass-card p-4 flex flex-col items-center" style={{ minHeight: 290 }}>
{/* Live2D canvas area (hidden until model is loaded) */}
{live2dReady && (
<div ref={canvasRef} className="w-36 h-44 relative" id="live2d-canvas" />
)}
// Handle speaking → lip sync
useEffect(() => {
if (!modelRef.current || !live2dReady) return;
{/* Animated SVG placeholder */}
const model = modelRef.current;
const core = (window as any).Live2DCubismCore;
if (props.isSpeaking) {
// Animate mouth while speaking
let mouthPhase = 0;
const animateMouth = () => {
mouthPhase += 0.15;
const openness = 0.3 + Math.sin(mouthPhase) * 0.35;
try {
model.internalModel.coreModel.setParameterValueByIndex(
findParameterIndex(model, 'PARAM_MOUTH_OPEN_Y'),
openness,
);
} catch { /* ignore */ }
animFrameRef.current = requestAnimationFrame(animateMouth);
};
animateMouth();
} else {
// Close mouth when not speaking
cancelAnimationFrame(animFrameRef.current);
try {
model.internalModel.coreModel.setParameterValueByIndex(
findParameterIndex(model, 'PARAM_MOUTH_OPEN_Y'),
0,
);
} catch { /* ignore */ }
}
return () => cancelAnimationFrame(animFrameRef.current);
}, [props.isSpeaking, live2dReady]);
// Handle outfit changes
useEffect(() => {
if (!modelRef.current || !live2dReady) return;
// Texture swapping for outfits would go here
// For now, the outfit system works on the fallback avatar
}, [props.outfit, live2dReady]);
// Handle listening pulse effect
useEffect(() => {
if (!modelRef.current || !live2dReady) return;
// Could add a glow/breathing effect when listening
}, [props.isListening, live2dReady]);
return (
<div className="glass-card p-4 flex flex-col items-center" style={{ minHeight: 340 }}>
{/* Live2D canvas */}
<div
ref={canvasRef}
className={`relative ${live2dReady ? 'block' : 'hidden'}`}
style={{ width: 220, height: 280 }}
/>
{/* Animated SVG placeholder when Live2D isn't available */}
{(!live2dReady || loadError) && (
<div className={live2dReady ? 'hidden' : 'block'}>
<AnimatedAvatar
isSpeaking={props.isSpeaking}
isListening={props.isListening}
@@ -60,31 +174,42 @@ export default function KiraAvatar(props: Props) {
accessory={props.accessory}
onTalkToggle={props.onTalkToggle}
/>
</div>
)}
{/* Loading state */}
{!live2dReady && !loadError && (
<p className="text-[10px] text-kira-plum/30 mt-1"> Live2D model slot ready</p>
<div className="flex flex-col items-center gap-2 py-8">
<div className="w-8 h-8 border-3 border-kira-pink border-t-transparent rounded-full animate-spin" />
<p className="text-[11px] text-kira-plum/40">loading Kira...</p>
</div>
)}
{/* Status info */}
<div className="mt-3 flex items-center gap-3 text-xs text-kira-plum/40">
{/* Status bar */}
<div className="mt-2 flex items-center gap-3 text-xs text-kira-plum/40">
<span className={`w-2 h-2 rounded-full ${props.isSpeaking ? 'bg-kira-pink animate-pulse' : props.isListening ? 'bg-red-400 animate-pulse' : 'bg-kira-mint'}`} />
<span>
{props.isSpeaking ? 'speaking...' : props.isListening ? 'listening...' : 'here with you'}
{props.isSpeaking ? 'speaking...' : props.isListening ? 'listening...' : live2dReady ? 'here with you' : 'loading...'}
</span>
</div>
{/* Outfit + accessory indicator */}
<div className="flex gap-2 mt-1 text-[10px] text-kira-plum/30">
<span>{props.outfit.replace('-', ' ')}</span>
{props.accessory && <span>· {props.accessory}</span>}
{/* Name + outfit indicator */}
<div className="flex gap-2 mt-0.5 text-[10px] text-kira-plum/30">
<span>Kira</span>
{live2dReady && <span>· Live2D</span>}
</div>
</div>
);
}
/** Load a script tag dynamically */
function loadScript(src: string): Promise<void> {
return new Promise((resolve, reject) => {
// Check if already loaded
if (document.querySelector(`script[src="${src}"]`)) {
resolve();
return;
}
const script = document.createElement('script');
script.src = src;
script.onload = () => resolve();
@@ -92,3 +217,9 @@ function loadScript(src: string): Promise<void> {
document.head.appendChild(script);
});
}
/** Find a parameter index by name in the Live2D model */
function findParameterIndex(model: any, name: string): number {
const parameters = model.internalModel.coreModel.getParameterIds();
return parameters.indexOf(name);
}