-
released this
2026-09-17 00:10:07 +08:00 | 20 commits to main since this releaseOpenDance Studio -- Web 管理服务端 v0.4.0
骨骼重绑定:让「一律转 VRM」真正可用(契约
skeleton-topology-> 0.2.0)。
对应《DSH 开发文档 v1.6》4.10(T-WEB-013)。根因:MMD 模型 humanoid 恒为 0/22
normalizeBoneName()原先只保留a-z0-9,中文/日文字符被整个丢掉:
上半身/左ひじ/首归一化后都是空串,MMD 骨名必然失配 ->
humanoidMapped=0/22-> 不可驱动 -> 只能回退交付 GLB 并标记usable=false。本次改动
- 归一化修复:保留 CJK / 平假名 / 片假名 / 长音符 /
々,并把全角 ASCII 折成半角
(MMD 常写足IK/つま先IK);精确匹配保证左足IK不会抢占左足。 - 候选表补齐四类命名(22 根 × 8-13 个候选):VRoid、Mixamo、MMD 标准骨架
(下半身/上半身/上半身2/首/頭/左肩/左腕/左ひじ/左手首/左足/左ひざ/左足首/左つま先)、
常见中文名(臀部/头/脖子/左大臂/左小臂/左大腿/左脚…)。 - 服务端与 Windows 客户端逐字一致:
humanoid_map.gd的CANDIDATES由服务端表生成写入,
normalize()同步改造;parity 测试断言键顺序与候选顺序完全一致。 - 契约
skeleton-topology-> 0.2.0:新增 §6「内部动作标准与模型骨骼重绑定」
(三层标准:33 点关键点 / MMD 标准骨架 / 22 根 humanoid;22 与 16 根骨清单;
归一化与匹配规则;实测记录)。 - 测试规模 17 文件 / 229 项。
实测(重绑定后)
样本 之前 现在 【奥黛塔】_by_原神.zip(PMX 日文骨名)0/22,不可驱动,回退 GLB、 usable=false21/22,drivable=true,交付 VRM 模型_初音未来…zip(PMX)0/22,不可驱动 19/22,drivable=true,交付 VRM 未命中的 1-3 根均为非必需骨(
upperChest/leftToes等),不影响驱动与评分。升级后请重新导入模型
材质/骨骼重绑定都在转换时生效:把 MMD 模型(
.zip/.pmx)重新上传即可,
此前标记「不可用」的模型重新导入后会变成可用并进入客户端目录;
reanalyze-models.mjs只刷新分析与缩略图,不会重转。校验
opendance-web-v0.4.0.tar.gzsha256:2c913c39a5feda918bdf144ffac773284d7bdb768a2da50877647ae63ceb40bfDownloads
- 归一化修复:保留 CJK / 平假名 / 片假名 / 长音符 /