dsh-pet-live2d-viola 1.2.2 → 1.3.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.
- package/README.md +82 -35
- package/assets/characters/ritsu/Motions/mtn_serious01_C.motion3.json +1 -1
- package/assets/characters/ritsu_virtual/Motions/mtn_serious01_C.motion3.json +1 -1
- package/assets/voice/ritsu-click1.opus +0 -0
- package/assets/voice/ritsu-click2.opus +0 -0
- package/assets/voice/ritsu-click3.opus +0 -0
- package/assets/voice/ritsu-click4.opus +0 -0
- package/assets/voice/ritsu-click5.opus +0 -0
- package/assets/voice/ritsu-click6.opus +0 -0
- package/assets/voice/ritsu-done1.opus +0 -0
- package/assets/voice/ritsu-done2.opus +0 -0
- package/assets/voice/ritsu-done3.opus +0 -0
- package/assets/voice/ritsu-farewell.opus +0 -0
- package/assets/voice/ritsu-idle1.opus +0 -0
- package/assets/voice/ritsu-idle2.opus +0 -0
- package/assets/voice/ritsu-idle3.opus +0 -0
- package/assets/voice/ritsu-idle4.opus +0 -0
- package/assets/voice/ritsu-listening1.opus +0 -0
- package/assets/voice/ritsu-listening2.opus +0 -0
- package/assets/voice/ritsu-thinking1.opus +0 -0
- package/assets/voice/ritsu-thinking2.opus +0 -0
- package/assets/voice/ritsu-thinking3.opus +0 -0
- package/assets/voice/ritsu-working1.opus +0 -0
- package/assets/voice/ritsu-working2.opus +0 -0
- package/assets/voice/ritsu-working3.opus +0 -0
- package/lib/client.js +460 -31
- package/lib/index.js +4 -3
- package/lib/machine.js +7 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# dsh-pet-live2d-viola — Live2D 桌宠(都子 / 薇欧拉 /
|
|
1
|
+
# dsh-pet-live2d-viola — Live2D 桌宠(都子 / 薇欧拉 / 由乃 / ののか / 律 / 阿拉蕾)
|
|
2
2
|
|
|
3
|
-
DeepSeek Harness Web GUI 的 **Live2D
|
|
3
|
+
DeepSeek Harness Web GUI 的 **Live2D 桌宠插件**,一台桌宠里可以切换六位角色、十二个模型:
|
|
4
4
|
|
|
5
5
|
| 角色 | 模型 | 主色调 |
|
|
6
6
|
|---|---|---|
|
|
@@ -9,22 +9,43 @@ DeepSeek Harness Web GUI 的 **Live2D 桌宠插件**,一台桌宠里可以切
|
|
|
9
9
|
| **薇欧拉(校服)** | `sub_viola-viola_school_winter_hs` | 薄荷青 `#77E4C4` |
|
|
10
10
|
| **由乃(常服)** | `yuno_015_casual_spring_01` | 玫红 `#EE5577` |
|
|
11
11
|
| **由乃(虚拟形象)** | `yuno_015_virtual_01` | 玫红 `#EE5577` |
|
|
12
|
+
| **ののか(常服)** | `012_adv-nonoka_012_casual_spring_01` | 樱粉 `#FFBBCC` |
|
|
13
|
+
| **ののか(虚拟形象)** | `012_adv-nonoka_012_virtual_01` | 樱粉 `#FFBBCC` |
|
|
14
|
+
| **律(常服)** | `013_adv-ritsu_013_casual_spring_01` | 天蓝 `#4477CC` |
|
|
15
|
+
| **律(虚拟形象)** | `013_adv-ritsu_013_virtual_01` | 天蓝 `#4477CC` |
|
|
16
|
+
| **阿拉蕾(常服·散发)** | `011_adv-arale_011_casual_spring_01_hairdown` | 明黄 `#FFEE55` |
|
|
17
|
+
| **阿拉蕾(常服·双马尾)** | `011_adv-arale_011_casual_spring_01_twintails` | 明黄 `#FFEE55` |
|
|
18
|
+
| **阿拉蕾(虚拟形象)** | `011_adv-arale_011_virtual_01` | 明黄 `#FFEE55` |
|
|
12
19
|
|
|
13
20
|
- **渲染**:PIXI 6.5.10 + Live2D Cubism 5.0 Core + pixi-live2d-display(全部本地内置,**离线可用**)
|
|
14
21
|
- 模型来自 [bdon.yatta.moe](https://bdon.yatta.moe/tools/live2d)
|
|
22
|
+
- 切换模型时整套配色(菜单、气泡、按钮描边)跟着换,不用改样式表
|
|
15
23
|
|
|
16
24
|
## 功能
|
|
17
25
|
|
|
18
|
-
|
|
26
|
+
**所有角色共用的部分**
|
|
19
27
|
|
|
20
28
|
- 模型渲染:呼吸、物理、眨眼、视线追随
|
|
21
29
|
- 拖动移动 / 滚轮缩放 / 锁定位置与缩放 / 下线与召唤
|
|
22
|
-
-
|
|
30
|
+
- 右键菜单:角色、动作、表情、比例、设置(音量、边框、眨眼、视线、随机模式、功能简介、余额警告)
|
|
23
31
|
- 下线时挥手 + 淡出,**每位角色有自己的告别语音和字幕**
|
|
24
32
|
- **口型同步**:由音频波形驱动(不是定时开合),音量随语音滑块
|
|
25
33
|
- 点击语音**互不重叠**:新语音会打断上一条
|
|
34
|
+
- 重新上线时回到**默认动作 + 默认表情**,不会停在下线挥手的最后一帧
|
|
26
35
|
|
|
27
|
-
|
|
36
|
+
**菜单**
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
都子 › ← 点开选角色
|
|
40
|
+
──────────────────
|
|
41
|
+
动作 › 表情 ›
|
|
42
|
+
比例 › 设置 ›
|
|
43
|
+
──────────────────
|
|
44
|
+
锁定 下线
|
|
45
|
+
v1.3.0 ← 版本,有新版时右侧提示
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
二级、三级的「返回」只回**上一层**:动作/表情/比例 → 主菜单;设置 → 主菜单;设置里的随机模式 / 功能简介 / 语音音量 → 设置;角色 → 主菜单;服装 → 角色。
|
|
28
49
|
|
|
29
50
|
**点击反应(两阶段)**
|
|
30
51
|
|
|
@@ -33,43 +54,52 @@ DeepSeek Harness Web GUI 的 **Live2D 桌宠插件**,一台桌宠里可以切
|
|
|
33
54
|
| 都子 | 4 条随机 | 2 条随机 |
|
|
34
55
|
| 薇欧拉 | 4 条随机(含原有 2 条) | 2 条随机 |
|
|
35
56
|
| 由乃 | 4 条随机 | 2 条随机 |
|
|
57
|
+
| 律 | 4 条随机 | 2 条随机 |
|
|
58
|
+
| ののか / 阿拉蕾 | 暂无(见「未完成」) | — |
|
|
36
59
|
|
|
37
60
|
- 「连续点击」按**点击间隔**判定(> 0.8 秒则重新计数),不是本次会话总数
|
|
38
61
|
- 连击台词**播完前会锁定点击**,避免下一条把这条盖掉
|
|
62
|
+
- 一条反应的四样东西(语音、动作、表情、字幕)取自同一行,不会串
|
|
39
63
|
|
|
40
|
-
|
|
64
|
+
**气泡**:显示时长与该句语音**严格一致**(按音轨实测长度,不是固定值)。
|
|
41
65
|
|
|
42
|
-
|
|
43
|
-
- 待机漂移、思考、工作、完成各阶段语音,点击音效与点击台词
|
|
66
|
+
**待机漂移**
|
|
44
67
|
|
|
45
|
-
|
|
68
|
+
每位角色有自己的待机动作池,每 12 秒换一次姿势,并按各自的静默权重决定要不要说一句话。都子的待机台词与特定动作绑定。
|
|
46
69
|
|
|
47
|
-
|
|
48
|
-
- 待机 4 条、收到 1 条、思考 3 条、工作 3 条、完成 3 条、点击 6 条、下线 1 条
|
|
49
|
-
- 每句台词都配了表情、气泡字幕和**各自的时长**(有的 1.1 秒,有的 5.3 秒)
|
|
70
|
+
## 各角色内容
|
|
50
71
|
|
|
51
|
-
|
|
72
|
+
| 角色 | 动作文件 | 表情文件 | 语音 | 状态 |
|
|
73
|
+
|---|---|---|---|---|
|
|
74
|
+
| 都子 | 81(27 组) | 78 | 18 | 完成 |
|
|
75
|
+
| 薇欧拉 | 51(17 组) | 26 | 21 | 完成 |
|
|
76
|
+
| 由乃 | 55 / 54(18 组) | 34 | 22 | 完成 |
|
|
77
|
+
| 律 | 57(19 组) | 36 | 22 | 完成 |
|
|
78
|
+
| ののか | 60(20 组) | 40 | 0 | **未完成** |
|
|
79
|
+
| 阿拉蕾 | 60(20 组)×3 套 | 42 | 0 | **未完成** |
|
|
52
80
|
|
|
53
|
-
|
|
54
|
-
- 共 **22 条语音**:
|
|
81
|
+
「动作文件」是 `Motions/` 里的文件数,菜单里显示的是以 `_C` 结尾的那一组(中心层)。「表情文件」是全部 `.exp3.json`,菜单里显示的是可用的那部分,其余是内部的组合 / 去嘴变体。
|
|
55
82
|
|
|
56
|
-
|
|
57
|
-
|---|---|---|
|
|
58
|
-
| 待机 | 漂移(12 秒一次,约 31% 概率说话) | 4 |
|
|
59
|
-
| 收到消息 | 每次进入 | 2 |
|
|
60
|
-
| 思考 | 每次进入(30 秒冷却) | 3 |
|
|
61
|
-
| 工作 | 每次进入(30 秒冷却) | 3 |
|
|
62
|
-
| 完成 | 每次 | 3 |
|
|
63
|
-
| 点击 | 普通 4 条 / 连击 2 条 | 6 |
|
|
64
|
-
| 下线 | 每次 | 1 |
|
|
83
|
+
**律**
|
|
65
84
|
|
|
66
|
-
-
|
|
85
|
+
- 22 条语音,覆盖全部触发点:
|
|
67
86
|
|
|
68
|
-
|
|
87
|
+
| 阶段 | 触发 | 条数 | 台词示例 |
|
|
88
|
+
|---|---|---|---|
|
|
89
|
+
| 待机 | 漂移(12 秒一次,约 31% 概率说话) | 4 | 好好吃饭才能有活力。多吃点补充能量吧 |
|
|
90
|
+
| 收到消息 | 每次进入 | 2 | 这里就请交给我吧 |
|
|
91
|
+
| 思考 | 每次进入(30 秒冷却) | 3 | 确实如此 |
|
|
92
|
+
| 工作 | 每次进入(30 秒冷却) | 3 | 进展得很顺利呀……! |
|
|
93
|
+
| 完成 | 每次 | 3 | 搞定了 |
|
|
94
|
+
| 点击 | 普通 4 条 / 连击 2 条 | 6 | 我会努力的!请多多关照! |
|
|
95
|
+
| 下线 | 每次 | 1 | 好的,那我就先告辞了 |
|
|
69
96
|
|
|
70
|
-
|
|
97
|
+
- 待机动作池:微笑1 / 确认 / 待机1 / 待机2,四个等概率
|
|
98
|
+
- 台词与音轨都取自角色自己的语音库(官方日文原音 + 官方简中/英文字幕),不是配音也不是自译
|
|
71
99
|
|
|
72
|
-
|
|
100
|
+
**ののか / 阿拉蕾(未完成)**
|
|
101
|
+
|
|
102
|
+
模型、动作、表情、配色都完整可用,但**还没有写她们自己的内容**:没有点击反应、没有待机台词、没有阶段反应。所以她们只会站在待机姿势里,不会说话。角色列表里名字后面标了「(未完成)」,就是为了说明这一点 —— 否则菜单里出现一个不理人的角色,看着像坏了。
|
|
73
103
|
|
|
74
104
|
## 随机模式
|
|
75
105
|
|
|
@@ -95,7 +125,7 @@ DeepSeek Harness Web GUI 的 **Live2D 桌宠插件**,一台桌宠里可以切
|
|
|
95
125
|
|
|
96
126
|
- **只在待机状态生效** —— 思考/工作/完成等阶段保持各阶段的正常行为
|
|
97
127
|
- **任意范围都静音**:语音带自己的字幕和借来的脸,会打断随机序列
|
|
98
|
-
- 表情池 =
|
|
128
|
+
- 表情池 = **菜单里能选的那些**(排除内部生成的变体)
|
|
99
129
|
- 抽取**不会选中当前已在用的**表情,避免连续两次相同
|
|
100
130
|
- 开关与范围是**两个独立字段**,所以关掉再打开会记住上次选的范围
|
|
101
131
|
- 默认**关闭**。待机漂移本来只动身体不动脸,因为自己乱变的脸会覆盖你手动选的表情 —— 这是有意的默认值
|
|
@@ -116,13 +146,26 @@ DeepSeek Harness Web GUI 的 **Live2D 桌宠插件**,一台桌宠里可以切
|
|
|
116
146
|
|
|
117
147
|
账户余额降到 **5、4、3、2、1 元**时,她会提醒你一次 —— **每跨过一档提醒一次**,同一档位不会重复。
|
|
118
148
|
|
|
119
|
-
提醒内容是**一段完整反应**:气泡 + 动作 +
|
|
149
|
+
提醒内容是**一段完整反应**:气泡 + 动作 + 表情,播完恢复原来的表情。气泡是两行,第二行是**当时的余额**:
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
┌──────────────────────┐
|
|
153
|
+
│ 今明两天好像是最忙的时候 │
|
|
154
|
+
│ 余额 ¥4.90 │
|
|
155
|
+
└──────────────────────┘
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
余额读不到时第二行整行不出现 —— 与其显示 ¥0.00 让人以为钱包空了,不如只说那句话。
|
|
159
|
+
|
|
160
|
+
每个角色有三种反应,**随机播放一种**:
|
|
120
161
|
|
|
121
162
|
| 角色 | 三种反应 |
|
|
122
163
|
|---|---|
|
|
123
164
|
| 都子 | 没有忘记买什么吧? / 接下来一周注定要靠冷冻面包度日了 / 我现在已经学会适度克制了。 只是…… |
|
|
124
165
|
| 薇欧拉 | 就像烟花最后的闪耀 / 提问~ 火种燃尽之会怎么样呢~? / 好可怕~ |
|
|
125
166
|
| 由乃 | 为什么偏偏在这种关键时候……! / 至、至少……就一点也好…… / 不不不绝对不对 |
|
|
167
|
+
| 律 | 今明两天好像是最忙的时候 / 今天什么都没吃…… / 真让人担心呢 |
|
|
168
|
+
| ののか / 阿拉蕾 | 暂无(表情兜底) |
|
|
126
169
|
|
|
127
170
|
- 余额 = **充值余额 + 赠送余额**(赠送的也能花,漏掉会少算)
|
|
128
171
|
- 只算 **CNY** 钱包;USD 钱包是另一种货币,不折算进元
|
|
@@ -153,11 +196,15 @@ DeepSeek Harness Web GUI 的 **Live2D 桌宠插件**,一台桌宠里可以切
|
|
|
153
196
|
|
|
154
197
|
- 滚轮缩放以**人物中心**为轴心,不会往右下角跑
|
|
155
198
|
- 缩小到很小时仍保证至少有一部分可见,不会「消失」
|
|
156
|
-
-
|
|
199
|
+
- 框宽、框内上下位置、框内左右位置、人物大小四个量**按角色、按取景分别可调**:
|
|
200
|
+
- 由乃的画框按角色加宽(半身 ×1.28),并有垂直补偿 —— 她的动作幅度比其他角色大
|
|
201
|
+
- ののか按取景单独收了一点大小,半身给得最满
|
|
202
|
+
- 律的半身整体左移 3%
|
|
203
|
+
- 律、阿拉蕾、ののか 默认沿用都子的取景,也就是「和都子一致」
|
|
157
204
|
|
|
158
205
|
## 设定会被记住
|
|
159
206
|
|
|
160
|
-
|
|
207
|
+
**人物、大小、位置、取景比例、锁定**都是**改动即保存、下次启动即恢复**,没有单独的「保存」按钮。
|
|
161
208
|
|
|
162
209
|
存档位置:
|
|
163
210
|
|
|
@@ -190,10 +237,10 @@ node make-locked-mouth-expression.mjs exp_idle02 # 锁住嘴部参数
|
|
|
190
237
|
|
|
191
238
|
## 版本与更新
|
|
192
239
|
|
|
193
|
-
一级菜单的最下面一行是当前版本(例如 `v1.
|
|
240
|
+
一级菜单的最下面一行是当前版本(例如 `v1.3.0`)。插件每 6 小时向 npm registry 问一次最新版本:
|
|
194
241
|
|
|
195
|
-
- 没有新版:只显示 `v1.
|
|
196
|
-
- 有新版:右侧多一条提醒 `有新版 v1.3.
|
|
242
|
+
- 没有新版:只显示 `v1.3.0`
|
|
243
|
+
- 有新版:右侧多一条提醒 `有新版 v1.3.1`
|
|
197
244
|
|
|
198
245
|
点这一行进入「版本」面板,写清当前版本、最新版本,以及更新命令:
|
|
199
246
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"Version":3,"Meta":{"Duration":2.2330000400543213,"Fps":30,"Loop":false,"AreBeziersRestricted":true,"CurveCount":53,"TotalSegmentCount":172,"TotalPointCount":441,"UserDataCount":0,"TotalUserDataSize":0},"Curves":[{"Target":"Parameter","Id":"ParamAngleX","Segments":[0.0,0.0,1,0.0776666651169459,0.0,0.15533333023389181,0.01300023873817105,0.2329999953508377,-0.20000000298023224,1,0.31099999944368995,-0.4130002129979727,0.3890000035365423,-1.0,0.46700000762939453,-1.0,1,0.6223333477973938,-1.0,0.7776666879653931,0.32899960427255337,0.9330000281333923,0.699999988079071,1,1.0776666800181072,1.0440003885995328,1.2223333319028218,1.0,1.3669999837875366,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamAngleY","Segments":[0.0,-5.0,1,0.06666666766007741,-5.0,0.13333333532015484,-7.0,0.20000000298023224,-7.0,1,0.289000004529953,-7.0,0.37800000607967377,1.3229924030342772,0.46700000762939453,9.100000381469727,1,0.5113333463668823,12.988003950401435,0.5556666851043701,13.0,0.6000000238418579,13.0,1,0.6890000104904175,13.0,0.777999997138977,1.088003642392323,0.8669999837875366,-2.4000000953674316,1,0.9336666663487753,-5.016002611160729,1.000333348910014,-4.699999809265137,1.0670000314712524,-4.699999809265137,1,1.178000013033549,-4.699999809265137,1.2889999945958455,-2.5800002152740262,1.399999976158142,-2.299999952316284,1,1.5333333015441895,-1.9639996569951563,1.6666666269302368,-2.0,1.7999999523162842,-2.0,0,2.2330000400543213,-2.0]},{"Target":"Parameter","Id":"ParamAngleZ","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,0.04400057698056037,0.16699999570846558,-0.5,1,0.22233333190282184,-1.044000568543121,0.27766666809717816,-3.0,0.3330000042915344,-3.0,1,0.4663333296775818,-3.0,0.5996666550636292,7.504998614092756,0.7329999804496765,9.0,1,0.8443333307902018,10.246001597961481,0.9556666811307272,10.0,1.0670000314712524,10.0,0,2.2330000400543213,10.0]},{"Target":"Parameter","Id":"Param10","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"Param11","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamEyeLOpen","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamEyeLSmile","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamEyeROpen","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamEyeRSmile","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamEyeBallX","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,0.10000000149011612,0.46700000762939453,0.10000000149011612,0,0.699999988079071,0.10000000149011612,1,0.7666666507720947,0.10000000149011612,0.8333333134651184,0.0,0.8999999761581421,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamEyeBallY","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,-0.30000001192092896,0.46700000762939453,-0.30000001192092896,0,0.699999988079071,-0.30000001192092896,1,0.7666666507720947,-0.30000001192092896,0.8333333134651184,0.0,0.8999999761581421,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBreath","Segments":[0.0,0.0,0,0.16699999570846558,0.0,1,0.3113333384195963,0.0,0.45566668113072717,1.0,0.6000000238418579,1.0,1,0.7333333492279053,1.0,0.8666666746139526,0.0,1.0,0.0,1,1.1443333228429158,0.0,1.2886666456858318,0.27000001072883606,1.4329999685287476,0.27000001072883606,1,1.621999979019165,0.27000001072883606,1.8109999895095825,0.0,2.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyPositionX","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,5.893999401073245,0.46700000762939453,6.5,1,0.578000009059906,7.106000572861859,0.6890000104904175,7.0,0.800000011920929,7.0,0,2.2330000400543213,7.0]},{"Target":"Parameter","Id":"ParamBodyAngleX","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-0.009000118707618882,0.20000000298023224,0.10000000149011612,1,0.25566667318344116,0.19100009568497178,0.3113333433866501,1.0999998160298396,0.367000013589859,1.2999999523162842,1,0.42233333985010785,1.5000002045880005,0.47766666611035663,1.5,0.5329999923706055,1.5,1,0.6776666641235352,1.5,0.8223333358764648,-2.5,0.9670000076293945,-2.5,1,1.0889999866485596,-2.5,1.2109999656677246,-2.2320002481428673,1.3329999446868896,-2.0999999046325684,1,1.4329999685287476,-1.9919998745918264,1.5329999923706055,-2.0,1.6330000162124634,-2.0,0,2.2330000400543213,-2.0]},{"Target":"Parameter","Id":"ParamBodyAngleY","Segments":[0.0,0.0,1,0.033333333830038704,0.0,0.06666666766007742,0.00400021876891779,0.10000000149011612,-0.20000000298023224,1,0.1223333328962326,-0.33600014399116773,0.1446666643023491,-1.5,0.16699999570846558,-1.5,1,0.21133333444595337,-1.5,0.25566667318344116,2.830999612540495,0.30000001192092896,3.299999952316284,1,0.36666667461395264,4.003000487705037,0.4333333373069763,4.0,0.5,4.0,1,0.5890000065167745,4.0,0.678000013033549,0.05400165301773541,0.7670000195503235,-1.5,1,0.8223333557446798,-2.4710009059695794,0.877666691939036,-2.299999952316284,0.9330000281333923,-2.299999952316284,1,1.0330000321070354,-2.299999952316284,1.1330000360806782,-2.062000104268396,1.2330000400543213,-2.0,1,1.3886667092641194,-1.903999939283968,1.5443333784739177,-1.899999976158142,1.7000000476837158,-1.899999976158142,0,2.2330000400543213,-1.899999976158142]},{"Target":"Parameter","Id":"ParamBodyAngleZ","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-0.699999988079071,0.20000000298023224,-0.699999988079071,1,0.289000004529953,-0.699999988079071,0.37800000607967377,2.0,0.46700000762939453,2.0,1,0.5223333438237509,2.0,0.5776666800181071,2.0010006618557554,0.6330000162124634,1.2999999523162842,1,0.722000002861023,0.17799890279252395,0.8109999895095825,-3.5419998968638993,0.8999999761581421,-3.700000047683716,1,1.0666666428248088,-3.996000369389852,1.2333333094914753,-4.0,1.399999976158142,-4.0,0,2.2330000400543213,-4.0]},{"Target":"Parameter","Id":"ParamBodyAngleY2","Segments":[0.0,0.0,1,0.0776666651169459,0.0,0.15533333023389181,0.699999988079071,0.2329999953508377,0.699999988079071,1,0.33299999435742694,0.699999988079071,0.43299999336401623,-3.0,0.5329999923706055,-3.0,1,0.6553333202997843,-3.0,0.7776666482289633,9.0,0.8999999761581421,9.0,1,1.0,9.0,1.100000023841858,8.413000324487797,1.2000000476837158,8.199999809265137,1,1.3000000317891438,7.986999760150923,1.400000015894572,8.0,1.5,8.0,0,2.2330000400543213,8.0]},{"Target":"Parameter","Id":"ParamBodyAngleupdown","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-1.100000023841858,0.20000000298023224,-1.100000023841858,1,0.25566667318344116,-1.100000023841858,0.3113333433866501,4.640998319754004,0.367000013589859,6.0,1,0.44466668367385864,7.90300184930112,0.5223333537578583,8.0,0.6000000238418579,8.0,1,0.755666693051656,8.0,0.9113333622614543,0.5,1.0670000314712524,0.5,1,1.1890000104904175,0.5,1.3109999895095825,1.5059997425236133,1.4329999685287476,1.7999999523162842,1,1.5329999923706055,2.0400002098083974,1.6330000162124634,2.0,1.7330000400543213,2.0,0,2.2330000400543213,2.0]},{"Target":"Parameter","Id":"ParamShoulderL","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,-0.15000000596046448,0.16699999570846558,-0.15000000596046448,1,0.2336666683355967,-0.15000000596046448,0.3003333409627279,0.4489998660584197,0.367000013589859,0.5799999833106995,1,0.4556666811307271,0.7550001841950854,0.5443333486715952,0.75,0.6330000162124634,0.75,1,0.722000002861023,0.75,0.8109999895095825,0.44999998807907104,0.8999999761581421,0.44999998807907104,1,1.0,0.44999998807907104,1.100000023841858,0.5,1.2000000476837158,0.5,0,2.2330000400543213,0.5]},{"Target":"Parameter","Id":"ParamShoulderR","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,-0.15000000596046448,0.16699999570846558,-0.15000000596046448,1,0.2446666657924652,-0.15000000596046448,0.32233333587646484,0.4439996447542569,0.4000000059604645,0.7799999713897705,1,0.4556666612625122,1.000000241585532,0.5113333165645599,1.0,0.5669999718666077,1.0,1,0.6669999758402506,1.0,0.7669999798138937,0.800000011920929,0.8669999837875366,0.800000011920929,1,0.9223333199818929,0.800000011920929,0.9776666561762491,0.8659999822490659,1.0329999923706055,0.8799999952316284,1,1.1109999815622966,0.8999999982419169,1.1889999707539876,0.8999999761581421,1.2669999599456787,0.8999999761581421,0,2.2330000400543213,0.8999999761581421]},{"Target":"Parameter","Id":"ParamBodyAngleX_R_arm_Add","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyAngleX_L_arm_Add","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL_layer","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"paramArmL_layer2","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL01","Segments":[0.0,0.0,1,0.04433333377043406,0.0,0.08866666754086813,-1.0,0.13300000131130219,-1.0,1,0.22200000286102295,-1.0,0.3110000044107437,4.113999375463862,0.4000000059604645,4.599999904632568,1,0.4890000025431315,5.0860004491162885,0.5779999991257986,5.0,0.6669999957084656,5.0,1,0.777999997138977,5.0,0.8889999985694885,2.731000312540985,1.0,2.4000000953674316,1,1.1443333228429158,1.969999557833423,1.2886666456858318,2.0,1.4329999685287476,2.0,0,2.2330000400543213,2.0]},{"Target":"Parameter","Id":"paramArmL01_contraction","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL02","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,-2.5999999046325684,0.16699999570846558,-2.5999999046325684,1,0.2556666632493337,-2.5999999046325684,0.34433333079020184,4.801998120700489,0.43299999833106995,6.599999904632568,1,0.5109999974568685,8.173001920236459,0.588999996582667,8.0,0.6669999957084656,8.0,1,0.7556666731834412,8.0,0.8443333506584167,4.099999904632568,0.9330000281333923,4.099999904632568,1,1.0110000371932983,4.099999904632568,1.0890000462532043,4.660999631948897,1.1670000553131104,4.800000190734863,1,1.278000036875407,4.999000277246779,1.3890000184377034,5.0,1.5,5.0,0,2.2330000400543213,5.0]},{"Target":"Parameter","Id":"paramArmL02_contraction","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL03","Segments":[0.0,0.0,1,0.0776666651169459,0.0,0.15533333023389181,-0.13300069722101182,0.2329999953508377,0.5,1,0.34433332085609436,1.4050008588884708,0.455666646361351,4.5,0.5669999718666077,4.5,1,0.6779999732971191,4.5,0.7889999747276306,0.08500398296928324,0.8999999761581421,-3.5,1,0.9556666612625122,-5.293002216389141,1.0113333463668823,-5.199999809265137,1.0670000314712524,-5.199999809265137,1,1.1446666717529297,-5.199999809265137,1.222333312034607,-4.304000013306336,1.2999999523162842,-4.199999809265137,1,1.4443333148956299,-4.005999839931121,1.5886666774749756,-4.0,1.7330000400543213,-4.0,0,2.2330000400543213,-4.0]},{"Target":"Parameter","Id":"paramArmL04","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR_layer3","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR_layer","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR_layer2","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR01","Segments":[0.0,0.0,1,0.04433333377043406,0.0,0.08866666754086813,-0.15700071346820244,0.13300000131130219,0.5,1,0.19966666897137958,1.4860010294020327,0.26633333663145703,11.23099910861749,0.3330000042915344,12.0,1,0.4220000108083089,13.025000700663137,0.5110000173250834,13.0,0.6000000238418579,13.0,1,0.7223333517710367,13.0,0.8446666797002157,7.599999904632568,0.9670000076293945,7.599999904632568,1,1.1113333304723103,7.599999904632568,1.2556666533152263,8.0,1.399999976158142,8.0,0,2.2330000400543213,8.0]},{"Target":"Parameter","Id":"paramArmR01_contraction","Segments":[0.0,0.0,0,0.2329999953508377,0.0,1,0.35533333818117774,0.0,0.4776666810115179,-4.599999904632568,0.6000000238418579,-4.599999904632568,0,2.2330000400543213,-4.599999904632568]},{"Target":"Parameter","Id":"paramArmR02","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,1.2290041734700026,0.16699999570846558,-2.9200000762939453,1,0.2669999996821085,-10.388007270018534,0.3670000036557516,-105.25296191584918,0.46700000762939453,-139.0,1,0.5336666703224182,-161.49802315445595,0.6003333330154419,-163.60000610351562,0.6669999957084656,-163.60000610351562,1,0.7446666558583578,-163.60000610351562,0.8223333160082499,-154.14300653530918,0.8999999761581421,-153.0,1,0.9776666561762491,-151.85699339449994,1.0553333361943562,-152.0,1.1330000162124634,-152.0,0,2.2330000400543213,-152.0]},{"Target":"Parameter","Id":"paramArmR02_contraction","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,-9.0,0.46700000762939453,-9.0,0,2.2330000400543213,-9.0]},{"Target":"Parameter","Id":"paramArmR03","Segments":[0.0,0.0,1,0.04433333377043406,0.0,0.08866666754086813,-0.04800172043206885,0.13300000131130219,1.5,1,0.1886666715145111,3.435002030280657,0.24433334171772003,7.5,0.30000001192092896,7.5,1,0.3889999985694885,7.5,0.4779999852180481,-6.676992369513755,0.5669999718666077,-14.399999618530273,1,0.622333308060964,-19.227004079537437,0.6776666442553202,-18.799999237060547,0.7329999804496765,-18.799999237060547,1,0.8329999844233195,-18.799999237060547,0.9329999883969625,-11.602001325368917,1.0329999923706055,-10.600000381469727,1,1.1109999815622966,-9.820999278248033,1.1889999707539876,-10.0,1.2669999599456787,-10.0,0,2.2330000400543213,-10.0]},{"Target":"Parameter","Id":"paramArmR04","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-3.5,0.20000000298023224,-3.5,1,0.26666667064030963,-3.5,0.3333333383003871,2.6979974070886406,0.4000000059604645,5.099999904632568,1,0.4556666612625122,7.101001942610765,0.5113333165645599,7.0,0.5669999718666077,7.0,1,0.6889999906222025,7.0,0.8110000093777975,-3.709998584679397,0.9330000281333923,-5.099999904632568,1,1.0330000321070354,-6.237001178145457,1.1330000360806782,-6.0,1.2330000400543213,-6.0,0,2.2330000400543213,-6.0]},{"Target":"Parameter","Id":"hand_R_01","Segments":[0.0,0.0,0,0.30000001192092896,0.0,1,0.3110000093777974,0.0,0.32200000683466595,-1.0,0.3330000042915344,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_02","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_03","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_04","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_05","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_06","Segments":[0.0,-1.0,0,0.30000001192092896,-1.0,1,0.3110000093777974,-1.0,0.32200000683466595,0.0,0.3330000042915344,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"hand_R_10","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_01","Segments":[0.0,-1.0,0,0.032999999821186066,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_02","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_03","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"hand_l_04","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_05","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_06","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_07","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]}]}
|
|
1
|
+
{"Version":3,"Meta":{"FadeInTime":0.25,"FadeOutTime":0.3,"Duration":2.2330000400543213,"Fps":30,"Loop":false,"AreBeziersRestricted":true,"CurveCount":53,"TotalSegmentCount":172,"TotalPointCount":441,"UserDataCount":0,"TotalUserDataSize":0},"Curves":[{"Target":"Parameter","Id":"ParamAngleX","Segments":[0.0,0.0,1,0.0776666651169459,0.0,0.15533333023389181,0.01300023873817105,0.2329999953508377,-0.20000000298023224,1,0.31099999944368995,-0.4130002129979727,0.3890000035365423,-1.0,0.46700000762939453,-1.0,1,0.6223333477973938,-1.0,0.7776666879653931,0.32899960427255337,0.9330000281333923,0.699999988079071,1,1.0776666800181072,1.0440003885995328,1.2223333319028218,1.0,1.3669999837875366,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamAngleY","Segments":[0.0,-5.0,1,0.06666666766007741,-5.0,0.13333333532015484,-7.0,0.20000000298023224,-7.0,1,0.289000004529953,-7.0,0.37800000607967377,1.3229924030342772,0.46700000762939453,9.100000381469727,1,0.5113333463668823,12.988003950401435,0.5556666851043701,13.0,0.6000000238418579,13.0,1,0.6890000104904175,13.0,0.777999997138977,1.088003642392323,0.8669999837875366,-2.4000000953674316,1,0.9336666663487753,-5.016002611160729,1.000333348910014,-4.699999809265137,1.0670000314712524,-4.699999809265137,1,1.178000013033549,-4.699999809265137,1.2889999945958455,-2.5800002152740262,1.399999976158142,-2.299999952316284,1,1.5333333015441895,-1.9639996569951563,1.6666666269302368,-2.0,1.7999999523162842,-2.0,0,2.2330000400543213,-2.0]},{"Target":"Parameter","Id":"ParamAngleZ","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,0.04400057698056037,0.16699999570846558,-0.5,1,0.22233333190282184,-1.044000568543121,0.27766666809717816,-3.0,0.3330000042915344,-3.0,1,0.4663333296775818,-3.0,0.5996666550636292,7.504998614092756,0.7329999804496765,9.0,1,0.8443333307902018,10.246001597961481,0.9556666811307272,10.0,1.0670000314712524,10.0,0,2.2330000400543213,10.0]},{"Target":"Parameter","Id":"Param10","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"Param11","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamEyeLOpen","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamEyeLSmile","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamEyeROpen","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamEyeRSmile","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamEyeBallX","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,0.10000000149011612,0.46700000762939453,0.10000000149011612,0,0.699999988079071,0.10000000149011612,1,0.7666666507720947,0.10000000149011612,0.8333333134651184,0.0,0.8999999761581421,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamEyeBallY","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,-0.30000001192092896,0.46700000762939453,-0.30000001192092896,0,0.699999988079071,-0.30000001192092896,1,0.7666666507720947,-0.30000001192092896,0.8333333134651184,0.0,0.8999999761581421,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBreath","Segments":[0.0,0.0,0,0.16699999570846558,0.0,1,0.3113333384195963,0.0,0.45566668113072717,1.0,0.6000000238418579,1.0,1,0.7333333492279053,1.0,0.8666666746139526,0.0,1.0,0.0,1,1.1443333228429158,0.0,1.2886666456858318,0.27000001072883606,1.4329999685287476,0.27000001072883606,1,1.621999979019165,0.27000001072883606,1.8109999895095825,0.0,2.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyPositionX","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,5.893999401073245,0.46700000762939453,6.5,1,0.578000009059906,7.106000572861859,0.6890000104904175,7.0,0.800000011920929,7.0,0,2.2330000400543213,7.0]},{"Target":"Parameter","Id":"ParamBodyAngleX","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-0.009000118707618882,0.20000000298023224,0.10000000149011612,1,0.25566667318344116,0.19100009568497178,0.3113333433866501,1.0999998160298396,0.367000013589859,1.2999999523162842,1,0.42233333985010785,1.5000002045880005,0.47766666611035663,1.5,0.5329999923706055,1.5,1,0.6776666641235352,1.5,0.8223333358764648,-2.5,0.9670000076293945,-2.5,1,1.0889999866485596,-2.5,1.2109999656677246,-2.2320002481428673,1.3329999446868896,-2.0999999046325684,1,1.4329999685287476,-1.9919998745918264,1.5329999923706055,-2.0,1.6330000162124634,-2.0,0,2.2330000400543213,-2.0]},{"Target":"Parameter","Id":"ParamBodyAngleY","Segments":[0.0,0.0,1,0.033333333830038704,0.0,0.06666666766007742,0.00400021876891779,0.10000000149011612,-0.20000000298023224,1,0.1223333328962326,-0.33600014399116773,0.1446666643023491,-1.5,0.16699999570846558,-1.5,1,0.21133333444595337,-1.5,0.25566667318344116,2.830999612540495,0.30000001192092896,3.299999952316284,1,0.36666667461395264,4.003000487705037,0.4333333373069763,4.0,0.5,4.0,1,0.5890000065167745,4.0,0.678000013033549,0.05400165301773541,0.7670000195503235,-1.5,1,0.8223333557446798,-2.4710009059695794,0.877666691939036,-2.299999952316284,0.9330000281333923,-2.299999952316284,1,1.0330000321070354,-2.299999952316284,1.1330000360806782,-2.062000104268396,1.2330000400543213,-2.0,1,1.3886667092641194,-1.903999939283968,1.5443333784739177,-1.899999976158142,1.7000000476837158,-1.899999976158142,0,2.2330000400543213,-1.899999976158142]},{"Target":"Parameter","Id":"ParamBodyAngleZ","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-0.699999988079071,0.20000000298023224,-0.699999988079071,1,0.289000004529953,-0.699999988079071,0.37800000607967377,2.0,0.46700000762939453,2.0,1,0.5223333438237509,2.0,0.5776666800181071,2.0010006618557554,0.6330000162124634,1.2999999523162842,1,0.722000002861023,0.17799890279252395,0.8109999895095825,-3.5419998968638993,0.8999999761581421,-3.700000047683716,1,1.0666666428248088,-3.996000369389852,1.2333333094914753,-4.0,1.399999976158142,-4.0,0,2.2330000400543213,-4.0]},{"Target":"Parameter","Id":"ParamBodyAngleY2","Segments":[0.0,0.0,1,0.0776666651169459,0.0,0.15533333023389181,0.699999988079071,0.2329999953508377,0.699999988079071,1,0.33299999435742694,0.699999988079071,0.43299999336401623,-3.0,0.5329999923706055,-3.0,1,0.6553333202997843,-3.0,0.7776666482289633,9.0,0.8999999761581421,9.0,1,1.0,9.0,1.100000023841858,8.413000324487797,1.2000000476837158,8.199999809265137,1,1.3000000317891438,7.986999760150923,1.400000015894572,8.0,1.5,8.0,0,2.2330000400543213,8.0]},{"Target":"Parameter","Id":"ParamBodyAngleupdown","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-1.100000023841858,0.20000000298023224,-1.100000023841858,1,0.25566667318344116,-1.100000023841858,0.3113333433866501,4.640998319754004,0.367000013589859,6.0,1,0.44466668367385864,7.90300184930112,0.5223333537578583,8.0,0.6000000238418579,8.0,1,0.755666693051656,8.0,0.9113333622614543,0.5,1.0670000314712524,0.5,1,1.1890000104904175,0.5,1.3109999895095825,1.5059997425236133,1.4329999685287476,1.7999999523162842,1,1.5329999923706055,2.0400002098083974,1.6330000162124634,2.0,1.7330000400543213,2.0,0,2.2330000400543213,2.0]},{"Target":"Parameter","Id":"ParamShoulderL","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,-0.15000000596046448,0.16699999570846558,-0.15000000596046448,1,0.2336666683355967,-0.15000000596046448,0.3003333409627279,0.4489998660584197,0.367000013589859,0.5799999833106995,1,0.4556666811307271,0.7550001841950854,0.5443333486715952,0.75,0.6330000162124634,0.75,1,0.722000002861023,0.75,0.8109999895095825,0.44999998807907104,0.8999999761581421,0.44999998807907104,1,1.0,0.44999998807907104,1.100000023841858,0.5,1.2000000476837158,0.5,0,2.2330000400543213,0.5]},{"Target":"Parameter","Id":"ParamShoulderR","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,-0.15000000596046448,0.16699999570846558,-0.15000000596046448,1,0.2446666657924652,-0.15000000596046448,0.32233333587646484,0.4439996447542569,0.4000000059604645,0.7799999713897705,1,0.4556666612625122,1.000000241585532,0.5113333165645599,1.0,0.5669999718666077,1.0,1,0.6669999758402506,1.0,0.7669999798138937,0.800000011920929,0.8669999837875366,0.800000011920929,1,0.9223333199818929,0.800000011920929,0.9776666561762491,0.8659999822490659,1.0329999923706055,0.8799999952316284,1,1.1109999815622966,0.8999999982419169,1.1889999707539876,0.8999999761581421,1.2669999599456787,0.8999999761581421,0,2.2330000400543213,0.8999999761581421]},{"Target":"Parameter","Id":"ParamBodyAngleX_R_arm_Add","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyAngleX_L_arm_Add","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL_layer","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"paramArmL_layer2","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL01","Segments":[0.0,0.0,1,0.04433333377043406,0.0,0.08866666754086813,-1.0,0.13300000131130219,-1.0,1,0.22200000286102295,-1.0,0.3110000044107437,4.113999375463862,0.4000000059604645,4.599999904632568,1,0.4890000025431315,5.0860004491162885,0.5779999991257986,5.0,0.6669999957084656,5.0,1,0.777999997138977,5.0,0.8889999985694885,2.731000312540985,1.0,2.4000000953674316,1,1.1443333228429158,1.969999557833423,1.2886666456858318,2.0,1.4329999685287476,2.0,0,2.2330000400543213,2.0]},{"Target":"Parameter","Id":"paramArmL01_contraction","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL02","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,-2.5999999046325684,0.16699999570846558,-2.5999999046325684,1,0.2556666632493337,-2.5999999046325684,0.34433333079020184,4.801998120700489,0.43299999833106995,6.599999904632568,1,0.5109999974568685,8.173001920236459,0.588999996582667,8.0,0.6669999957084656,8.0,1,0.7556666731834412,8.0,0.8443333506584167,4.099999904632568,0.9330000281333923,4.099999904632568,1,1.0110000371932983,4.099999904632568,1.0890000462532043,4.660999631948897,1.1670000553131104,4.800000190734863,1,1.278000036875407,4.999000277246779,1.3890000184377034,5.0,1.5,5.0,0,2.2330000400543213,5.0]},{"Target":"Parameter","Id":"paramArmL02_contraction","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL03","Segments":[0.0,0.0,1,0.0776666651169459,0.0,0.15533333023389181,-0.13300069722101182,0.2329999953508377,0.5,1,0.34433332085609436,1.4050008588884708,0.455666646361351,4.5,0.5669999718666077,4.5,1,0.6779999732971191,4.5,0.7889999747276306,0.08500398296928324,0.8999999761581421,-3.5,1,0.9556666612625122,-5.293002216389141,1.0113333463668823,-5.199999809265137,1.0670000314712524,-5.199999809265137,1,1.1446666717529297,-5.199999809265137,1.222333312034607,-4.304000013306336,1.2999999523162842,-4.199999809265137,1,1.4443333148956299,-4.005999839931121,1.5886666774749756,-4.0,1.7330000400543213,-4.0,0,2.2330000400543213,-4.0]},{"Target":"Parameter","Id":"paramArmL04","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR_layer3","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR_layer","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR_layer2","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR01","Segments":[0.0,0.0,1,0.04433333377043406,0.0,0.08866666754086813,-0.15700071346820244,0.13300000131130219,0.5,1,0.19966666897137958,1.4860010294020327,0.26633333663145703,11.23099910861749,0.3330000042915344,12.0,1,0.4220000108083089,13.025000700663137,0.5110000173250834,13.0,0.6000000238418579,13.0,1,0.7223333517710367,13.0,0.8446666797002157,7.599999904632568,0.9670000076293945,7.599999904632568,1,1.1113333304723103,7.599999904632568,1.2556666533152263,8.0,1.399999976158142,8.0,0,2.2330000400543213,8.0]},{"Target":"Parameter","Id":"paramArmR01_contraction","Segments":[0.0,0.0,0,0.2329999953508377,0.0,1,0.35533333818117774,0.0,0.4776666810115179,-4.599999904632568,0.6000000238418579,-4.599999904632568,0,2.2330000400543213,-4.599999904632568]},{"Target":"Parameter","Id":"paramArmR02","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,1.2290041734700026,0.16699999570846558,-2.9200000762939453,1,0.2669999996821085,-10.388007270018534,0.3670000036557516,-105.25296191584918,0.46700000762939453,-139.0,1,0.5336666703224182,-161.49802315445595,0.6003333330154419,-163.60000610351562,0.6669999957084656,-163.60000610351562,1,0.7446666558583578,-163.60000610351562,0.8223333160082499,-154.14300653530918,0.8999999761581421,-153.0,1,0.9776666561762491,-151.85699339449994,1.0553333361943562,-152.0,1.1330000162124634,-152.0,0,2.2330000400543213,-152.0]},{"Target":"Parameter","Id":"paramArmR02_contraction","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,-9.0,0.46700000762939453,-9.0,0,2.2330000400543213,-9.0]},{"Target":"Parameter","Id":"paramArmR03","Segments":[0.0,0.0,1,0.04433333377043406,0.0,0.08866666754086813,-0.04800172043206885,0.13300000131130219,1.5,1,0.1886666715145111,3.435002030280657,0.24433334171772003,7.5,0.30000001192092896,7.5,1,0.3889999985694885,7.5,0.4779999852180481,-6.676992369513755,0.5669999718666077,-14.399999618530273,1,0.622333308060964,-19.227004079537437,0.6776666442553202,-18.799999237060547,0.7329999804496765,-18.799999237060547,1,0.8329999844233195,-18.799999237060547,0.9329999883969625,-11.602001325368917,1.0329999923706055,-10.600000381469727,1,1.1109999815622966,-9.820999278248033,1.1889999707539876,-10.0,1.2669999599456787,-10.0,0,2.2330000400543213,-10.0]},{"Target":"Parameter","Id":"paramArmR04","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-3.5,0.20000000298023224,-3.5,1,0.26666667064030963,-3.5,0.3333333383003871,2.6979974070886406,0.4000000059604645,5.099999904632568,1,0.4556666612625122,7.101001942610765,0.5113333165645599,7.0,0.5669999718666077,7.0,1,0.6889999906222025,7.0,0.8110000093777975,-3.709998584679397,0.9330000281333923,-5.099999904632568,1,1.0330000321070354,-6.237001178145457,1.1330000360806782,-6.0,1.2330000400543213,-6.0,0,2.2330000400543213,-6.0]},{"Target":"Parameter","Id":"hand_R_01","Segments":[0.0,0.0,0,0.30000001192092896,0.0,1,0.3110000093777974,0.0,0.32200000683466595,-1.0,0.3330000042915344,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_02","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_03","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_04","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_05","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_06","Segments":[0.0,-1.0,0,0.30000001192092896,-1.0,1,0.3110000093777974,-1.0,0.32200000683466595,0.0,0.3330000042915344,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"hand_R_10","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_01","Segments":[0.0,-1.0,0,0.032999999821186066,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_02","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_03","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"hand_l_04","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_05","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_06","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_07","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]}]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"Version":3,"Meta":{"Duration":2.2330000400543213,"Fps":30,"Loop":false,"AreBeziersRestricted":true,"CurveCount":79,"TotalSegmentCount":200,"TotalPointCount":499,"UserDataCount":0,"TotalUserDataSize":0},"Curves":[{"Target":"Parameter","Id":"ParamAngleX","Segments":[0.0,0.0,1,0.0776666651169459,0.0,0.15533333023389181,0.01300023873817105,0.2329999953508377,-0.20000000298023224,1,0.31099999944368995,-0.4130002129979727,0.3890000035365423,-1.0,0.46700000762939453,-1.0,1,0.6223333477973938,-1.0,0.7776666879653931,0.32899960427255337,0.9330000281333923,0.699999988079071,1,1.0776666800181072,1.0440003885995328,1.2223333319028218,1.0,1.3669999837875366,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamAngleY","Segments":[0.0,-5.0,1,0.06666666766007741,-5.0,0.13333333532015484,-7.0,0.20000000298023224,-7.0,1,0.289000004529953,-7.0,0.37800000607967377,1.3229924030342772,0.46700000762939453,9.100000381469727,1,0.5113333463668823,12.988003950401435,0.5556666851043701,13.0,0.6000000238418579,13.0,1,0.6890000104904175,13.0,0.777999997138977,1.088003642392323,0.8669999837875366,-2.4000000953674316,1,0.9336666663487753,-5.016002611160729,1.000333348910014,-4.699999809265137,1.0670000314712524,-4.699999809265137,1,1.178000013033549,-4.699999809265137,1.2889999945958455,-2.5800002152740262,1.399999976158142,-2.299999952316284,1,1.5333333015441895,-1.9639996569951563,1.6666666269302368,-2.0,1.7999999523162842,-2.0,0,2.2330000400543213,-2.0]},{"Target":"Parameter","Id":"ParamAngleZ","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,0.04400057698056037,0.16699999570846558,-0.5,1,0.22233333190282184,-1.044000568543121,0.27766666809717816,-3.0,0.3330000042915344,-3.0,1,0.4663333296775818,-3.0,0.5996666550636292,7.504998614092756,0.7329999804496765,9.0,1,0.8443333307902018,10.246001597961481,0.9556666811307272,10.0,1.0670000314712524,10.0,0,2.2330000400543213,10.0]},{"Target":"Parameter","Id":"Param10","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"Param11","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamEyeLOpen","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamEyeLSmile","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamEyeROpen","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamEyeRSmile","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamEyeBallX","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,0.10000000149011612,0.46700000762939453,0.10000000149011612,0,0.699999988079071,0.10000000149011612,1,0.7666666507720947,0.10000000149011612,0.8333333134651184,0.0,0.8999999761581421,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamEyeBallY","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,-0.30000001192092896,0.46700000762939453,-0.30000001192092896,0,0.699999988079071,-0.30000001192092896,1,0.7666666507720947,-0.30000001192092896,0.8333333134651184,0.0,0.8999999761581421,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBreath","Segments":[0.0,0.0,0,0.16699999570846558,0.0,1,0.3113333384195963,0.0,0.45566668113072717,1.0,0.6000000238418579,1.0,1,0.7333333492279053,1.0,0.8666666746139526,0.0,1.0,0.0,1,1.1443333228429158,0.0,1.2886666456858318,0.27000001072883606,1.4329999685287476,0.27000001072883606,1,1.621999979019165,0.27000001072883606,1.8109999895095825,0.0,2.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyPositionX","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,5.893999401073245,0.46700000762939453,6.5,1,0.578000009059906,7.106000572861859,0.6890000104904175,7.0,0.800000011920929,7.0,0,2.2330000400543213,7.0]},{"Target":"Parameter","Id":"ParamBodyAngleX","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-0.009000118707618882,0.20000000298023224,0.10000000149011612,1,0.25566667318344116,0.19100009568497178,0.3113333433866501,1.0999998160298396,0.367000013589859,1.2999999523162842,1,0.42233333985010785,1.5000002045880005,0.47766666611035663,1.5,0.5329999923706055,1.5,1,0.6776666641235352,1.5,0.8223333358764648,-2.5,0.9670000076293945,-2.5,1,1.0889999866485596,-2.5,1.2109999656677246,-2.2320002481428673,1.3329999446868896,-2.0999999046325684,1,1.4329999685287476,-1.9919998745918264,1.5329999923706055,-2.0,1.6330000162124634,-2.0,0,2.2330000400543213,-2.0]},{"Target":"Parameter","Id":"ParamBodyAngleY","Segments":[0.0,0.0,1,0.033333333830038704,0.0,0.06666666766007742,0.00400021876891779,0.10000000149011612,-0.20000000298023224,1,0.1223333328962326,-0.33600014399116773,0.1446666643023491,-1.5,0.16699999570846558,-1.5,1,0.21133333444595337,-1.5,0.25566667318344116,2.830999612540495,0.30000001192092896,3.299999952316284,1,0.36666667461395264,4.003000487705037,0.4333333373069763,4.0,0.5,4.0,1,0.5890000065167745,4.0,0.678000013033549,0.05400165301773541,0.7670000195503235,-1.5,1,0.8223333557446798,-2.4710009059695794,0.877666691939036,-2.299999952316284,0.9330000281333923,-2.299999952316284,1,1.0330000321070354,-2.299999952316284,1.1330000360806782,-2.062000104268396,1.2330000400543213,-2.0,1,1.3886667092641194,-1.903999939283968,1.5443333784739177,-1.899999976158142,1.7000000476837158,-1.899999976158142,0,2.2330000400543213,-1.899999976158142]},{"Target":"Parameter","Id":"ParamBodyAngleZ","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-0.699999988079071,0.20000000298023224,-0.699999988079071,1,0.289000004529953,-0.699999988079071,0.37800000607967377,2.0,0.46700000762939453,2.0,1,0.5223333438237509,2.0,0.5776666800181071,2.0010006618557554,0.6330000162124634,1.2999999523162842,1,0.722000002861023,0.17799890279252395,0.8109999895095825,-3.5419998968638993,0.8999999761581421,-3.700000047683716,1,1.0666666428248088,-3.996000369389852,1.2333333094914753,-4.0,1.399999976158142,-4.0,0,2.2330000400543213,-4.0]},{"Target":"Parameter","Id":"ParamBodyAngleY2","Segments":[0.0,0.0,1,0.0776666651169459,0.0,0.15533333023389181,0.699999988079071,0.2329999953508377,0.699999988079071,1,0.33299999435742694,0.699999988079071,0.43299999336401623,-3.0,0.5329999923706055,-3.0,1,0.6553333202997843,-3.0,0.7776666482289633,9.0,0.8999999761581421,9.0,1,1.0,9.0,1.100000023841858,8.413000324487797,1.2000000476837158,8.199999809265137,1,1.3000000317891438,7.986999760150923,1.400000015894572,8.0,1.5,8.0,0,2.2330000400543213,8.0]},{"Target":"Parameter","Id":"ParamBodyAngleupdown","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-1.100000023841858,0.20000000298023224,-1.100000023841858,1,0.25566667318344116,-1.100000023841858,0.3113333433866501,4.640998319754004,0.367000013589859,6.0,1,0.44466668367385864,7.90300184930112,0.5223333537578583,8.0,0.6000000238418579,8.0,1,0.755666693051656,8.0,0.9113333622614543,0.5,1.0670000314712524,0.5,1,1.1890000104904175,0.5,1.3109999895095825,1.5059997425236133,1.4329999685287476,1.7999999523162842,1,1.5329999923706055,2.0400002098083974,1.6330000162124634,2.0,1.7330000400543213,2.0,0,2.2330000400543213,2.0]},{"Target":"Parameter","Id":"ParamShoulderL","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,-0.15000000596046448,0.16699999570846558,-0.15000000596046448,1,0.2336666683355967,-0.15000000596046448,0.3003333409627279,0.4489998660584197,0.367000013589859,0.5799999833106995,1,0.4556666811307271,0.7550001841950854,0.5443333486715952,0.75,0.6330000162124634,0.75,1,0.722000002861023,0.75,0.8109999895095825,0.44999998807907104,0.8999999761581421,0.44999998807907104,1,1.0,0.44999998807907104,1.100000023841858,0.5,1.2000000476837158,0.5,0,2.2330000400543213,0.5]},{"Target":"Parameter","Id":"ParamShoulderR","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,-0.15000000596046448,0.16699999570846558,-0.15000000596046448,1,0.2446666657924652,-0.15000000596046448,0.32233333587646484,0.4439996447542569,0.4000000059604645,0.7799999713897705,1,0.4556666612625122,1.000000241585532,0.5113333165645599,1.0,0.5669999718666077,1.0,1,0.6669999758402506,1.0,0.7669999798138937,0.800000011920929,0.8669999837875366,0.800000011920929,1,0.9223333199818929,0.800000011920929,0.9776666561762491,0.8659999822490659,1.0329999923706055,0.8799999952316284,1,1.1109999815622966,0.8999999982419169,1.1889999707539876,0.8999999761581421,1.2669999599456787,0.8999999761581421,0,2.2330000400543213,0.8999999761581421]},{"Target":"Parameter","Id":"ParamBodyAngleX_R_arm_Add","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyAngleX_L_arm_Add","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"Param22","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"paramArmL_layer3","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL_layer","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"paramArmL_layer2","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL01","Segments":[0.0,0.0,1,0.04433333377043406,0.0,0.08866666754086813,-1.0,0.13300000131130219,-1.0,1,0.22200000286102295,-1.0,0.3110000044107437,4.113999375463862,0.4000000059604645,4.599999904632568,1,0.4890000025431315,5.0860004491162885,0.5779999991257986,5.0,0.6669999957084656,5.0,1,0.777999997138977,5.0,0.8889999985694885,2.731000312540985,1.0,2.4000000953674316,1,1.1443333228429158,1.969999557833423,1.2886666456858318,2.0,1.4329999685287476,2.0,0,2.2330000400543213,2.0]},{"Target":"Parameter","Id":"paramArmL01_contraction","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL02","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,-2.5999999046325684,0.16699999570846558,-2.5999999046325684,1,0.2556666632493337,-2.5999999046325684,0.34433333079020184,4.801998120700489,0.43299999833106995,6.599999904632568,1,0.5109999974568685,8.173001920236459,0.588999996582667,8.0,0.6669999957084656,8.0,1,0.7556666731834412,8.0,0.8443333506584167,4.099999904632568,0.9330000281333923,4.099999904632568,1,1.0110000371932983,4.099999904632568,1.0890000462532043,4.660999631948897,1.1670000553131104,4.800000190734863,1,1.278000036875407,4.999000277246779,1.3890000184377034,5.0,1.5,5.0,0,2.2330000400543213,5.0]},{"Target":"Parameter","Id":"paramArmL02_contraction","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL05","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL03","Segments":[0.0,0.0,1,0.0776666651169459,0.0,0.15533333023389181,-0.13300069722101182,0.2329999953508377,0.5,1,0.34433332085609436,1.4050008588884708,0.455666646361351,4.5,0.5669999718666077,4.5,1,0.6779999732971191,4.5,0.7889999747276306,0.08500398296928324,0.8999999761581421,-3.5,1,0.9556666612625122,-5.293002216389141,1.0113333463668823,-5.199999809265137,1.0670000314712524,-5.199999809265137,1,1.1446666717529297,-5.199999809265137,1.222333312034607,-4.304000013306336,1.2999999523162842,-4.199999809265137,1,1.4443333148956299,-4.005999839931121,1.5886666774749756,-4.0,1.7330000400543213,-4.0,0,2.2330000400543213,-4.0]},{"Target":"Parameter","Id":"paramArmL04","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL06","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL07","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamJaketLYoke","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamJaketLYoke1","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL08","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyL1","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyL2","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamJaketLB","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamJaketLB2","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"paramArmR_layer3","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR_layer","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR_layer2","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR01","Segments":[0.0,0.0,1,0.04433333377043406,0.0,0.08866666754086813,-0.15700071346820244,0.13300000131130219,0.5,1,0.19966666897137958,1.4860010294020327,0.26633333663145703,11.23099910861749,0.3330000042915344,12.0,1,0.4220000108083089,13.025000700663137,0.5110000173250834,13.0,0.6000000238418579,13.0,1,0.7223333517710367,13.0,0.8446666797002157,7.599999904632568,0.9670000076293945,7.599999904632568,1,1.1113333304723103,7.599999904632568,1.2556666533152263,8.0,1.399999976158142,8.0,0,2.2330000400543213,8.0]},{"Target":"Parameter","Id":"paramArmR01_contraction","Segments":[0.0,0.0,0,0.2329999953508377,0.0,1,0.35533333818117774,0.0,0.4776666810115179,-4.599999904632568,0.6000000238418579,-4.599999904632568,0,2.2330000400543213,-4.599999904632568]},{"Target":"Parameter","Id":"paramArmR02","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,1.2290041734700026,0.16699999570846558,-2.9200000762939453,1,0.2669999996821085,-10.388007270018534,0.3670000036557516,-105.25296191584918,0.46700000762939453,-139.0,1,0.5336666703224182,-161.49802315445595,0.6003333330154419,-163.60000610351562,0.6669999957084656,-163.60000610351562,1,0.7446666558583578,-163.60000610351562,0.8223333160082499,-154.14300653530918,0.8999999761581421,-153.0,1,0.9776666561762491,-151.85699339449994,1.0553333361943562,-152.0,1.1330000162124634,-152.0,0,2.2330000400543213,-152.0]},{"Target":"Parameter","Id":"paramArmR05","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,0.6000000238418579,0.20000000298023224,0.6000000238418579,1,0.32233332594235736,0.6000000238418579,0.44466664890448254,-0.800000011920929,0.5669999718666077,-0.800000011920929,0,2.2330000400543213,-0.800000011920929]},{"Target":"Parameter","Id":"paramArmR02_contraction","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,-9.0,0.46700000762939453,-9.0,0,2.2330000400543213,-9.0]},{"Target":"Parameter","Id":"paramArmR03","Segments":[0.0,0.0,1,0.04433333377043406,0.0,0.08866666754086813,-0.04800172043206885,0.13300000131130219,1.5,1,0.1886666715145111,3.435002030280657,0.24433334171772003,7.5,0.30000001192092896,7.5,1,0.3889999985694885,7.5,0.4779999852180481,-6.676992369513755,0.5669999718666077,-14.399999618530273,1,0.622333308060964,-19.227004079537437,0.6776666442553202,-18.799999237060547,0.7329999804496765,-18.799999237060547,1,0.8329999844233195,-18.799999237060547,0.9329999883969625,-11.602001325368917,1.0329999923706055,-10.600000381469727,1,1.1109999815622966,-9.820999278248033,1.1889999707539876,-10.0,1.2669999599456787,-10.0,0,2.2330000400543213,-10.0]},{"Target":"Parameter","Id":"paramArmR04","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-3.5,0.20000000298023224,-3.5,1,0.26666667064030963,-3.5,0.3333333383003871,2.6979974070886406,0.4000000059604645,5.099999904632568,1,0.4556666612625122,7.101001942610765,0.5113333165645599,7.0,0.5669999718666077,7.0,1,0.6889999906222025,7.0,0.8110000093777975,-3.709998584679397,0.9330000281333923,-5.099999904632568,1,1.0330000321070354,-6.237001178145457,1.1330000360806782,-6.0,1.2330000400543213,-6.0,0,2.2330000400543213,-6.0]},{"Target":"Parameter","Id":"paramArmR06","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR08","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamJaketRYoke","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamJaketRYoke1","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR07","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyR1","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamJaketRB","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamJaketRB2","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"hand_R_01","Segments":[0.0,0.0,0,0.30000001192092896,0.0,1,0.3110000093777974,0.0,0.32200000683466595,-1.0,0.3330000042915344,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_02","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_03","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_04","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_05","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_06","Segments":[0.0,-1.0,0,0.30000001192092896,-1.0,1,0.3110000093777974,-1.0,0.32200000683466595,0.0,0.3330000042915344,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"hand_R_07","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_12","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_08","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_09","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_10","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_11","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_01","Segments":[0.0,-1.0,0,0.032999999821186066,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_02","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_03","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"hand_l_04","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_05","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_06","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_07","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]}]}
|
|
1
|
+
{"Version":3,"Meta":{"FadeInTime":0.25,"FadeOutTime":0.3,"Duration":2.2330000400543213,"Fps":30,"Loop":false,"AreBeziersRestricted":true,"CurveCount":79,"TotalSegmentCount":200,"TotalPointCount":499,"UserDataCount":0,"TotalUserDataSize":0},"Curves":[{"Target":"Parameter","Id":"ParamAngleX","Segments":[0.0,0.0,1,0.0776666651169459,0.0,0.15533333023389181,0.01300023873817105,0.2329999953508377,-0.20000000298023224,1,0.31099999944368995,-0.4130002129979727,0.3890000035365423,-1.0,0.46700000762939453,-1.0,1,0.6223333477973938,-1.0,0.7776666879653931,0.32899960427255337,0.9330000281333923,0.699999988079071,1,1.0776666800181072,1.0440003885995328,1.2223333319028218,1.0,1.3669999837875366,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamAngleY","Segments":[0.0,-5.0,1,0.06666666766007741,-5.0,0.13333333532015484,-7.0,0.20000000298023224,-7.0,1,0.289000004529953,-7.0,0.37800000607967377,1.3229924030342772,0.46700000762939453,9.100000381469727,1,0.5113333463668823,12.988003950401435,0.5556666851043701,13.0,0.6000000238418579,13.0,1,0.6890000104904175,13.0,0.777999997138977,1.088003642392323,0.8669999837875366,-2.4000000953674316,1,0.9336666663487753,-5.016002611160729,1.000333348910014,-4.699999809265137,1.0670000314712524,-4.699999809265137,1,1.178000013033549,-4.699999809265137,1.2889999945958455,-2.5800002152740262,1.399999976158142,-2.299999952316284,1,1.5333333015441895,-1.9639996569951563,1.6666666269302368,-2.0,1.7999999523162842,-2.0,0,2.2330000400543213,-2.0]},{"Target":"Parameter","Id":"ParamAngleZ","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,0.04400057698056037,0.16699999570846558,-0.5,1,0.22233333190282184,-1.044000568543121,0.27766666809717816,-3.0,0.3330000042915344,-3.0,1,0.4663333296775818,-3.0,0.5996666550636292,7.504998614092756,0.7329999804496765,9.0,1,0.8443333307902018,10.246001597961481,0.9556666811307272,10.0,1.0670000314712524,10.0,0,2.2330000400543213,10.0]},{"Target":"Parameter","Id":"Param10","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"Param11","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamEyeLOpen","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamEyeLSmile","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamEyeROpen","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamEyeRSmile","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamEyeBallX","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,0.10000000149011612,0.46700000762939453,0.10000000149011612,0,0.699999988079071,0.10000000149011612,1,0.7666666507720947,0.10000000149011612,0.8333333134651184,0.0,0.8999999761581421,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamEyeBallY","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,-0.30000001192092896,0.46700000762939453,-0.30000001192092896,0,0.699999988079071,-0.30000001192092896,1,0.7666666507720947,-0.30000001192092896,0.8333333134651184,0.0,0.8999999761581421,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBreath","Segments":[0.0,0.0,0,0.16699999570846558,0.0,1,0.3113333384195963,0.0,0.45566668113072717,1.0,0.6000000238418579,1.0,1,0.7333333492279053,1.0,0.8666666746139526,0.0,1.0,0.0,1,1.1443333228429158,0.0,1.2886666456858318,0.27000001072883606,1.4329999685287476,0.27000001072883606,1,1.621999979019165,0.27000001072883606,1.8109999895095825,0.0,2.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyPositionX","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,5.893999401073245,0.46700000762939453,6.5,1,0.578000009059906,7.106000572861859,0.6890000104904175,7.0,0.800000011920929,7.0,0,2.2330000400543213,7.0]},{"Target":"Parameter","Id":"ParamBodyAngleX","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-0.009000118707618882,0.20000000298023224,0.10000000149011612,1,0.25566667318344116,0.19100009568497178,0.3113333433866501,1.0999998160298396,0.367000013589859,1.2999999523162842,1,0.42233333985010785,1.5000002045880005,0.47766666611035663,1.5,0.5329999923706055,1.5,1,0.6776666641235352,1.5,0.8223333358764648,-2.5,0.9670000076293945,-2.5,1,1.0889999866485596,-2.5,1.2109999656677246,-2.2320002481428673,1.3329999446868896,-2.0999999046325684,1,1.4329999685287476,-1.9919998745918264,1.5329999923706055,-2.0,1.6330000162124634,-2.0,0,2.2330000400543213,-2.0]},{"Target":"Parameter","Id":"ParamBodyAngleY","Segments":[0.0,0.0,1,0.033333333830038704,0.0,0.06666666766007742,0.00400021876891779,0.10000000149011612,-0.20000000298023224,1,0.1223333328962326,-0.33600014399116773,0.1446666643023491,-1.5,0.16699999570846558,-1.5,1,0.21133333444595337,-1.5,0.25566667318344116,2.830999612540495,0.30000001192092896,3.299999952316284,1,0.36666667461395264,4.003000487705037,0.4333333373069763,4.0,0.5,4.0,1,0.5890000065167745,4.0,0.678000013033549,0.05400165301773541,0.7670000195503235,-1.5,1,0.8223333557446798,-2.4710009059695794,0.877666691939036,-2.299999952316284,0.9330000281333923,-2.299999952316284,1,1.0330000321070354,-2.299999952316284,1.1330000360806782,-2.062000104268396,1.2330000400543213,-2.0,1,1.3886667092641194,-1.903999939283968,1.5443333784739177,-1.899999976158142,1.7000000476837158,-1.899999976158142,0,2.2330000400543213,-1.899999976158142]},{"Target":"Parameter","Id":"ParamBodyAngleZ","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-0.699999988079071,0.20000000298023224,-0.699999988079071,1,0.289000004529953,-0.699999988079071,0.37800000607967377,2.0,0.46700000762939453,2.0,1,0.5223333438237509,2.0,0.5776666800181071,2.0010006618557554,0.6330000162124634,1.2999999523162842,1,0.722000002861023,0.17799890279252395,0.8109999895095825,-3.5419998968638993,0.8999999761581421,-3.700000047683716,1,1.0666666428248088,-3.996000369389852,1.2333333094914753,-4.0,1.399999976158142,-4.0,0,2.2330000400543213,-4.0]},{"Target":"Parameter","Id":"ParamBodyAngleY2","Segments":[0.0,0.0,1,0.0776666651169459,0.0,0.15533333023389181,0.699999988079071,0.2329999953508377,0.699999988079071,1,0.33299999435742694,0.699999988079071,0.43299999336401623,-3.0,0.5329999923706055,-3.0,1,0.6553333202997843,-3.0,0.7776666482289633,9.0,0.8999999761581421,9.0,1,1.0,9.0,1.100000023841858,8.413000324487797,1.2000000476837158,8.199999809265137,1,1.3000000317891438,7.986999760150923,1.400000015894572,8.0,1.5,8.0,0,2.2330000400543213,8.0]},{"Target":"Parameter","Id":"ParamBodyAngleupdown","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-1.100000023841858,0.20000000298023224,-1.100000023841858,1,0.25566667318344116,-1.100000023841858,0.3113333433866501,4.640998319754004,0.367000013589859,6.0,1,0.44466668367385864,7.90300184930112,0.5223333537578583,8.0,0.6000000238418579,8.0,1,0.755666693051656,8.0,0.9113333622614543,0.5,1.0670000314712524,0.5,1,1.1890000104904175,0.5,1.3109999895095825,1.5059997425236133,1.4329999685287476,1.7999999523162842,1,1.5329999923706055,2.0400002098083974,1.6330000162124634,2.0,1.7330000400543213,2.0,0,2.2330000400543213,2.0]},{"Target":"Parameter","Id":"ParamShoulderL","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,-0.15000000596046448,0.16699999570846558,-0.15000000596046448,1,0.2336666683355967,-0.15000000596046448,0.3003333409627279,0.4489998660584197,0.367000013589859,0.5799999833106995,1,0.4556666811307271,0.7550001841950854,0.5443333486715952,0.75,0.6330000162124634,0.75,1,0.722000002861023,0.75,0.8109999895095825,0.44999998807907104,0.8999999761581421,0.44999998807907104,1,1.0,0.44999998807907104,1.100000023841858,0.5,1.2000000476837158,0.5,0,2.2330000400543213,0.5]},{"Target":"Parameter","Id":"ParamShoulderR","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,-0.15000000596046448,0.16699999570846558,-0.15000000596046448,1,0.2446666657924652,-0.15000000596046448,0.32233333587646484,0.4439996447542569,0.4000000059604645,0.7799999713897705,1,0.4556666612625122,1.000000241585532,0.5113333165645599,1.0,0.5669999718666077,1.0,1,0.6669999758402506,1.0,0.7669999798138937,0.800000011920929,0.8669999837875366,0.800000011920929,1,0.9223333199818929,0.800000011920929,0.9776666561762491,0.8659999822490659,1.0329999923706055,0.8799999952316284,1,1.1109999815622966,0.8999999982419169,1.1889999707539876,0.8999999761581421,1.2669999599456787,0.8999999761581421,0,2.2330000400543213,0.8999999761581421]},{"Target":"Parameter","Id":"ParamBodyAngleX_R_arm_Add","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyAngleX_L_arm_Add","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"Param22","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"paramArmL_layer3","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL_layer","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"paramArmL_layer2","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL01","Segments":[0.0,0.0,1,0.04433333377043406,0.0,0.08866666754086813,-1.0,0.13300000131130219,-1.0,1,0.22200000286102295,-1.0,0.3110000044107437,4.113999375463862,0.4000000059604645,4.599999904632568,1,0.4890000025431315,5.0860004491162885,0.5779999991257986,5.0,0.6669999957084656,5.0,1,0.777999997138977,5.0,0.8889999985694885,2.731000312540985,1.0,2.4000000953674316,1,1.1443333228429158,1.969999557833423,1.2886666456858318,2.0,1.4329999685287476,2.0,0,2.2330000400543213,2.0]},{"Target":"Parameter","Id":"paramArmL01_contraction","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL02","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,-2.5999999046325684,0.16699999570846558,-2.5999999046325684,1,0.2556666632493337,-2.5999999046325684,0.34433333079020184,4.801998120700489,0.43299999833106995,6.599999904632568,1,0.5109999974568685,8.173001920236459,0.588999996582667,8.0,0.6669999957084656,8.0,1,0.7556666731834412,8.0,0.8443333506584167,4.099999904632568,0.9330000281333923,4.099999904632568,1,1.0110000371932983,4.099999904632568,1.0890000462532043,4.660999631948897,1.1670000553131104,4.800000190734863,1,1.278000036875407,4.999000277246779,1.3890000184377034,5.0,1.5,5.0,0,2.2330000400543213,5.0]},{"Target":"Parameter","Id":"paramArmL02_contraction","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL05","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL03","Segments":[0.0,0.0,1,0.0776666651169459,0.0,0.15533333023389181,-0.13300069722101182,0.2329999953508377,0.5,1,0.34433332085609436,1.4050008588884708,0.455666646361351,4.5,0.5669999718666077,4.5,1,0.6779999732971191,4.5,0.7889999747276306,0.08500398296928324,0.8999999761581421,-3.5,1,0.9556666612625122,-5.293002216389141,1.0113333463668823,-5.199999809265137,1.0670000314712524,-5.199999809265137,1,1.1446666717529297,-5.199999809265137,1.222333312034607,-4.304000013306336,1.2999999523162842,-4.199999809265137,1,1.4443333148956299,-4.005999839931121,1.5886666774749756,-4.0,1.7330000400543213,-4.0,0,2.2330000400543213,-4.0]},{"Target":"Parameter","Id":"paramArmL04","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL06","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL07","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamJaketLYoke","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamJaketLYoke1","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmL08","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyL1","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyL2","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamJaketLB","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamJaketLB2","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"paramArmR_layer3","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR_layer","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR_layer2","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR01","Segments":[0.0,0.0,1,0.04433333377043406,0.0,0.08866666754086813,-0.15700071346820244,0.13300000131130219,0.5,1,0.19966666897137958,1.4860010294020327,0.26633333663145703,11.23099910861749,0.3330000042915344,12.0,1,0.4220000108083089,13.025000700663137,0.5110000173250834,13.0,0.6000000238418579,13.0,1,0.7223333517710367,13.0,0.8446666797002157,7.599999904632568,0.9670000076293945,7.599999904632568,1,1.1113333304723103,7.599999904632568,1.2556666533152263,8.0,1.399999976158142,8.0,0,2.2330000400543213,8.0]},{"Target":"Parameter","Id":"paramArmR01_contraction","Segments":[0.0,0.0,0,0.2329999953508377,0.0,1,0.35533333818117774,0.0,0.4776666810115179,-4.599999904632568,0.6000000238418579,-4.599999904632568,0,2.2330000400543213,-4.599999904632568]},{"Target":"Parameter","Id":"paramArmR02","Segments":[0.0,0.0,1,0.05566666523615519,0.0,0.1113333304723104,1.2290041734700026,0.16699999570846558,-2.9200000762939453,1,0.2669999996821085,-10.388007270018534,0.3670000036557516,-105.25296191584918,0.46700000762939453,-139.0,1,0.5336666703224182,-161.49802315445595,0.6003333330154419,-163.60000610351562,0.6669999957084656,-163.60000610351562,1,0.7446666558583578,-163.60000610351562,0.8223333160082499,-154.14300653530918,0.8999999761581421,-153.0,1,0.9776666561762491,-151.85699339449994,1.0553333361943562,-152.0,1.1330000162124634,-152.0,0,2.2330000400543213,-152.0]},{"Target":"Parameter","Id":"paramArmR05","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,0.6000000238418579,0.20000000298023224,0.6000000238418579,1,0.32233332594235736,0.6000000238418579,0.44466664890448254,-0.800000011920929,0.5669999718666077,-0.800000011920929,0,2.2330000400543213,-0.800000011920929]},{"Target":"Parameter","Id":"paramArmR02_contraction","Segments":[0.0,0.0,0,0.13300000131130219,0.0,1,0.2443333367506663,0.0,0.35566667219003045,-9.0,0.46700000762939453,-9.0,0,2.2330000400543213,-9.0]},{"Target":"Parameter","Id":"paramArmR03","Segments":[0.0,0.0,1,0.04433333377043406,0.0,0.08866666754086813,-0.04800172043206885,0.13300000131130219,1.5,1,0.1886666715145111,3.435002030280657,0.24433334171772003,7.5,0.30000001192092896,7.5,1,0.3889999985694885,7.5,0.4779999852180481,-6.676992369513755,0.5669999718666077,-14.399999618530273,1,0.622333308060964,-19.227004079537437,0.6776666442553202,-18.799999237060547,0.7329999804496765,-18.799999237060547,1,0.8329999844233195,-18.799999237060547,0.9329999883969625,-11.602001325368917,1.0329999923706055,-10.600000381469727,1,1.1109999815622966,-9.820999278248033,1.1889999707539876,-10.0,1.2669999599456787,-10.0,0,2.2330000400543213,-10.0]},{"Target":"Parameter","Id":"paramArmR04","Segments":[0.0,0.0,1,0.06666666766007741,0.0,0.13333333532015484,-3.5,0.20000000298023224,-3.5,1,0.26666667064030963,-3.5,0.3333333383003871,2.6979974070886406,0.4000000059604645,5.099999904632568,1,0.4556666612625122,7.101001942610765,0.5113333165645599,7.0,0.5669999718666077,7.0,1,0.6889999906222025,7.0,0.8110000093777975,-3.709998584679397,0.9330000281333923,-5.099999904632568,1,1.0330000321070354,-6.237001178145457,1.1330000360806782,-6.0,1.2330000400543213,-6.0,0,2.2330000400543213,-6.0]},{"Target":"Parameter","Id":"paramArmR06","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR08","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamJaketRYoke","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamJaketRYoke1","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"paramArmR07","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamBodyR1","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"ParamJaketRB","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"ParamJaketRB2","Segments":[0.0,1.0,0,2.2330000400543213,1.0]},{"Target":"Parameter","Id":"hand_R_01","Segments":[0.0,0.0,0,0.30000001192092896,0.0,1,0.3110000093777974,0.0,0.32200000683466595,-1.0,0.3330000042915344,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_02","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_03","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_04","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_05","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_06","Segments":[0.0,-1.0,0,0.30000001192092896,-1.0,1,0.3110000093777974,-1.0,0.32200000683466595,0.0,0.3330000042915344,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"hand_R_07","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_12","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_08","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_09","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_10","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_R_11","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_01","Segments":[0.0,-1.0,0,0.032999999821186066,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_02","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_03","Segments":[0.0,0.0,0,2.2330000400543213,0.0]},{"Target":"Parameter","Id":"hand_l_04","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_05","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_06","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]},{"Target":"Parameter","Id":"hand_l_07","Segments":[0.0,-1.0,0,2.2330000400543213,-1.0]}]}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/lib/client.js
CHANGED
|
@@ -262,7 +262,17 @@ window.__ModuleLoader__.load({
|
|
|
262
262
|
* little or none — the close-up frames her shoulder line, which is not symmetric about the model's origin.
|
|
263
263
|
*/
|
|
264
264
|
nonoka: { default: 0.05, full: 0.05, threeQuarter: -0.02, bust: 0.03 },
|
|
265
|
-
nonoka_virtual: { default: 0.05, full: 0.05, threeQuarter: -0.02, bust: 0.03 }
|
|
265
|
+
nonoka_virtual: { default: 0.05, full: 0.05, threeQuarter: -0.02, bust: 0.03 },
|
|
266
|
+
/*
|
|
267
|
+
* 律: only `bust` is moved, and every other crop is restated so nothing else changes.
|
|
268
|
+
*
|
|
269
|
+
* Writing `{ default: 0, bust: -0.03 }` alone would have been the bug: `full` and `threeQuarter` would then resolve
|
|
270
|
+
* to her own `default` and lose the shared entry's 0.07 / -0.02, so asking for a bust nudge would have silently
|
|
271
|
+
* shifted the other two crops as well. Negative is left, and 3% of the box width is the "一点" that was asked for —
|
|
272
|
+
* at `bust` that is about 10 px on a 334 px box.
|
|
273
|
+
*/
|
|
274
|
+
ritsu: { default: 0, full: 0.07, threeQuarter: -0.02, bust: -0.03 },
|
|
275
|
+
ritsu_virtual: { default: 0, full: 0.07, threeQuarter: -0.02, bust: -0.03 }
|
|
266
276
|
};
|
|
267
277
|
/**
|
|
268
278
|
* The horizontal adjustment for a character and crop.
|
|
@@ -554,17 +564,6 @@ window.__ModuleLoader__.load({
|
|
|
554
564
|
]
|
|
555
565
|
}
|
|
556
566
|
},
|
|
557
|
-
/**
|
|
558
|
-
* Suppress the SHARED phase text while she speaks her own line.
|
|
559
|
-
*
|
|
560
|
-
* The phase tables in `machine.js` are shared by every character, so `listening` carries 都子's words —
|
|
561
|
-
* 「准备已经做好了」. 由乃 says something else, and the line's own caption already shows it, so without this the
|
|
562
|
-
* bubble would end up with both.
|
|
563
|
-
*
|
|
564
|
-
* An EMPTY string is the deliberate "show nothing" that an absent entry cannot express — the client tests with
|
|
565
|
-
* `Object.hasOwn` rather than truthiness. 薇欧拉's entry does exactly this for the same reason.
|
|
566
|
-
*/
|
|
567
|
-
phaseBubbles: { listening: "" },
|
|
568
567
|
/**
|
|
569
568
|
* The line she says on the way out, 「——拜拜」, played once as part of the goodbye.
|
|
570
569
|
*
|
|
@@ -598,13 +597,206 @@ window.__ModuleLoader__.load({
|
|
|
598
597
|
/**
|
|
599
598
|
* 律's content, shared by her two outfits.
|
|
600
599
|
*
|
|
601
|
-
*
|
|
602
|
-
*
|
|
603
|
-
*
|
|
600
|
+
* Only her IDLE half is written so far: the per-phase motions, the click lines and the balance scenes are still to
|
|
601
|
+
* be decided, and stay as {@link EMPTY_CHARACTER} left them.
|
|
602
|
+
*
|
|
603
|
+
* The idle pool is the four the request named — 微笑 1, 确认, 待机 1, 待机 2 — at equal weight, so the drift picks
|
|
604
|
+
* among them evenly rather than favouring her resting loop.
|
|
604
605
|
*/
|
|
605
606
|
const RITSU_CONTENT = {
|
|
606
607
|
...EMPTY_CHARACTER,
|
|
607
|
-
defaultExpression: "exp_idle01.exp3"
|
|
608
|
+
defaultExpression: "exp_idle01.exp3",
|
|
609
|
+
idleMotions: ["mtn_smile01_C", "mtn_check01_C", "mtn_idle01_C", "mtn_idle02_C"],
|
|
610
|
+
idleWeights: {
|
|
611
|
+
mtn_smile01_C: 1,
|
|
612
|
+
mtn_check01_C: 1,
|
|
613
|
+
mtn_idle01_C: 1,
|
|
614
|
+
mtn_idle02_C: 1
|
|
615
|
+
},
|
|
616
|
+
/*
|
|
617
|
+
* Four idle lines, one per face the request paired them with, at equal weight.
|
|
618
|
+
*
|
|
619
|
+
* `silenceWeight` is 9 against four lines of weight 1 — the same ratio 由乃 and 薇欧拉 use, so a twelve-second
|
|
620
|
+
* slot speaks about 31% of the time and she is not talking over herself.
|
|
621
|
+
*/
|
|
622
|
+
silenceWeight: 9,
|
|
623
|
+
idleLines: [
|
|
624
|
+
{ file: "ritsu-idle1.opus", weight: 1 },
|
|
625
|
+
{ file: "ritsu-idle2.opus", weight: 1 },
|
|
626
|
+
{ file: "ritsu-idle3.opus", weight: 1 },
|
|
627
|
+
{ file: "ritsu-idle4.opus", weight: 1 }
|
|
628
|
+
],
|
|
629
|
+
/*
|
|
630
|
+
* The face each line wears while it speaks. `borrowFace` holds it for the clip's own `holdMs`, so the face is
|
|
631
|
+
* released when the audio ends and she returns to `defaultExpression`.
|
|
632
|
+
*
|
|
633
|
+
* 平静 1 / 闪闪发光 / 严肃 1 / 思考, in the order the request listed them.
|
|
634
|
+
*/
|
|
635
|
+
voiceExpressions: {
|
|
636
|
+
"ritsu-idle1.opus": "exp_idle01.exp3",
|
|
637
|
+
"ritsu-idle2.opus": "exp_kirakira01.exp3",
|
|
638
|
+
"ritsu-idle3.opus": "exp_serious01.exp3",
|
|
639
|
+
"ritsu-idle4.opus": "exp_thinking01.exp3"
|
|
640
|
+
},
|
|
641
|
+
/**
|
|
642
|
+
* Her two acknowledgements, drawn uniformly when a turn starts.
|
|
643
|
+
*
|
|
644
|
+
* A `phaseReactions` entry rather than a `phaseLines` one, for the same reason 由乃's is: each variant is
|
|
645
|
+
* COMPLETE — it names its own clip, nod and face. `phaseLines` only picks a clip and would have left the nod
|
|
646
|
+
* and the face to whatever the phase's entry animation happened to be.
|
|
647
|
+
*
|
|
648
|
+
* `rate: 1`: `listening` means "she has taken the job", which is an event rather than an ongoing state, and
|
|
649
|
+
* `playPhaseLine` runs once per revision change, not once per poll. The phase is not in `QUIET_PHASES`, so no
|
|
650
|
+
* quiet window is armed either.
|
|
651
|
+
*/
|
|
652
|
+
phaseReactions: {
|
|
653
|
+
listening: {
|
|
654
|
+
rate: 1,
|
|
655
|
+
reactions: [
|
|
656
|
+
/* 「这里就请交给我吧」— 点头 2 with the 严肃 1 face. */
|
|
657
|
+
{ sound: "ritsu-listening1.opus", motion: "mtn_nod02_C", expression: "exp_serious01.exp3" },
|
|
658
|
+
/* 「请交给我吧」— 点头 1 with the 平静 2 face. */
|
|
659
|
+
{ sound: "ritsu-listening2.opus", motion: "mtn_nod01_C", expression: "exp_idle02.exp3" }
|
|
660
|
+
]
|
|
661
|
+
},
|
|
662
|
+
/**
|
|
663
|
+
* Her three ways of reporting a finished turn, drawn uniformly.
|
|
664
|
+
*
|
|
665
|
+
* `done` is the closure of `listening`: she took the job, then she says it is done. Same shape and same
|
|
666
|
+
* `rate: 1` for the same reason — a completion is the event being reacted to, not a state to be sampled.
|
|
667
|
+
* The phase is not in `QUIET_PHASES`, so no window is armed and two completions in a row both speak.
|
|
668
|
+
*/
|
|
669
|
+
done: {
|
|
670
|
+
rate: 1,
|
|
671
|
+
reactions: [
|
|
672
|
+
/* 「不客气」— 微笑 1 with the 微笑 1 face. */
|
|
673
|
+
{ sound: "ritsu-done1.opus", motion: "mtn_smile01_C", expression: "exp_smile01.exp3" },
|
|
674
|
+
/* 「搞定了」— 耍帅 with the 耍帅 face. */
|
|
675
|
+
{ sound: "ritsu-done2.opus", motion: "mtn_kime01_C", expression: "exp_kime01.exp3" },
|
|
676
|
+
/* 「怎么样?」— 确认 with the 平静 3 face. */
|
|
677
|
+
{ sound: "ritsu-done3.opus", motion: "mtn_check01_C", expression: "exp_idle03.exp3" }
|
|
678
|
+
]
|
|
679
|
+
},
|
|
680
|
+
/**
|
|
681
|
+
* Her three lines of encouragement while a turn runs, drawn uniformly.
|
|
682
|
+
*
|
|
683
|
+
* 由乃's `working` is built the same way, so the trigger is identical: `playPhaseReaction` fires once per
|
|
684
|
+
* revision change — not once per poll — and `working` is in `QUIET_PHASES`, so after one line she stays
|
|
685
|
+
* quiet for the 30 s window and cannot talk over the work.
|
|
686
|
+
*/
|
|
687
|
+
working: {
|
|
688
|
+
rate: 1,
|
|
689
|
+
reactions: [
|
|
690
|
+
/* 「吃点东西工作会更顺利哦」— 点头 2 with the 微笑 1 face. */
|
|
691
|
+
{ sound: "ritsu-working1.opus", motion: "mtn_nod02_C", expression: "exp_smile01.exp3" },
|
|
692
|
+
/* 「进展得很顺利呀……!」— 确认 with the 微笑 2 face. */
|
|
693
|
+
{ sound: "ritsu-working2.opus", motion: "mtn_check01_C", expression: "exp_smile02.exp3" },
|
|
694
|
+
/* 「有什么建议吗」— 疑问 with the 严肃 1 face. */
|
|
695
|
+
{ sound: "ritsu-working3.opus", motion: "mtn_question01_C", expression: "exp_serious01.exp3" }
|
|
696
|
+
]
|
|
697
|
+
},
|
|
698
|
+
/**
|
|
699
|
+
* Her three ways of thinking out loud, drawn uniformly, with the same `rate: 1` and the same 30 s quiet
|
|
700
|
+
* window as `working`.
|
|
701
|
+
*/
|
|
702
|
+
thinking: {
|
|
703
|
+
rate: 1,
|
|
704
|
+
reactions: [
|
|
705
|
+
/* 「确实如此」— 难过 with the 平静 2 face. */
|
|
706
|
+
{ sound: "ritsu-thinking1.opus", motion: "mtn_sad01_C", expression: "exp_idle02.exp3" },
|
|
707
|
+
/* 「是吗?那从别的角度验证一下……」— 思考 with the 思考 face. */
|
|
708
|
+
{ sound: "ritsu-thinking2.opus", motion: "mtn_thinking01_C", expression: "exp_thinking01.exp3" },
|
|
709
|
+
/* 「呵呵,咱们慢慢想吧」— 微笑 2 with the 微笑 2 face. */
|
|
710
|
+
{ sound: "ritsu-thinking3.opus", motion: "mtn_smile02_C", expression: "exp_smile02.exp3" }
|
|
711
|
+
]
|
|
712
|
+
}
|
|
713
|
+
},
|
|
714
|
+
/**
|
|
715
|
+
* The phase-text table. It is EMPTY on purpose, and that empty object is what keeps `idle` reachable.
|
|
716
|
+
*
|
|
717
|
+
* `offerLine` asks `PHASE_LINES()` first: an entry with a `lines` array picks a caption from it and stops
|
|
718
|
+
* there. `thinking`, `working`, `listening` and `done` are all handled by `phaseReactions` above and must
|
|
719
|
+
* therefore NOT appear here — a leftover `{ lines: [] }` returns `null` from `pickPreferred` and the reaction
|
|
720
|
+
* would never run. `idle` is deliberately absent from both tables, which is what leaves the idle set reachable.
|
|
721
|
+
*
|
|
722
|
+
* Keep the object itself: `phaseLines` is what the routing reads, and it also documents that this character
|
|
723
|
+
* speaks through reactions rather than through phase captions.
|
|
724
|
+
*/
|
|
725
|
+
phaseLines: {},
|
|
726
|
+
/**
|
|
727
|
+
* Her four idle clips, with the caption each shows and the time it holds.
|
|
728
|
+
*
|
|
729
|
+
* Each `holdMs` is the clip's own measured length (Ogg granule position at 48 kHz), so the bubble and the
|
|
730
|
+
* borrowed face are released exactly as the audio ends — the rule every other entry in this build follows.
|
|
731
|
+
*
|
|
732
|
+
* The clips were taken from her own voice set (`out/ritsu-minetsuki-voicelines.json`): lines 1 and 3 are story
|
|
733
|
+
* lines, lines 2 and 4 are `VoiceSystem_13/BandTop_Ritsu_Common_*` idle barks.
|
|
734
|
+
*/
|
|
735
|
+
voiceLines: {
|
|
736
|
+
"ritsu-idle1.opus": { key: "pet.idle.ritsu1", holdMs: 3399 },
|
|
737
|
+
"ritsu-idle2.opus": { key: "pet.idle.ritsu2", holdMs: 3761 },
|
|
738
|
+
"ritsu-idle3.opus": { key: "pet.idle.ritsu3", holdMs: 3143 },
|
|
739
|
+
"ritsu-idle4.opus": { key: "pet.idle.ritsu4", holdMs: 2183 },
|
|
740
|
+
/*
|
|
741
|
+
* Her six click clips. The captions have to live in THIS per-character table even though the pairing with a
|
|
742
|
+
* motion and a face is declared in `CLICK_REACTIONS.ritsu`: a caption written into another character's list
|
|
743
|
+
* resolves to nothing, `playMotionLine` takes its "no caption" branch, and the whole reaction is abandoned —
|
|
744
|
+
* the clip plays with no motion, no face and no text.
|
|
745
|
+
*/
|
|
746
|
+
"ritsu-click1.opus": { key: "pet.click.ritsu1", holdMs: 412 },
|
|
747
|
+
"ritsu-click2.opus": { key: "pet.click.ritsu2", holdMs: 1159 },
|
|
748
|
+
"ritsu-click3.opus": { key: "pet.click.ritsu3", holdMs: 1948 },
|
|
749
|
+
"ritsu-click4.opus": { key: "pet.click.ritsu4", holdMs: 1991 },
|
|
750
|
+
"ritsu-click5.opus": { key: "pet.click.ritsu5", holdMs: 2204 },
|
|
751
|
+
"ritsu-click6.opus": { key: "pet.click.ritsu6", holdMs: 2375 },
|
|
752
|
+
/*
|
|
753
|
+
* Her two acknowledgements, 「这里就请交给我吧」 and 「请交给我吧」, with the pairing declared in
|
|
754
|
+
* `phaseReactions.listening` above.
|
|
755
|
+
*
|
|
756
|
+
* Both cues come from her personal voice table (`VoiceLive_13/Live_Ritsu_LiveSkill_*`); `holdMs` is each
|
|
757
|
+
* clip's own measured length, so the bubble and the borrowed face are released as the audio ends.
|
|
758
|
+
*/
|
|
759
|
+
"ritsu-listening1.opus": { key: "pet.listening.ritsu1", holdMs: 1777 },
|
|
760
|
+
"ritsu-listening2.opus": { key: "pet.listening.ritsu2", holdMs: 945 },
|
|
761
|
+
/*
|
|
762
|
+
* Her three completion lines, 「不客气」 / 「搞定了」 / 「怎么样?」, with the pairing declared in
|
|
763
|
+
* `phaseReactions.done`.
|
|
764
|
+
*
|
|
765
|
+
* All three are story lines; `holdMs` is each clip's own measured length.
|
|
766
|
+
*/
|
|
767
|
+
"ritsu-done1.opus": { key: "pet.done.ritsu1", holdMs: 1223 },
|
|
768
|
+
"ritsu-done2.opus": { key: "pet.done.ritsu2", holdMs: 647 },
|
|
769
|
+
"ritsu-done3.opus": { key: "pet.done.ritsu3", holdMs: 817 },
|
|
770
|
+
/*
|
|
771
|
+
* Her three working lines, with the pairing declared in `phaseReactions.working`.
|
|
772
|
+
*
|
|
773
|
+
* Line 1 is a story line, line 2 a personal one (`VoiceLive_13/Live_Ritsu_Combo_CP_Nonoka_Call_01`),
|
|
774
|
+
* line 3 a story line. `holdMs` is each clip's own measured length, so the bubble and the borrowed face
|
|
775
|
+
* are released as the audio ends — the same rule as every other entry here.
|
|
776
|
+
*/
|
|
777
|
+
"ritsu-working1.opus": { key: "pet.working.ritsu1", holdMs: 2119 },
|
|
778
|
+
"ritsu-working2.opus": { key: "pet.working.ritsu2", holdMs: 1308 },
|
|
779
|
+
"ritsu-working3.opus": { key: "pet.working.ritsu3", holdMs: 1329 },
|
|
780
|
+
/*
|
|
781
|
+
* Her three thinking lines, with the pairing declared in `phaseReactions.thinking`. All three are story
|
|
782
|
+
* lines, and `holdMs` is each clip's own measured length.
|
|
783
|
+
*/
|
|
784
|
+
"ritsu-thinking1.opus": { key: "pet.thinking.ritsu1", holdMs: 924 },
|
|
785
|
+
"ritsu-thinking2.opus": { key: "pet.thinking.ritsu2", holdMs: 3484 },
|
|
786
|
+
"ritsu-thinking3.opus": { key: "pet.thinking.ritsu3", holdMs: 2289 },
|
|
787
|
+
/*
|
|
788
|
+
* Her goodbye line, 「好的,那我就先告辞了」.
|
|
789
|
+
*
|
|
790
|
+
* `holdMs` is the clip's own measured 1585 ms. The caption is shown with `hold`, so it stays up until the
|
|
791
|
+
* surface hides anyway; matching the clip keeps the borrowed face and the bubble in step with the audio.
|
|
792
|
+
* @see startFarewellVoice
|
|
793
|
+
*/
|
|
794
|
+
"ritsu-farewell.opus": { key: "pet.farewell.ritsu", holdMs: 1585 }
|
|
795
|
+
},
|
|
796
|
+
/**
|
|
797
|
+
* Her goodbye clip, played once as she waves and the surface fades out. @see startFarewellVoice
|
|
798
|
+
*/
|
|
799
|
+
farewellVoice: "ritsu-farewell.opus"
|
|
608
800
|
};
|
|
609
801
|
/**
|
|
610
802
|
* 阿拉蕾's content, shared by her three outfits.
|
|
@@ -708,14 +900,6 @@ window.__ModuleLoader__.load({
|
|
|
708
900
|
* Empty means a silent wave, which is what 都子 has.
|
|
709
901
|
*/
|
|
710
902
|
farewellVoice: "viola-farewell.opus",
|
|
711
|
-
/*
|
|
712
|
-
* Phase texts this model does NOT show, as an overlay on the shared table.
|
|
713
|
-
*
|
|
714
|
-
* 薇欧拉 answers a message with her own clip and needs no phase text; 都子 has one and keeps it. The empty
|
|
715
|
-
* string is the value that says "show nothing", which is why the reader tests for the KEY rather than for a
|
|
716
|
-
* non-empty value.
|
|
717
|
-
*/
|
|
718
|
-
phaseBubbles: { listening: "" },
|
|
719
903
|
/*
|
|
720
904
|
* Reactions for a phase, as complete variants: a clip, a motion, a face and a caption together.
|
|
721
905
|
*
|
|
@@ -1622,6 +1806,28 @@ window.__ModuleLoader__.load({
|
|
|
1622
1806
|
{ sound: "yuno-click5.opus", key: "pet.click.yuno5", expression: "exp_shy02.exp3", motion: "mtn_cry01_C", ms: 2887 },
|
|
1623
1807
|
{ sound: "yuno-click6.opus", key: "pet.click.yuno6", expression: "exp_nohighlight01.exp3", motion: "mtn_nod02_C", ms: 1649 }
|
|
1624
1808
|
]
|
|
1809
|
+
},
|
|
1810
|
+
/*
|
|
1811
|
+
* 律's click reactions — her first reactions, so the four ordinary ones are the ordinary politeness set
|
|
1812
|
+
* (surprise, a hesitant yes, a promise, an offer to help) and the two rapid ones are the flustered ones.
|
|
1813
|
+
*
|
|
1814
|
+
* Both outfits share this entry: `clickReactionsFor` strips the `_virtual` suffix, so 律's avatar does not need
|
|
1815
|
+
* a second copy. Her clips are BARE FILE NAMES, resolved against the voice route like 都子's and 由乃's.
|
|
1816
|
+
*
|
|
1817
|
+
* `ms` is each clip's own measured length, and every one of these six clips is shorter than the face's
|
|
1818
|
+
* default hold, so the face comes back before the next click can land.
|
|
1819
|
+
*/
|
|
1820
|
+
ritsu: {
|
|
1821
|
+
normal: [
|
|
1822
|
+
{ sound: "ritsu-click1.opus", key: "pet.click.ritsu1", expression: "exp_idle01.exp3", motion: "mtn_smile01_C", ms: 412 },
|
|
1823
|
+
{ sound: "ritsu-click2.opus", key: "pet.click.ritsu2", expression: "exp_surprised04.exp3", motion: "mtn_surprised01_C", ms: 1159 },
|
|
1824
|
+
{ sound: "ritsu-click3.opus", key: "pet.click.ritsu3", expression: "exp_kime01.exp3", motion: "mtn_serious01_C", ms: 1948 },
|
|
1825
|
+
{ sound: "ritsu-click4.opus", key: "pet.click.ritsu4", expression: "exp_smile01.exp3", motion: "mtn_check01_C", ms: 1991 }
|
|
1826
|
+
],
|
|
1827
|
+
rapid: [
|
|
1828
|
+
{ sound: "ritsu-click5.opus", key: "pet.click.ritsu5", expression: "exp_upset01.exp3", motion: "mtn_angry01_C", ms: 2204 },
|
|
1829
|
+
{ sound: "ritsu-click6.opus", key: "pet.click.ritsu6", expression: "exp_surprised03.exp3", motion: "mtn_look02_C", ms: 2375 }
|
|
1830
|
+
]
|
|
1625
1831
|
}
|
|
1626
1832
|
};
|
|
1627
1833
|
/**
|
|
@@ -1965,6 +2171,30 @@ window.__ModuleLoader__.load({
|
|
|
1965
2171
|
motion: "mtn_denial01_C",
|
|
1966
2172
|
expression: "exp_amazed01.exp3"
|
|
1967
2173
|
}
|
|
2174
|
+
],
|
|
2175
|
+
/*
|
|
2176
|
+
* 律's three. Hers are all shipped expressions and shipped motions, so nothing was generated for her either:
|
|
2177
|
+
* 思考 for the resigned line, 痛苦 for the one about not having eaten, 悲伤 1 for the one about worrying.
|
|
2178
|
+
*
|
|
2179
|
+
* The middle scene shakes her head — `mtn_denial01_C` — which is also what 由乃's third line uses, and that is
|
|
2180
|
+
* fine: the motions belong to different models.
|
|
2181
|
+
*/
|
|
2182
|
+
ritsu: [
|
|
2183
|
+
{
|
|
2184
|
+
text: "今明两天好像是最忙的时候",
|
|
2185
|
+
motion: "mtn_thinking01_C",
|
|
2186
|
+
expression: "exp_thinking01.exp3"
|
|
2187
|
+
},
|
|
2188
|
+
{
|
|
2189
|
+
text: "今天什么都没吃……",
|
|
2190
|
+
motion: "mtn_denial01_C",
|
|
2191
|
+
expression: "exp_pain01.exp3"
|
|
2192
|
+
},
|
|
2193
|
+
{
|
|
2194
|
+
text: "真让人担心呢",
|
|
2195
|
+
motion: "mtn_cry01_C",
|
|
2196
|
+
expression: "exp_sad01.exp3"
|
|
2197
|
+
}
|
|
1968
2198
|
]
|
|
1969
2199
|
};
|
|
1970
2200
|
/**
|
|
@@ -2069,6 +2299,7 @@ window.__ModuleLoader__.load({
|
|
|
2069
2299
|
"pet.menu.balanceAmount": "余额",
|
|
2070
2300
|
"pet.menu.balanceVoice": "余额警告语音",
|
|
2071
2301
|
"pet.menu.balanceUnavailable": "读不到(未登录或账户不可用)",
|
|
2302
|
+
"pet.balance.bubbleAmount": "余额 {amount}",
|
|
2072
2303
|
"pet.menu.randomModeOn": "开启随机模式",
|
|
2073
2304
|
"pet.menu.randomScope": "随机内容",
|
|
2074
2305
|
"pet.menu.randomMotion": "随机动作",
|
|
@@ -2144,11 +2375,33 @@ window.__ModuleLoader__.load({
|
|
|
2144
2375
|
"pet.click.yuno4": "又来了……",
|
|
2145
2376
|
"pet.click.yuno5": "等、为、为什么要这样……!",
|
|
2146
2377
|
"pet.click.yuno6": "病得不轻…………",
|
|
2378
|
+
/*
|
|
2379
|
+
* 律's two-stage click lines: the first four for an ordinary click, the last two for a run of them.
|
|
2380
|
+
* Line 1's caption is a bare question mark on purpose — the clip is a single 「え?」, and that is the
|
|
2381
|
+
* wording the request asked for.
|
|
2382
|
+
*/
|
|
2383
|
+
"pet.click.ritsu1": "?",
|
|
2384
|
+
"pet.click.ritsu2": "好、好的!",
|
|
2385
|
+
"pet.click.ritsu3": "我会努力的!请多多关照!",
|
|
2386
|
+
"pet.click.ritsu4": "有什么需要的吗?",
|
|
2387
|
+
"pet.click.ritsu5": "那个……找我有什么事吗?",
|
|
2388
|
+
"pet.click.ritsu6": "不……不行……! 这……",
|
|
2147
2389
|
/*
|
|
2148
2390
|
* 由乃's two `listening` greetings, drawn at random on phase entry.
|
|
2149
2391
|
*/
|
|
2150
2392
|
"pet.listening.yuno1": "好了,工作工作",
|
|
2151
2393
|
"pet.listening.yuno2": "差不多该开始了",
|
|
2394
|
+
/*
|
|
2395
|
+
* 律's two acknowledgements. The wording is her voice data's own zh-Hans text.
|
|
2396
|
+
*/
|
|
2397
|
+
"pet.listening.ritsu1": "这里就请交给我吧",
|
|
2398
|
+
"pet.listening.ritsu2": "请交给我吧",
|
|
2399
|
+
/*
|
|
2400
|
+
* 律's three completion lines, again her voice data's own zh-Hans.
|
|
2401
|
+
*/
|
|
2402
|
+
"pet.done.ritsu1": "不客气",
|
|
2403
|
+
"pet.done.ritsu2": "搞定了",
|
|
2404
|
+
"pet.done.ritsu3": "怎么样?",
|
|
2152
2405
|
/*
|
|
2153
2406
|
* 由乃's four idle lines, drawn at random on the drift.
|
|
2154
2407
|
*/
|
|
@@ -2156,6 +2409,14 @@ window.__ModuleLoader__.load({
|
|
|
2156
2409
|
"pet.idle.yuno2": "嗯,确实吧? 有时候一个人做事更方便呢",
|
|
2157
2410
|
"pet.idle.yuno3": "……但是人类的事情,我就不懂了……",
|
|
2158
2411
|
"pet.idle.yuno4": "刚才的话你有在听吗?",
|
|
2412
|
+
/*
|
|
2413
|
+
* 律's four idle lines, drawn at random on the drift. The wording is her own voice set's Chinese script, and
|
|
2414
|
+
* her English dictionary uses the same set's official English line rather than a new translation.
|
|
2415
|
+
*/
|
|
2416
|
+
"pet.idle.ritsu1": "不是被人塑造出来的,而是想展现出真正的自己",
|
|
2417
|
+
"pet.idle.ritsu2": "好好吃饭才能有活力。多吃点补充能量吧",
|
|
2418
|
+
"pet.idle.ritsu3": "你怎么看待好学生?",
|
|
2419
|
+
"pet.idle.ritsu4": "下次直播,弹点什么好呢?",
|
|
2159
2420
|
/*
|
|
2160
2421
|
* 由乃's three completion lines, drawn at random when a turn finishes.
|
|
2161
2422
|
*/
|
|
@@ -2174,6 +2435,16 @@ window.__ModuleLoader__.load({
|
|
|
2174
2435
|
"pet.working.yuno1": "该做的事我会好好完成的",
|
|
2175
2436
|
"pet.working.yuno2": "这次也交给AI了",
|
|
2176
2437
|
"pet.working.yuno3": "在这里可不能失误呢",
|
|
2438
|
+
/*
|
|
2439
|
+
* 律's working and thinking lines. Same trigger as 由乃's: one line per phase arrival, then the 30 s quiet
|
|
2440
|
+
* window. The zh text is the voice data's own zh-Hans, not a retranslation.
|
|
2441
|
+
*/
|
|
2442
|
+
"pet.working.ritsu1": "吃点东西工作会更顺利哦",
|
|
2443
|
+
"pet.working.ritsu2": "进展得很顺利呀……!",
|
|
2444
|
+
"pet.working.ritsu3": "有什么建议吗",
|
|
2445
|
+
"pet.thinking.ritsu1": "确实如此",
|
|
2446
|
+
"pet.thinking.ritsu2": "是吗?那从别的角度验证一下……",
|
|
2447
|
+
"pet.thinking.ritsu3": "呵呵,咱们慢慢想吧",
|
|
2177
2448
|
"pet.listening.viola": "当然可以!",
|
|
2178
2449
|
"pet.done.viola.1": "做得真好♡",
|
|
2179
2450
|
"pet.done.viola.2": "你能喜欢就好♡",
|
|
@@ -2193,6 +2464,8 @@ window.__ModuleLoader__.load({
|
|
|
2193
2464
|
"pet.farewell.miyako": "……我先告辞了!",
|
|
2194
2465
|
// Her goodbye. The clip SAYS "拜拜", which is already the word, so the caption is the same text rather than a rewriting.
|
|
2195
2466
|
"pet.farewell.yuno": "——拜拜",
|
|
2467
|
+
// 律's goodbye. The clip says「はい。それでは」and the text she means is the courteous leave-taking.
|
|
2468
|
+
"pet.farewell.ritsu": "好的,那我就先告辞了",
|
|
2196
2469
|
"pet.marukun": "丸君是我的朋友",
|
|
2197
2470
|
"pet.idle.common02": "好,这周的份提交了。再来是宣传插图。",
|
|
2198
2471
|
"pet.idle.levelup": "要再多加锻炼才行……!",
|
|
@@ -2238,6 +2511,7 @@ window.__ModuleLoader__.load({
|
|
|
2238
2511
|
"pet.menu.balanceAmount": "Balance",
|
|
2239
2512
|
"pet.menu.balanceVoice": "Balance warning voice",
|
|
2240
2513
|
"pet.menu.balanceUnavailable": "Unavailable (signed out or no account service)",
|
|
2514
|
+
"pet.balance.bubbleAmount": "Balance {amount}",
|
|
2241
2515
|
"pet.menu.randomModeOn": "Enable random mode",
|
|
2242
2516
|
"pet.menu.randomScope": "What to randomise",
|
|
2243
2517
|
"pet.menu.randomMotion": "Random motions",
|
|
@@ -2302,12 +2576,33 @@ window.__ModuleLoader__.load({
|
|
|
2302
2576
|
"pet.click.yuno4": "Not again…",
|
|
2303
2577
|
"pet.click.yuno5": "W-w-why would you do that…!",
|
|
2304
2578
|
"pet.click.yuno6": "You are seriously unwell…………",
|
|
2579
|
+
"pet.click.ritsu1": "Huh?",
|
|
2580
|
+
"pet.click.ritsu2": "Y-Yes!",
|
|
2581
|
+
"pet.click.ritsu3": "I'll give this everything I've got! Thank you for having me!",
|
|
2582
|
+
"pet.click.ritsu4": "Did you find anything you need?",
|
|
2583
|
+
"pet.click.ritsu5": "Um... Is something wrong?",
|
|
2584
|
+
"pet.click.ritsu6": "No... Don't...! That's...",
|
|
2305
2585
|
"pet.listening.yuno1": "Right then, let's get to work",
|
|
2306
2586
|
"pet.listening.yuno2": "It's about time we started",
|
|
2587
|
+
/*
|
|
2588
|
+
* 律's two acknowledgements, in her voice data's own official English.
|
|
2589
|
+
*/
|
|
2590
|
+
"pet.listening.ritsu1": "Just leave this to me!",
|
|
2591
|
+
"pet.listening.ritsu2": "Leave this to me!",
|
|
2592
|
+
/*
|
|
2593
|
+
* 律's three completion lines, in her voice data's own official English.
|
|
2594
|
+
*/
|
|
2595
|
+
"pet.done.ritsu1": "You're welcome.",
|
|
2596
|
+
"pet.done.ritsu2": "It's done.",
|
|
2597
|
+
"pet.done.ritsu3": "How is it?",
|
|
2307
2598
|
"pet.idle.yuno1": "Feel the sound with your heart",
|
|
2308
2599
|
"pet.idle.yuno2": "Mm, right? Sometimes it's easier to do things alone",
|
|
2309
2600
|
"pet.idle.yuno3": "…But human matters, those I don't understand…",
|
|
2310
2601
|
"pet.idle.yuno4": "Were you listening to what I just said?",
|
|
2602
|
+
"pet.idle.ritsu1": "I don't want to be someone created by others. I want to show my true self.",
|
|
2603
|
+
"pet.idle.ritsu2": "Food is the source of energy. Let's eat and power up!",
|
|
2604
|
+
"pet.idle.ritsu3": "What do you think of model students?",
|
|
2605
|
+
"pet.idle.ritsu4": "What should I play on my next stream?",
|
|
2311
2606
|
"pet.done.yuno1": "Mm, that went rather well",
|
|
2312
2607
|
"pet.done.yuno2": "All done~~~~~",
|
|
2313
2608
|
"pet.done.yuno3": "Phew — that's over…",
|
|
@@ -2317,6 +2612,15 @@ window.__ModuleLoader__.load({
|
|
|
2317
2612
|
"pet.working.yuno1": "I'll make sure the things I have to do get done",
|
|
2318
2613
|
"pet.working.yuno2": "Left it to the AI again this time",
|
|
2319
2614
|
"pet.working.yuno3": "I can't afford a mistake here",
|
|
2615
|
+
/*
|
|
2616
|
+
* 律's working and thinking lines, in the voice set's own official English.
|
|
2617
|
+
*/
|
|
2618
|
+
"pet.working.ritsu1": "You'll get more work done if you eat.",
|
|
2619
|
+
"pet.working.ritsu2": "Things are going really well...!",
|
|
2620
|
+
"pet.working.ritsu3": "Do you have any advice?",
|
|
2621
|
+
"pet.thinking.ritsu1": "That makes sense.",
|
|
2622
|
+
"pet.thinking.ritsu2": "Is that so? Then let me test it from another angle...",
|
|
2623
|
+
"pet.thinking.ritsu3": "Hehe... Let's take our time deciding.",
|
|
2320
2624
|
"pet.listening.viola": "Of course!",
|
|
2321
2625
|
"pet.done.viola.1": "Well done♡",
|
|
2322
2626
|
"pet.done.viola.2": "I'm glad you like it♡",
|
|
@@ -2336,6 +2640,8 @@ window.__ModuleLoader__.load({
|
|
|
2336
2640
|
"pet.farewell.miyako": "……我先告辞了!",
|
|
2337
2641
|
// Left in Chinese in both dictionaries, like 都子's: the clip SAYS "拜拜", which is already the word.
|
|
2338
2642
|
"pet.farewell.yuno": "——拜拜",
|
|
2643
|
+
// 律's goodbye uses the line's own official English from the voice data rather than a new translation.
|
|
2644
|
+
"pet.farewell.ritsu": "I will. Goodbye.",
|
|
2339
2645
|
"pet.marukun": "Maru-kun is my friend",
|
|
2340
2646
|
"pet.idle.common02": "All right, this week's work is submitted. Next up, the promo illustration.",
|
|
2341
2647
|
"pet.idle.levelup": "We must train harder...!",
|
|
@@ -2885,10 +3191,13 @@ window.__ModuleLoader__.load({
|
|
|
2885
3191
|
* that reads as a fault: the menu offers a character that appears not to respond. Said once, on the picker,
|
|
2886
3192
|
* where the choice between them is made.
|
|
2887
3193
|
*
|
|
3194
|
+
* 律 has left this list: she has her own click reactions, idle lines, and listening / done / working / thinking
|
|
3195
|
+
* scenes, plus her farewell line, so there is nothing left to excuse.
|
|
3196
|
+
*
|
|
2888
3197
|
* Keyed by CHARACTER, not by model, so the note cannot appear on one outfit of a character and not another.
|
|
2889
3198
|
* `CHARACTER_GROUPS` is the table that already knows which models belong to whom.
|
|
2890
3199
|
*/
|
|
2891
|
-
const PENDING_CHARACTERS = new Set(["nonoka", "
|
|
3200
|
+
const PENDING_CHARACTERS = new Set(["nonoka", "arale"]);
|
|
2892
3201
|
|
|
2893
3202
|
/** Whether `id` belongs to a character that is still being written. Accepts an outfit id as well as a character id. */
|
|
2894
3203
|
function characterPending(id) {
|
|
@@ -4585,6 +4894,18 @@ window.__ModuleLoader__.load({
|
|
|
4585
4894
|
* button. For a user pick the current motion is stopped first, which makes every
|
|
4586
4895
|
* menu entry visibly responsive.
|
|
4587
4896
|
*
|
|
4897
|
+
* The new clip then fades in from the previous pose over ITS OWN `Meta.FadeInTime`.
|
|
4898
|
+
* That is the knob for "this transition shows the outgoing pose for too long": 律's
|
|
4899
|
+
* 确认 → 严肃 holds the hand at the chest for the runtime's default half second,
|
|
4900
|
+
* which reads as two overlapping hands, so that clip declares 0.25 s instead.
|
|
4901
|
+
*
|
|
4902
|
+
* Clearing EVERY parameter was tried first and reverted: it made the whole body snap
|
|
4903
|
+
* to the neutral pose for a frame, which is the 突兀 the user reported. What is
|
|
4904
|
+
* cleared now is one parameter — the left hand's spare layer, restored by
|
|
4905
|
+
* `restoreHandLayer()` below. It only decides whether the extra hand is drawn, so
|
|
4906
|
+
* resetting it cannot move the body; every other parameter keeps its pose and the
|
|
4907
|
+
* transition stays smooth.
|
|
4908
|
+
*
|
|
4588
4909
|
* @param name - the motion group.
|
|
4589
4910
|
* @param options - `{ user: true }` for a menu pick, which claims priority and
|
|
4590
4911
|
* plays at `FORCE`. `{ priority }` sets an explicit priority instead; the idle
|
|
@@ -4595,7 +4916,10 @@ window.__ModuleLoader__.load({
|
|
|
4595
4916
|
const user = options?.user === true;
|
|
4596
4917
|
const priority = user ? MOTION_PRIORITY_FORCE : (options?.priority ?? MOTION_PRIORITY_NORMAL);
|
|
4597
4918
|
try {
|
|
4598
|
-
if (user)
|
|
4919
|
+
if (user) {
|
|
4920
|
+
this.stopMotions();
|
|
4921
|
+
this.restoreHandLayer();
|
|
4922
|
+
}
|
|
4599
4923
|
const started = this.model.motion(name, undefined, priority);
|
|
4600
4924
|
if (started === false) return false;
|
|
4601
4925
|
if (user) this.claimPriority();
|
|
@@ -4624,6 +4948,43 @@ window.__ModuleLoader__.load({
|
|
|
4624
4948
|
}
|
|
4625
4949
|
}
|
|
4626
4950
|
|
|
4951
|
+
/**
|
|
4952
|
+
* Put 律's spare left hand back before a user pick.
|
|
4953
|
+
*
|
|
4954
|
+
* `hand_l_11` is a layer switch, not a limb: it only decides whether the extra left
|
|
4955
|
+
* hand is drawn (measured — default `-1` on a `[-1, 0]` range, and it is exactly one
|
|
4956
|
+
* of the three parameters that 确认 animates and 严肃 does not). A stopped motion
|
|
4957
|
+
* keeps its last frame in the runtime's saved snapshot, so without this the hand
|
|
4958
|
+
* from 确认 keeps being drawn over 严肃 until the new clip's fade passes it.
|
|
4959
|
+
*
|
|
4960
|
+
* Two things this deliberately does NOT do, both because of a measured regression:
|
|
4961
|
+
* it does not touch any other parameter (a blanket reset snapped the whole body to
|
|
4962
|
+
* the neutral pose for a frame — the 突兀 the user reported), and it does not run
|
|
4963
|
+
* for idle drift or phase motions (only a user pick needs a clean slate).
|
|
4964
|
+
*
|
|
4965
|
+
* The write goes into `values` and ALSO into `_savedParameters`, because the update
|
|
4966
|
+
* loop restores that snapshot at the end of every frame; without the second write
|
|
4967
|
+
* the old value would come straight back. Models without the parameter are a no-op.
|
|
4968
|
+
*/
|
|
4969
|
+
restoreHandLayer() {
|
|
4970
|
+
try {
|
|
4971
|
+
const core = this.model?.internalModel?.coreModel;
|
|
4972
|
+
const params = core?.parameters ?? core?._model?.parameters;
|
|
4973
|
+
const values = params?.values;
|
|
4974
|
+
const defaults = params?.defaultValues;
|
|
4975
|
+
const ids = params?.ids;
|
|
4976
|
+
if (values === undefined || defaults === undefined || !Array.isArray(ids)) return;
|
|
4977
|
+
const index = ids.indexOf("hand_l_11");
|
|
4978
|
+
if (index < 0 || index >= values.length || index >= defaults.length) return;
|
|
4979
|
+
if (values[index] === defaults[index]) return;
|
|
4980
|
+
values[index] = defaults[index];
|
|
4981
|
+
const saved = core?._savedParameters ?? core?._model?._savedParameters;
|
|
4982
|
+
if (saved !== undefined && saved.length === values.length) saved[index] = defaults[index];
|
|
4983
|
+
} catch {
|
|
4984
|
+
// A runtime that exposes no parameter tables must not take the menu down with it.
|
|
4985
|
+
}
|
|
4986
|
+
}
|
|
4987
|
+
|
|
4627
4988
|
/**
|
|
4628
4989
|
* Apply an expression, ignoring unknown names.
|
|
4629
4990
|
*
|
|
@@ -6013,6 +6374,14 @@ window.__ModuleLoader__.load({
|
|
|
6013
6374
|
try {
|
|
6014
6375
|
const snapshot = await API.state();
|
|
6015
6376
|
if (this.destroyed) return;
|
|
6377
|
+
/*
|
|
6378
|
+
* Whether she was away when this poll STARTED.
|
|
6379
|
+
*
|
|
6380
|
+
* Read before anything overwrites `state`, because it is the only reliable "she is being
|
|
6381
|
+
* summoned back" signal: the goodbye attribute is set one fade later, so summoning her
|
|
6382
|
+
* again quickly leaves it unset and the attribute-based test missed exactly that case.
|
|
6383
|
+
*/
|
|
6384
|
+
const wasOffline = this.state === "offline";
|
|
6016
6385
|
this.adoptSnapshot(snapshot);
|
|
6017
6386
|
this.applyLayout();
|
|
6018
6387
|
/*
|
|
@@ -6040,6 +6409,15 @@ window.__ModuleLoader__.load({
|
|
|
6040
6409
|
if (this.state === "offline" || this.state === "error") {
|
|
6041
6410
|
this.state = this.stage === null ? "loading" : "ready";
|
|
6042
6411
|
}
|
|
6412
|
+
/*
|
|
6413
|
+
* Every summon starts from her resting pose and resting face.
|
|
6414
|
+
*
|
|
6415
|
+
* Unconditional on purpose: whatever she was doing when she left — the goodbye wave, a click
|
|
6416
|
+
* reaction, a face borrowed for a line — is not part of her default state, and the user asked for
|
|
6417
|
+
* exactly that. Placing it on the offline→online edge (rather than on the goodbye attribute) also
|
|
6418
|
+
* covers a summon that arrives while the wave is still playing. @see resetToRest
|
|
6419
|
+
*/
|
|
6420
|
+
if (wasOffline && this.stage !== null) this.resetToRest();
|
|
6043
6421
|
this.render();
|
|
6044
6422
|
} catch (error) {
|
|
6045
6423
|
if (this.destroyed) return;
|
|
@@ -6346,6 +6724,26 @@ window.__ModuleLoader__.load({
|
|
|
6346
6724
|
}
|
|
6347
6725
|
}
|
|
6348
6726
|
|
|
6727
|
+
/**
|
|
6728
|
+
* The warning bubble's words: the scene's own line, then the balance on a second line.
|
|
6729
|
+
*
|
|
6730
|
+
* The number is the same reading the 设置 panel shows — `snapshot.balance.value`, the host's own look at the
|
|
6731
|
+
* wallet, not a client-side guess. When it is null (signed out, no account service, or a failed query) the second
|
|
6732
|
+
* line is simply dropped, so the bubble keeps its sentence instead of printing ¥0.00 and reading as an empty
|
|
6733
|
+
* wallet.
|
|
6734
|
+
*
|
|
6735
|
+
* Two lines because the bubble is `white-space: pre-wrap`: a newline is a real line break, and at 15 px the amount
|
|
6736
|
+
* sits under the sentence without fighting it for width.
|
|
6737
|
+
*
|
|
6738
|
+
* @param body - the scene's sentence.
|
|
6739
|
+
* @returns the sentence, with the balance appended when one is known.
|
|
6740
|
+
*/
|
|
6741
|
+
balanceBubbleText(body) {
|
|
6742
|
+
const value = this.snapshot?.balance?.value;
|
|
6743
|
+
if (typeof value !== "number" || !Number.isFinite(value)) return body;
|
|
6744
|
+
return `${body}\n${this.options.t("pet.balance.bubbleAmount", { amount: `\u00a5${value.toFixed(2)}` })}`;
|
|
6745
|
+
}
|
|
6746
|
+
|
|
6349
6747
|
/**
|
|
6350
6748
|
* Warn when the account balance drops past a threshold.
|
|
6351
6749
|
*
|
|
@@ -6404,7 +6802,7 @@ window.__ModuleLoader__.load({
|
|
|
6404
6802
|
*/
|
|
6405
6803
|
const scene = scenes[Math.floor(Math.random() * scenes.length)];
|
|
6406
6804
|
this.lastBalanceWarning.scene = scene.text;
|
|
6407
|
-
if (typeof scene.text === "string" && scene.text !== "") this.showOverlay(scene.text, BALANCE_WARNING_MS);
|
|
6805
|
+
if (typeof scene.text === "string" && scene.text !== "") this.showOverlay(this.balanceBubbleText(scene.text), BALANCE_WARNING_MS);
|
|
6408
6806
|
if (typeof scene.motion === "string" && scene.motion !== "") this.stage?.playMotion(scene.motion, { user: true });
|
|
6409
6807
|
if (typeof scene.expression === "string" && scene.expression !== "") {
|
|
6410
6808
|
this.borrowFace(scene.expression, BALANCE_WARNING_MS);
|
|
@@ -6416,7 +6814,7 @@ window.__ModuleLoader__.load({
|
|
|
6416
6814
|
* a single warning face. That is the state 薇欧拉 and 由乃 are in.
|
|
6417
6815
|
*/
|
|
6418
6816
|
const text = info.lines?.[String(band)];
|
|
6419
|
-
if (typeof text === "string" && text !== "") this.showOverlay(text, BALANCE_WARNING_MS);
|
|
6817
|
+
if (typeof text === "string" && text !== "") this.showOverlay(this.balanceBubbleText(text), BALANCE_WARNING_MS);
|
|
6420
6818
|
const face = BALANCE_WARNING_FACES[group];
|
|
6421
6819
|
if (typeof face === "string" && face !== "") this.borrowFace(face, BALANCE_WARNING_MS);
|
|
6422
6820
|
}
|
|
@@ -7040,6 +7438,31 @@ window.__ModuleLoader__.load({
|
|
|
7040
7438
|
return this.stage?.playExpression(DEFAULT_EXPRESSION()) ?? false;
|
|
7041
7439
|
}
|
|
7042
7440
|
|
|
7441
|
+
/**
|
|
7442
|
+
* Put her back in her resting pose and resting face.
|
|
7443
|
+
*
|
|
7444
|
+
* This is the "every summon starts at the default" rule, and it is explicit rather than left to whatever
|
|
7445
|
+
* motion happened to be on screen:
|
|
7446
|
+
*
|
|
7447
|
+
* - The goodbye wave runs at FORCE. A summon that arrives while it is still playing (the pet can be
|
|
7448
|
+
* summoned again one poll after leaving) would have its entry motion REFUSED by the motion manager,
|
|
7449
|
+
* because a NORMAL motion cannot displace a FORCE one — she then stayed in the wave's last frame.
|
|
7450
|
+
* Starting the resting motion at FORCE too, via `{ user: true }`, is what makes this unconditional.
|
|
7451
|
+
* - `stopMotions()` first, so the clip that is being abandoned cannot hold the pose through the fade.
|
|
7452
|
+
* - The face is reset here as well. `react` deliberately never touches it — right for phase changes,
|
|
7453
|
+
* wrong for a summon, where whatever was last borrowed is not "her default".
|
|
7454
|
+
*
|
|
7455
|
+
* @returns true when the resting motion actually started.
|
|
7456
|
+
*/
|
|
7457
|
+
resetToRest() {
|
|
7458
|
+
if (this.stage === null) return false;
|
|
7459
|
+
const started = this.stage.playMotion(PHASE_ANIMATION.idle.motion, { user: true });
|
|
7460
|
+
this.stage.playExpression(DEFAULT_EXPRESSION());
|
|
7461
|
+
// Restart the drift clock from the summon, so the first drift is a normal interval away.
|
|
7462
|
+
this.stage.scheduleIdle("idle");
|
|
7463
|
+
return started;
|
|
7464
|
+
}
|
|
7465
|
+
|
|
7043
7466
|
/**
|
|
7044
7467
|
* Play a click clip, CUTTING OFF whatever click clip was still speaking.
|
|
7045
7468
|
*
|
|
@@ -7565,9 +7988,15 @@ window.__ModuleLoader__.load({
|
|
|
7565
7988
|
* The offline attribute is the guard: it is set when she goes away and cleared below, so this runs once
|
|
7566
7989
|
* per departure instead of once per poll.
|
|
7567
7990
|
*/
|
|
7568
|
-
|
|
7569
|
-
|
|
7570
|
-
|
|
7991
|
+
/*
|
|
7992
|
+
* The pose is restored by the caller, not here.
|
|
7993
|
+
*
|
|
7994
|
+
* `endFarewell` runs on EVERY online poll, while the reset belongs to the moment she is summoned
|
|
7995
|
+
* back. Doing it here needed the offline attribute as a one-shot guard, and that missed the case
|
|
7996
|
+
* that matters: summoning her again before the wave has finished leaves the attribute unset, so
|
|
7997
|
+
* the guard never fired and the wave stayed. The poll knows the previous state, so `tick` is the
|
|
7998
|
+
* place that can tell "came back" from "was always here". @see resetToRest
|
|
7999
|
+
*/
|
|
7571
8000
|
this.root.dataset.offline = "false";
|
|
7572
8001
|
this.root.hidden = false;
|
|
7573
8002
|
// Back on screen, so the latch that kept her quiet while she was away is released.
|
package/lib/index.js
CHANGED
|
@@ -185,13 +185,14 @@ export const CHARACTER_PHASES = {
|
|
|
185
185
|
nonoka_virtual: {
|
|
186
186
|
idle: { randomMotions: [], idleMotions: [] }
|
|
187
187
|
},
|
|
188
|
-
// 律
|
|
188
|
+
// 律's idle pool IS decided, so it is mirrored here rather than left empty. @see CHARACTER_PHASES.nonoka
|
|
189
189
|
ritsu: {
|
|
190
|
-
idle: { randomMotions: [], idleMotions: [] }
|
|
190
|
+
idle: { randomMotions: [], idleMotions: ["mtn_smile01_C", "mtn_check01_C", "mtn_idle01_C", "mtn_idle02_C"] }
|
|
191
191
|
},
|
|
192
192
|
ritsu_virtual: {
|
|
193
|
-
idle: { randomMotions: [], idleMotions: [] }
|
|
193
|
+
idle: { randomMotions: [], idleMotions: ["mtn_smile01_C", "mtn_check01_C", "mtn_idle01_C", "mtn_idle02_C"] }
|
|
194
194
|
},
|
|
195
|
+
// 阿拉蕾 is still in the "to be decided" state. @see CHARACTER_PHASES.nonoka
|
|
195
196
|
arale: {
|
|
196
197
|
idle: { randomMotions: [], idleMotions: [] }
|
|
197
198
|
},
|
package/lib/machine.js
CHANGED
|
@@ -49,12 +49,15 @@ export const PHASES = {
|
|
|
49
49
|
/** The user just spoke: an acknowledging nod. */
|
|
50
50
|
listening: {
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
52
|
+
* No phase bubble.
|
|
53
53
|
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
54
|
+
* This used to read 「准备已经做好了」 — 都子's `VoiceLive_14/Live_Miyako_Start_01` — but the
|
|
55
|
+
* table is shared by every character, so a greeting that only she says was printed over all of
|
|
56
|
+
* them. The line now lives where it belongs: in her own clip caption (`listening.opus` in her
|
|
57
|
+
* content), which the client shows through `playMotionLine`. Keeping the field as an empty
|
|
58
|
+
* string rather than deleting it keeps the shape uniform with the other phases.
|
|
56
59
|
*/
|
|
57
|
-
bubble: "
|
|
60
|
+
bubble: "",
|
|
58
61
|
motion: "mtn_nod02_C",
|
|
59
62
|
/*
|
|
60
63
|
* Nodding while the message is being taken in. Randomised like the other short phases: a
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-pet-live2d-viola",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Live2D desktop pet for the DeepSeek Harness web GUI. Six characters — 都子 (miyako_014_casual_spring_01_marukun), 薇欧拉 (casual / school), 由乃 (casual / virtual), ののか (casual / virtual), 律 (casual / virtual) and 阿拉蕾 (three outfits) — each with its own motions, expressions, voice lines, captions, idle drift, click reactions and goodbye. The menu shows the plugin's version and says when a newer one is published.",
|
|
3
|
+
"version": "1.3.0",
|
|
4
|
+
"description": "Live2D desktop pet for the DeepSeek Harness web GUI. Six characters — 都子 (miyako_014_casual_spring_01_marukun), 薇欧拉 (casual / school), 由乃 (casual / virtual), ののか (casual / virtual), 律 (casual / virtual) and 阿拉蕾 (three outfits) — each with its own motions, expressions, voice lines, captions, idle drift, click reactions and goodbye. Reminds you when the account balance crosses each yuan below five, splitting the amount into five, and shows the remaining balance in the warning bubble. The menu shows the plugin's version and says when a newer one is published.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"exports": {
|