dsh-pet-live2d 2.0.0 → 2.0.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # 更新日志
2
2
 
3
+ ## 2.0.2
4
+
5
+ **只改文档**(宠物自带的那份 README,`pets/ds-whale-girl/README.md`)。它落后得比主 README
6
+ 还多,用户指出"两个 readme 哦"之后一起收干净:
7
+
8
+ - 「Cubism Core 需要自行放置」→ 改成实际行为(宿主自动去官方 CDN 取并缓存,只有内网机器才要手动放)
9
+ - 宠物包的名字还写着 `@linxin666/dsh-pet` → 改成 `dsh-pet-live2d`
10
+ - 渲染器写 `Cubism 3/4` → 这只模型是 **Cubism 5**
11
+ - 槽位数写 17 → **20**(自拍独立成槽、氛围拆成三个之后)
12
+ - 「六个槽位可以同时生效」→ 槽位之间都可以同时生效(六个是**装扮**槽的数量)
13
+ - 宠物契约表补上新增的 `live2d.fidgetSlots`,并写明前提在手动点选时由插件补齐
14
+ - 引擎层面的叠加原理(为什么绕开引擎的表情管理器、写在帧内哪个缝隙)**移出 README**,
15
+ 按文档分工归到 skill `cubism-engine`
16
+
17
+ ## 2.0.1
18
+
19
+ **只改文档。** README 里"必须自备 Cubism Core"的说法早就过时了 —— 插件第一次用到它时会由
20
+ 宿主半区去 [Live2D 官方 CDN](https://cubism.live2d.com/sdk-web/cubismcore/live2dcubismcore.min.js)
21
+ 取一份(校验后缓存到 `%DSH_HOME%\pets\.runtime\`),之后离线也能用;
22
+ **只有访问不了外网的机器才需要手动放一份**。2.0.0 的说明还写着"必须自备",会让人白折腾一趟。
23
+
3
24
  ## 2.0.0
4
25
 
5
26
  设置界面、摸鱼机制、动作与表情的合成方式都动过一轮,所以是 2.0.0。**升级后建议看一眼
package/README.md CHANGED
@@ -34,11 +34,16 @@ git clone https://github.com/A8Chann/dsh-pet-live2d
34
34
  dsh plugin --profile web add "link:./dsh-pet-live2d/dsh-live2d-pet"
35
35
  ```
36
36
 
37
- ### 必须自备 Cubism Core
37
+ ### Cubism Core:不用手动装
38
38
 
39
- `live2dcubismcore.min.js` 是 Live2D 株式会社的**专有运行时**,不能随插件分发。
40
- 去 [Live2D 官网](https://www.live2d.com/sdk/cubism/) 下载 Cubism SDK for Web,把
41
- `Core/live2dcubismcore.min.js` 放到 `%DSH_HOME%\pets\.runtime\live2dcubismcore.min.js`。
39
+ `live2dcubismcore.min.js` 是 Live2D 株式会社的**专有运行时**,不能随插件分发 —— 但**你也不
40
+ 用自己去找**:插件第一次用到它时,宿主半区会去
41
+ [Live2D 官方 CDN](https://cubism.live2d.com/sdk-web/cubismcore/live2dcubismcore.min.js) 取一份
42
+ (校验过再发出去),并缓存到 `%DSH_HOME%\pets\.runtime\live2dcubismcore.min.js`,之后离线也能用。
43
+
44
+ 只有当这台机器**访问不了外网**时,才需要手动下载
45
+ [Cubism SDK for Web](https://www.live2d.com/sdk/cubism/)、把 `Core/live2dcubismcore.min.js`
46
+ 放到上面那个路径。
42
47
 
43
48
  ### 宠物:随包自带
44
49
 
@@ -203,7 +208,7 @@ dsh plugin --profile web add "link:./dsh-pet-live2d/dsh-live2d-pet"
203
208
  |---|---|---|
204
209
  | GET | `/api/live2d-pet/catalog` | 已安装宠物 + 各自的动作/表情清单 + 运行时 URL |
205
210
  | GET | `/api/live2d-pet/asset/<id>/<path>` | 只服务 `model3.json` **引用闭包**内的文件(白名单 Set 比对 + realpath 包含,`..` 永远匹配不上) |
206
- | GET | `/api/live2d-pet/runtime/live2dcubismcore.min.js` | 用户自备的 Cubism Core |
211
+ | GET | `/api/live2d-pet/runtime/live2dcubismcore.min.js` | Cubism Core:本地有就发本地的,没有就去 Live2D 官方 CDN 取一份并缓存(`x-live2d-core-source: cdn`);两边都拿不到才 502 |
207
212
  | GET | `/api/live2d-pet/runtime/live2d-vendor.js` | 插件内置的 MIT vendor 分包(pixi.js + 引擎),按需懒加载 |
208
213
 
209
214
  API 与资产路由默认只答本机回环请求。
@@ -251,7 +256,7 @@ cd ../../tools/browser-test && npm install && npm run suite
251
256
 
252
257
  - 插件代码:MIT
253
258
  - vendor 分包:pixi.js(MIT)+ untitled-pixi-live2d-engine(MIT),可随包分发
254
- - Cubism Core:Live2D 专有,**用户自备,本插件不内置**
259
+ - Cubism Core:Live2D 专有,**不随包分发**;缺失时由宿主半区从 Live2D 官方 CDN 取一份并缓存到本地
255
260
  - DS鲸鱼娘模型:**CC BY-NC-SA 4.0**(署名 · **非商业** · 相同方式共享),见
256
261
  [`pets/ds-whale-girl/LICENSE`](pets/ds-whale-girl/LICENSE)。
257
262
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-pet-live2d",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "Live2D 桌宠插件:为 DSH Web GUI 挂一只可拖动、会跟随鼠标、能换动作与表情的 Live2D 宠物。",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -1,8 +1,8 @@
1
1
  # DS鲸鱼娘 · Live2D 桌宠
2
2
 
3
- DSh 桌宠(`@linxin666/dsh-pet`)的 Live2D 宠物包。
3
+ [dsh-pet-live2d](https://github.com/A8Chann/dsh-pet-live2d) 插件用的 Live2D 宠物包。
4
4
 
5
- - 渲染器:`live2d`(Cubism 3/4)
5
+ - 渲染器:`live2d`(Cubism 5 模型)
6
6
  - 动作组:Idle / Hammer / BubbleGum / SprayWater / OpenCase / Selfie / SelfieQuick / Ketchup
7
7
  - 表情:44 个(情绪 20 / 配件 9 / 道具 15)
8
8
  - 许可:**CC BY-NC-SA 4.0**(署名 · **非商业** · 相同方式共享)—— 见本目录 `LICENSE`
@@ -10,11 +10,11 @@ DSh 桌宠(`@linxin666/dsh-pet`)的 Live2D 宠物包。
10
10
 
11
11
  ## 装扮槽位(状态切换分类)
12
12
 
13
- 44 个表情现在**全部**归入 **17 个**槽位。其中六个是**装扮**(眼镜 / 发饰 / 魔爪 / 桌面摆设=巴菲 / 桌布 / 其他=手机换色):
13
+ 44 个表情**全部**归入 **20 个**槽位。其中六个是**装扮**(眼镜 / 发饰 / 魔爪 / 桌面摆设=巴菲 / 桌布 / 其他=手机换色):
14
14
  它们跨启动记着,「归位」和会话相位都不动它们。其余槽位(手、眼、情绪、嘴、符号、氛围、脸红)是随时可换的表情。
15
15
  它们全部由模型的「通用按键 / C款动作开关」参数驱动,一个参数开一块美术;
16
16
  同时点亮两个不会「叠加」,只会打架。所以按**槽位**归类,每个槽位单选,
17
- 选新的自动摘掉旧的:
17
+ 选新的自动摘掉旧的 —— 但**槽位之间可以同时生效**:
18
18
 
19
19
  | 槽位 | 不选 | 可选项 |
20
20
  |---|---|---|
@@ -47,17 +47,9 @@ DSh 桌宠(`@linxin666/dsh-pet`)的 Live2D 宠物包。
47
47
  剩下的是**可以叠加的情绪表情**(脸红 + 汗 + 问号 是合理的漫画组合),
48
48
  它们分别落在眼部 / 情绪 / 嘴部 / 符号 / 氛围 / 脸红这些槽位里,各槽位之间可以同时生效。
49
49
 
50
- 引擎的表情管理器一次只持有**一个**表情(`currentExpression`),所以跨槽位叠加不能
51
- 交给它。插件改成**自己按帧写参数**:在每个表达式 .exp3.json 声明的通道上做 Add 叠加,
52
- 写入点是 `coreModel.saveParameters()` 之后——正是引擎自己那套表情流程所在的位置。
53
-
54
- 关键在挂钩点:写在 `loadParameters()` 之后会被下一帧的 `saveParameters()` 一起快照进
55
- 基线,于是「关不掉」(实测开关永远停在 1);写在 `saveParameters()` 之后才是干净的一层,
56
- 取消选择时下一帧自然就摘掉了。
57
-
58
- 所以**六个槽位可以同时生效**,跟参考面板一致。
59
-
60
50
  槽位定义写在 `pet.json` 的 `live2d.expressionSlots`,换个宠物改这里就行。
51
+ **跨槽位叠加在引擎层面怎么做**(为什么要绕开引擎自己的表情管理器、参数写在帧内哪个缝隙、
52
+ 写在别处会"关不掉")见 skill `cubism-engine`。
61
53
 
62
54
  ## 会话相位与关系(宠物怎么声明默认值)
63
55
 
@@ -70,6 +62,7 @@ DSh 桌宠(`@linxin666/dsh-pet`)的 Live2D 宠物包。
70
62
  | `expressionSlots[].options[].pairs` | 该选项的「同时」关系(选了它就一起点亮哪个槽位) |
71
63
  | `expressionSlots[].options[].requires` | 该选项的「前提」关系(必须先处于哪个状态才播得出来) |
72
64
  | `expressionSlots[].fidgetNone` / `options[].fidgetWeight` | 摸鱼池的默认条目与权重 |
65
+ | `live2d.fidgetSlots` | 摸鱼默认盯哪几个槽位(这只宠物是七个:右手 / 左手 / 情绪 / 脸红 / 嘴部 / 眼部 / 自拍) |
73
66
 
74
67
  ```json
75
68
  {
@@ -84,13 +77,17 @@ DSh 桌宠(`@linxin666/dsh-pet`)的 Live2D 宠物包。
84
77
 
85
78
  `pairs` / `requires` 在设置页里**可增删**(覆盖存在浏览器里,不改这个文件);
86
79
  `requires` 在运行时是**抽签的闸门**:前提不成立的条目根本不会被抽中。
80
+ 手动点选时则由插件**把前提补上**(点「自拍」会先把手机掏出来),不会"点了没反应"。
87
81
 
88
82
  ## 前置:Cubism Core
89
83
 
90
- Live2D 专有许可不允许再分发 Core 运行时,需要自行放置:
84
+ Core 运行时是 Live2D 的专有软件,不随包分发 —— 但**不用自己去找**:插件第一次用到它时,
85
+ 宿主半区会去 Live2D 官方 CDN 取一份(校验后缓存),之后离线也能用:
91
86
 
92
87
  ```
93
88
  %DSH_HOME%\pets\.runtime\live2dcubismcore.min.js
94
89
  ```
95
90
 
96
- 从 Live2D 官方 Cubism SDK for Web 获取(`https://cubism.live2d.com/sdk-web/cubismcore/live2dcubismcore.min.js`)。
91
+ 只有访问不了外网的机器,才需要手动下载
92
+ [Cubism SDK for Web](https://www.live2d.com/sdk/cubism/) 里的
93
+ `Core/live2dcubismcore.min.js` 放到上面那个路径。