@lrplrplrp/dsh-live2d 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +100 -0
  3. package/assets/BCSZ1.1/BCSZ1.1.cdi3.json +470 -0
  4. package/assets/BCSZ1.1/BCSZ1.1.moc3 +0 -0
  5. package/assets/BCSZ1.1/BCSZ1.1.model3.json +174 -0
  6. package/assets/BCSZ1.1/BCSZ1.1.physics3.json +2494 -0
  7. package/assets/BCSZ1.1/SZ-/344/270/215/345/217/230.motion3.json +13703 -0
  8. package/assets/BCSZ1.1/SZ-/344/270/255/345/215/210.motion3.json +7201 -0
  9. package/assets/BCSZ1.1/SZ-/345/210/235/350/247/201.motion3.json +27609 -0
  10. package/assets/BCSZ1.1/SZ-/345/244/234/346/231/232.motion3.json +14909 -0
  11. package/assets/BCSZ1.1/SZ-/345/244/264/351/245/260.motion3.json +69 -0
  12. package/assets/BCSZ1.1/SZ-/345/260/276/345/267/264.motion3.json +840 -0
  13. package/assets/BCSZ1.1/SZ-/345/261/221/347/234/274/347/245/236.motion3.json +69 -0
  14. package/assets/BCSZ1.1/SZ-/345/275/222/351/233/266.motion3.json +300 -0
  15. package/assets/BCSZ1.1/SZ-/346/227/240/350/201/212.motion3.json +6617 -0
  16. package/assets/BCSZ1.1/SZ-/346/227/251/344/270/212/345/245/275.motion3.json +16785 -0
  17. package/assets/BCSZ1.1/template.json +59 -0
  18. package/assets/BCSZ1.1/textures/texture_00.png +0 -0
  19. package/assets/BCSZ1.1/waifu-tips-BCSZ.json +49 -0
  20. package/assets/BCSZ1.1//345/205/253/351/207/215/347/245/236/345/255/220-/344/270/215/345/217/230.wav +0 -0
  21. package/assets/BCSZ1.1//345/205/253/351/207/215/347/245/236/345/255/220-/344/270/255/345/215/210.wav +0 -0
  22. package/assets/BCSZ1.1//345/205/253/351/207/215/347/245/236/345/255/220-/345/210/235/350/247/201.wav +0 -0
  23. package/assets/BCSZ1.1//345/205/253/351/207/215/347/245/236/345/255/220-/345/244/234/346/231/232.wav +0 -0
  24. package/assets/BCSZ1.1//345/205/253/351/207/215/347/245/236/345/255/220-/346/227/240/350/201/212.wav +0 -0
  25. package/assets/BCSZ1.1//345/205/253/351/207/215/347/245/236/345/255/220-/346/227/251/344/270/212.wav +0 -0
  26. package/assets/deepseek_l2d/deepseek.2048/texture_00.png +0 -0
  27. package/assets/deepseek_l2d/deepseek.cdi3.json +205 -0
  28. package/assets/deepseek_l2d/deepseek.moc3 +0 -0
  29. package/assets/deepseek_l2d/deepseek.model3.json +67 -0
  30. package/assets/deepseek_l2d/deepseek.physics3.json +311 -0
  31. package/assets/deepseek_l2d/happy.exp3.json +45 -0
  32. package/assets/deepseek_l2d/happy2.exp3.json +35 -0
  33. package/assets/deepseek_l2d/idle.motion3.json +5574 -0
  34. package/assets/deepseek_l2d/index.html +13 -0
  35. package/assets/deepseek_l2d/puzzled.exp3.json +45 -0
  36. package/assets/deepseek_l2d/relax.exp3.json +60 -0
  37. package/assets/deepseek_l2d/speak.motion3.json +6975 -0
  38. package/assets/deepseek_l2d/thinkend.motion3.json +876 -0
  39. package/assets/deepseek_l2d/thinking.motion3.json +4992 -0
  40. package/assets/deepseek_l2d/unhappy.exp3.json +50 -0
  41. package/assets/model_list.json +39 -0
  42. package/cordis.patch.yml +11 -0
  43. package/lib/client.js +1487 -0
  44. package/lib/index.js +642 -0
  45. package/lib/index.min.js +1 -0
  46. package/lib/live2d.min.js +1 -0
  47. package/lib/live2dcubismcore.min.js +9 -0
  48. package/lib/pixi.min.js +9 -0
  49. package/package.json +62 -0
@@ -0,0 +1,59 @@
1
+ {
2
+ "Tap无聊": [
3
+ {
4
+ "file": "SZ-无聊.motion3.json",
5
+ "sound": "八重神子-无聊.wav"
6
+ }
7
+ ],
8
+ "Tap归零": [
9
+ {
10
+ "file": "SZ-归零.motion3.json"
11
+ }
12
+ ],
13
+ "Tap尾巴": [
14
+ {
15
+ "file": "SZ-尾巴.motion3.json"
16
+ }
17
+ ],
18
+ "Tap早上好": [
19
+ {
20
+ "file": "SZ-早上好.motion3.json",
21
+ "sound": "八重神子-早上.wav"
22
+ },
23
+ {}
24
+ ],
25
+ "Tap中午好": [
26
+ {
27
+ "file": "SZ-中午.motion3.json",
28
+ "sound": "八重神子-中午.wav"
29
+ }
30
+ ],
31
+ "Tap晚上好": [
32
+ {
33
+ "file": "SZ-夜晚.motion3.json",
34
+ "sound": "八重神子-夜晚.wav"
35
+ }
36
+ ],
37
+ "Tap头饰": [
38
+ {
39
+ "file": "SZ-头饰.motion3.json"
40
+ }
41
+ ],
42
+ "Tap不变": [
43
+ {
44
+ "file": "SZ-不变.motion3.json",
45
+ "sound": "八重神子-不变.wav"
46
+ }
47
+ ],
48
+ "Start": [
49
+ {
50
+ "file": "SZ-初见.motion3.json",
51
+ "sound": "八重神子-初见.wav"
52
+ }
53
+ ],
54
+ "Shake": [
55
+ {
56
+ "file": "SZ-屑眼神.motion3.json"
57
+ }
58
+ ]
59
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "messages":{
3
+ "idleMsg":{"text":["最近八重堂穿越异世的小说也太多了,哼,就对自己的世界如此不满吗。", "很多人的一生,写于纸上也不过几行,大多都是些无聊的故事啊", "于我而言,不变也是一种美好,哎呀,可尘世哪是如此不变之物。"]},
4
+ "about":{"text":""},
5
+ "close":{"text":["再见了,小家伙"]},
6
+ "copy":{"text":""},
7
+ "focus":{"text":["是想我了吗~"]},
8
+ "home":{"motion":"Start"},
9
+ "location":{"text":"欢迎阅读<span>「{title}」</span>"},
10
+ "domain":{
11
+ "baidu":{"text":"Hello!来自 百度搜索 的朋友<br>你是搜索 <span>${referrer.search.split('&wd=')[1].split('&')[0]}</span> 找到的我吗?"},
12
+ "so":{"text":"Hello!来自 360搜索 的朋友<br>你是搜索 <span>${referrer.search.split('&q=')[1].split('&')[0]}</span> 找到的我吗?"},
13
+ "google":{"text":"Hello!来自 谷歌搜索 的朋友<br>欢迎阅读<span>「{title}」</span>"}
14
+
15
+ },
16
+ "domain_other":{"text":"Hello!来自 <span>{hostname}</span> 的朋友"},
17
+ "path_other":{"text":"欢迎阅读<span>「{title}」</span>"},
18
+ "newClothes":{"text":"我的新衣服好看嘛?"},
19
+ "notNewClothes":{"text":"我还没有其他衣服呢!"}
20
+ },
21
+ "mouseover": [{
22
+ "selector": "#waifu-tool .fa-paper-plane",
23
+ "interaction":{
24
+ "text": ["要不要来玩飞机大战?", "这个按钮上写着「不要点击」。", "怎么,你想来和我玩个游戏?", "听说这样可以蹦迪!"],
25
+ "motion":"Start"
26
+ }
27
+ }],
28
+ "click": [],
29
+ "timer": [],
30
+ "motion":{
31
+ "Tap早上好":"早,嗯?怎么一副无精打采的样子,没有睡好吗?哎呀,昨晚是去做什么坏事了么?",
32
+ "Tap中午好":"嗯~伤脑筋,中午吃些什么呢?油豆腐吃腻了,想吃点清淡的。话说好久没见到社奉行家的小姑娘了,我们不如就去吃她做的点心吧。",
33
+ "Tap晚上好":"今夜的月光如此清亮,不做些什么真是浪费。随我一同去月下漫步吧,不许拒绝。",
34
+ "Start":"我是鸣神大社的宫司,此番造访,自是为了确认你的一举一动,此为大社诏令..呵,不用那么紧张,场面话罢了,这样才有正当理由休沐嘛。快,去做些有趣的事让我看看吧。",
35
+ "Tap无聊":"",
36
+ "Tap不变":"所谓的永恒,就是不再失去已拥有之物,但从别的角度说,也放弃了得到更多的可能,不过世事总是如此,没人能够得到全部。"
37
+ },
38
+ "weather":{
39
+ "小雨":{"text":"下起雨后,浑身的毛发都会变得湿漉漉的..."},
40
+ "中雨":{"text":"下起雨后,浑身的毛发都会变得湿漉漉的..."},
41
+ "大雨":{"text":"下起雨后,浑身的毛发都会变得湿漉漉的..."},
42
+ "暴雨":{"text":"下起雨后,浑身的毛发都会变得湿漉漉的..."},
43
+ "小雪":{"text":"未生灵智的小狐狸,往往会一头栽入雪地来觅食...想看我那样做?哼。"},
44
+ "中雪":{"text":"未生灵智的小狐狸,往往会一头栽入雪地来觅食...想看我那样做?哼。"},
45
+ "大雪":{"text":"未生灵智的小狐狸,往往会一头栽入雪地来觅食...想看我那样做?哼。"},
46
+ "暴雪":{"text":"未生灵智的小狐狸,往往会一头栽入雪地来觅食...想看我那样做?哼。"}
47
+ }
48
+
49
+ }
@@ -0,0 +1,205 @@
1
+ {
2
+ "Version": 3,
3
+ "Parameters": [
4
+ {
5
+ "Id": "ParamAngleX",
6
+ "GroupId": "",
7
+ "Name": "角度 X"
8
+ },
9
+ {
10
+ "Id": "ParamAngleY",
11
+ "GroupId": "",
12
+ "Name": "角度 Y"
13
+ },
14
+ {
15
+ "Id": "ParamAngleZ",
16
+ "GroupId": "",
17
+ "Name": "角度 Z"
18
+ },
19
+ {
20
+ "Id": "Param2",
21
+ "GroupId": "",
22
+ "Name": "呆毛"
23
+ },
24
+ {
25
+ "Id": "ParamEyeLOpen",
26
+ "GroupId": "",
27
+ "Name": "左眼 开闭"
28
+ },
29
+ {
30
+ "Id": "ParamEyeLSmile",
31
+ "GroupId": "",
32
+ "Name": "左眼 微笑"
33
+ },
34
+ {
35
+ "Id": "ParamEyeROpen",
36
+ "GroupId": "",
37
+ "Name": "右眼 开闭"
38
+ },
39
+ {
40
+ "Id": "ParamEyeRSmile",
41
+ "GroupId": "",
42
+ "Name": "右眼 微笑"
43
+ },
44
+ {
45
+ "Id": "ParamEyeBallX",
46
+ "GroupId": "",
47
+ "Name": "眼珠 X"
48
+ },
49
+ {
50
+ "Id": "ParamEyeBallY",
51
+ "GroupId": "",
52
+ "Name": "眼珠 Y"
53
+ },
54
+ {
55
+ "Id": "ParamBrowLY",
56
+ "GroupId": "",
57
+ "Name": "左眉 上下"
58
+ },
59
+ {
60
+ "Id": "ParamBrowRY",
61
+ "GroupId": "",
62
+ "Name": "右眉 上下"
63
+ },
64
+ {
65
+ "Id": "ParamBrowLAngle",
66
+ "GroupId": "",
67
+ "Name": "左眉 角度"
68
+ },
69
+ {
70
+ "Id": "ParamBrowRAngle",
71
+ "GroupId": "",
72
+ "Name": "右眉 角度"
73
+ },
74
+ {
75
+ "Id": "ParamMouthForm",
76
+ "GroupId": "",
77
+ "Name": "嘴 变形"
78
+ },
79
+ {
80
+ "Id": "ParamMouthOpenY",
81
+ "GroupId": "",
82
+ "Name": "嘴 开闭"
83
+ },
84
+ {
85
+ "Id": "ParamBodyAngleX",
86
+ "GroupId": "",
87
+ "Name": "身体旋转 X"
88
+ },
89
+ {
90
+ "Id": "ParamBodyAngleY",
91
+ "GroupId": "",
92
+ "Name": "身体旋转 Y"
93
+ },
94
+ {
95
+ "Id": "ParamBodyAngleZ",
96
+ "GroupId": "",
97
+ "Name": "身体旋转 Z"
98
+ },
99
+ {
100
+ "Id": "ParamBreath",
101
+ "GroupId": "",
102
+ "Name": "呼吸"
103
+ },
104
+ {
105
+ "Id": "Param",
106
+ "GroupId": "",
107
+ "Name": "尾巴"
108
+ },
109
+ {
110
+ "Id": "ParamHairFront",
111
+ "GroupId": "",
112
+ "Name": "摇动 前发"
113
+ },
114
+ {
115
+ "Id": "ParamHairBack",
116
+ "GroupId": "",
117
+ "Name": "摇动 后发"
118
+ },
119
+ {
120
+ "Id": "ParamTwinTails",
121
+ "GroupId": "",
122
+ "Name": "摇动耳朵"
123
+ },
124
+ {
125
+ "Id": "ParamSkirtSway",
126
+ "GroupId": "ParamGroupSway",
127
+ "Name": "裙子的摇动"
128
+ },
129
+ {
130
+ "Id": "ParamSkirtFlap",
131
+ "GroupId": "ParamGroupSway",
132
+ "Name": "裙子的蓬松"
133
+ }
134
+ ],
135
+ "ParameterGroups": [
136
+ {
137
+ "Id": "ParamGroupSway",
138
+ "GroupId": "",
139
+ "Name": "摇动"
140
+ },
141
+ {
142
+ "Id": "ParamGroupSway2",
143
+ "GroupId": "",
144
+ "Name": "摇动"
145
+ }
146
+ ],
147
+ "Parts": [
148
+ {
149
+ "Id": "PartTwinTails",
150
+ "Name": "双马尾"
151
+ },
152
+ {
153
+ "Id": "Part5",
154
+ "Name": "前发"
155
+ },
156
+ {
157
+ "Id": "PartHairBack",
158
+ "Name": "后发"
159
+ },
160
+ {
161
+ "Id": "PartBackHead",
162
+ "Name": "后脑勺"
163
+ },
164
+ {
165
+ "Id": "PartFace",
166
+ "Name": "脸"
167
+ },
168
+ {
169
+ "Id": "PartLowerBody",
170
+ "Name": "下半身"
171
+ },
172
+ {
173
+ "Id": "PartLegs",
174
+ "Name": "腿"
175
+ },
176
+ {
177
+ "Id": "PartNeck",
178
+ "Name": "脖子"
179
+ },
180
+ {
181
+ "Id": "PartCore",
182
+ "Name": "Core"
183
+ },
184
+ {
185
+ "Id": "PartSkirt",
186
+ "Name": "裙子"
187
+ },
188
+ {
189
+ "Id": "Part",
190
+ "Name": "眼睛"
191
+ },
192
+ {
193
+ "Id": "Part2",
194
+ "Name": "嘴"
195
+ },
196
+ {
197
+ "Id": "Part4",
198
+ "Name": "右眼"
199
+ },
200
+ {
201
+ "Id": "Part3",
202
+ "Name": "左眼"
203
+ }
204
+ ]
205
+ }
@@ -0,0 +1,67 @@
1
+ {
2
+ "Version": 3,
3
+ "FileReferences": {
4
+ "Moc": "deepseek.moc3",
5
+ "Textures": [
6
+ "deepseek.2048/texture_00.png"
7
+ ],
8
+ "Physics": "deepseek.physics3.json",
9
+ "DisplayInfo": "deepseek.cdi3.json",
10
+ "Expressions": [
11
+ {
12
+ "Name": "happy",
13
+ "File": "happy.exp3.json"
14
+ },
15
+ {
16
+ "Name": "happy2",
17
+ "File": "happy2.exp3.json"
18
+ },
19
+ {
20
+ "Name": "puzzled",
21
+ "File": "puzzled.exp3.json"
22
+ },
23
+ {
24
+ "Name": "relax",
25
+ "File": "relax.exp3.json"
26
+ },
27
+ {
28
+ "Name": "unhappy",
29
+ "File": "unhappy.exp3.json"
30
+ }
31
+ ],
32
+ "Motions": {
33
+ "Idle": [
34
+ {
35
+ "File": "idle.motion3.json"
36
+ }
37
+ ],
38
+ "Anima": [
39
+ {
40
+ "File": "speak.motion3.json"
41
+ },
42
+ {
43
+ "File": "thinkend.motion3.json"
44
+ },
45
+ {
46
+ "File": "thinking.motion3.json"
47
+ }
48
+ ]
49
+ }
50
+ },
51
+ "Groups": [
52
+ {
53
+ "Target": "Parameter",
54
+ "Name": "EyeBlink",
55
+ "Ids": [
56
+ "ParamEyeLOpen",
57
+ "ParamEyeROpen"
58
+ ]
59
+ },
60
+ {
61
+ "Target": "Parameter",
62
+ "Name": "LipSync",
63
+ "Ids": []
64
+ }
65
+ ],
66
+ "HitAreas": []
67
+ }
@@ -0,0 +1,311 @@
1
+ {
2
+ "Version": 3,
3
+ "Meta": {
4
+ "PhysicsSettingCount": 4,
5
+ "TotalInputCount": 7,
6
+ "TotalOutputCount": 4,
7
+ "VertexCount": 8,
8
+ "Fps": 60,
9
+ "EffectiveForces": {
10
+ "Gravity": {
11
+ "X": 0,
12
+ "Y": -1
13
+ },
14
+ "Wind": {
15
+ "X": 0,
16
+ "Y": 0
17
+ }
18
+ },
19
+ "PhysicsDictionary": [
20
+ {
21
+ "Id": "PhysicsSetting1",
22
+ "Name": "裙子的摇动"
23
+ },
24
+ {
25
+ "Id": "PhysicsSetting2",
26
+ "Name": "头发摇动后"
27
+ },
28
+ {
29
+ "Id": "PhysicsSetting3",
30
+ "Name": "头发摇动双马尾"
31
+ },
32
+ {
33
+ "Id": "PhysicsSetting4",
34
+ "Name": "前发摇动"
35
+ }
36
+ ]
37
+ },
38
+ "PhysicsSettings": [
39
+ {
40
+ "Id": "PhysicsSetting1",
41
+ "Input": [
42
+ {
43
+ "Source": {
44
+ "Target": "Parameter",
45
+ "Id": "ParamBodyAngleX"
46
+ },
47
+ "Weight": 100,
48
+ "Type": "X",
49
+ "Reflect": false
50
+ }
51
+ ],
52
+ "Output": [
53
+ {
54
+ "Destination": {
55
+ "Target": "Parameter",
56
+ "Id": "ParamSkirtSway"
57
+ },
58
+ "VertexIndex": 1,
59
+ "Scale": 1,
60
+ "Weight": 100,
61
+ "Type": "Angle",
62
+ "Reflect": false
63
+ }
64
+ ],
65
+ "Vertices": [
66
+ {
67
+ "Position": {
68
+ "X": 0,
69
+ "Y": 0
70
+ },
71
+ "Mobility": 1,
72
+ "Delay": 1,
73
+ "Acceleration": 1,
74
+ "Radius": 0
75
+ },
76
+ {
77
+ "Position": {
78
+ "X": 0,
79
+ "Y": 10
80
+ },
81
+ "Mobility": 0.9,
82
+ "Delay": 0.9,
83
+ "Acceleration": 1.1,
84
+ "Radius": 10
85
+ }
86
+ ],
87
+ "Normalization": {
88
+ "Position": {
89
+ "Minimum": -10,
90
+ "Default": 0,
91
+ "Maximum": 10
92
+ },
93
+ "Angle": {
94
+ "Minimum": -10,
95
+ "Default": 0,
96
+ "Maximum": 10
97
+ }
98
+ }
99
+ },
100
+ {
101
+ "Id": "PhysicsSetting2",
102
+ "Input": [
103
+ {
104
+ "Source": {
105
+ "Target": "Parameter",
106
+ "Id": "ParamAngleX"
107
+ },
108
+ "Weight": 60,
109
+ "Type": "X",
110
+ "Reflect": false
111
+ },
112
+ {
113
+ "Source": {
114
+ "Target": "Parameter",
115
+ "Id": "ParamAngleZ"
116
+ },
117
+ "Weight": 60,
118
+ "Type": "Angle",
119
+ "Reflect": false
120
+ }
121
+ ],
122
+ "Output": [
123
+ {
124
+ "Destination": {
125
+ "Target": "Parameter",
126
+ "Id": "ParamHairBack"
127
+ },
128
+ "VertexIndex": 1,
129
+ "Scale": 2,
130
+ "Weight": 100,
131
+ "Type": "Angle",
132
+ "Reflect": false
133
+ }
134
+ ],
135
+ "Vertices": [
136
+ {
137
+ "Position": {
138
+ "X": 0,
139
+ "Y": 0
140
+ },
141
+ "Mobility": 1,
142
+ "Delay": 1,
143
+ "Acceleration": 1,
144
+ "Radius": 0
145
+ },
146
+ {
147
+ "Position": {
148
+ "X": 0,
149
+ "Y": 15
150
+ },
151
+ "Mobility": 0.95,
152
+ "Delay": 0.8,
153
+ "Acceleration": 1.2,
154
+ "Radius": 15
155
+ }
156
+ ],
157
+ "Normalization": {
158
+ "Position": {
159
+ "Minimum": -10,
160
+ "Default": 0,
161
+ "Maximum": 10
162
+ },
163
+ "Angle": {
164
+ "Minimum": -10,
165
+ "Default": 0,
166
+ "Maximum": 10
167
+ }
168
+ }
169
+ },
170
+ {
171
+ "Id": "PhysicsSetting3",
172
+ "Input": [
173
+ {
174
+ "Source": {
175
+ "Target": "Parameter",
176
+ "Id": "ParamAngleX"
177
+ },
178
+ "Weight": 60,
179
+ "Type": "X",
180
+ "Reflect": false
181
+ },
182
+ {
183
+ "Source": {
184
+ "Target": "Parameter",
185
+ "Id": "ParamAngleZ"
186
+ },
187
+ "Weight": 60,
188
+ "Type": "Angle",
189
+ "Reflect": false
190
+ }
191
+ ],
192
+ "Output": [
193
+ {
194
+ "Destination": {
195
+ "Target": "Parameter",
196
+ "Id": "ParamTwinTails"
197
+ },
198
+ "VertexIndex": 1,
199
+ "Scale": 2,
200
+ "Weight": 100,
201
+ "Type": "Angle",
202
+ "Reflect": false
203
+ }
204
+ ],
205
+ "Vertices": [
206
+ {
207
+ "Position": {
208
+ "X": 0,
209
+ "Y": 0
210
+ },
211
+ "Mobility": 1,
212
+ "Delay": 1,
213
+ "Acceleration": 1,
214
+ "Radius": 0
215
+ },
216
+ {
217
+ "Position": {
218
+ "X": 0,
219
+ "Y": 20
220
+ },
221
+ "Mobility": 0.95,
222
+ "Delay": 0.9,
223
+ "Acceleration": 1.1,
224
+ "Radius": 20
225
+ }
226
+ ],
227
+ "Normalization": {
228
+ "Position": {
229
+ "Minimum": -10,
230
+ "Default": 0,
231
+ "Maximum": 10
232
+ },
233
+ "Angle": {
234
+ "Minimum": -10,
235
+ "Default": 0,
236
+ "Maximum": 10
237
+ }
238
+ }
239
+ },
240
+ {
241
+ "Id": "PhysicsSetting4",
242
+ "Input": [
243
+ {
244
+ "Source": {
245
+ "Target": "Parameter",
246
+ "Id": "ParamAngleX"
247
+ },
248
+ "Weight": 50,
249
+ "Type": "X",
250
+ "Reflect": false
251
+ },
252
+ {
253
+ "Source": {
254
+ "Target": "Parameter",
255
+ "Id": "ParamAngleY"
256
+ },
257
+ "Weight": 50,
258
+ "Type": "X",
259
+ "Reflect": false
260
+ }
261
+ ],
262
+ "Output": [
263
+ {
264
+ "Destination": {
265
+ "Target": "Parameter",
266
+ "Id": "ParamHairFront"
267
+ },
268
+ "VertexIndex": 1,
269
+ "Scale": 1,
270
+ "Weight": 100,
271
+ "Type": "Angle",
272
+ "Reflect": false
273
+ }
274
+ ],
275
+ "Vertices": [
276
+ {
277
+ "Position": {
278
+ "X": 0,
279
+ "Y": 0
280
+ },
281
+ "Mobility": 1,
282
+ "Delay": 1,
283
+ "Acceleration": 1,
284
+ "Radius": 0
285
+ },
286
+ {
287
+ "Position": {
288
+ "X": 0,
289
+ "Y": 10
290
+ },
291
+ "Mobility": 0.95,
292
+ "Delay": 0.9,
293
+ "Acceleration": 1.5,
294
+ "Radius": 10
295
+ }
296
+ ],
297
+ "Normalization": {
298
+ "Position": {
299
+ "Minimum": -10,
300
+ "Default": 0,
301
+ "Maximum": 10
302
+ },
303
+ "Angle": {
304
+ "Minimum": -10,
305
+ "Default": 0,
306
+ "Maximum": 10
307
+ }
308
+ }
309
+ }
310
+ ]
311
+ }