mikumikudance 中文文档 下载 App

MMD 动作不匹配 — 骨骼命名、默认姿态、T-Pose 适配

症状

导入 VMD 动作数据后播放:

这四种对应不同的原因。

原因一:骨骼命名不匹配(最常见)

症状 B:只有部分骨骼动,部分不动。

原理

VMD 里关键帧的核心数据是:"在帧 X,骨骼 Y 应该在 Z 位置"。

如果模型里根本没有 "骨骼 Y" 这个名字——MMD 找不到它,就跳过这根骨骼的关键帧。结果:

骨骼命名差异来源

命名系统手臂骨骼名腿部骨骼名
日文(标准)腕左 / 腕右足左 / 足右
日文变体手 / 手足 / 足
英文Arm.L / Arm.RLeg.L / Leg.R
英文变体Hand_L / Hand_RFoot_L / Foot_R
中文左手臂 / 右手臂左腿 / 右腿

MMD 社区里日文命名是最常见的(原版就是日文软件)。如果你的模型是中文命名、而 VMD 是日文命名 → 大量骨骼不匹配。

修复方案

方案一:用改名工具(推荐)

社区有专门的动作改名工具,自动把 VMD 里的骨骼名改成模型的骨骼名:

工具说明
Action Renamer最流行的 VMD 改名工具
PMX Editor 批量改名也能改模型的骨骼名
社区改名脚本GitHub 上有 Python 脚本

基本流程:

  1. 打开工具
  2. 加载 VMD 和你的模型
  3. 工具自动识别骨骼名对应关系
  4. 确认映射 → 批量改名
  5. 保存为新的 VMD → 重新导入

方案二:改模型骨骼名

用 PMX Editor 把模型的骨骼名改成 VMD 期望的名字。但这会改模型本身,要小心——其他依赖这个模型名的资产(PMX 预设、其他 VMD)可能受影响。

方案三:找同一作者/同类型模型的 VMD

配布者通常会标注 VMD 适配哪些模型。找明确标注了适配范围的 VMD 最省心。

原因二:T-Pose vs A-Pose 冲突

症状 A、C:模型整体姿势不对、动作幅度夸张。

原理

VMD 的关键帧是基于模型的默认姿势做的——如果 VMD 作者在"模型站在 T-Pose(手臂平伸)"时 K 的帧,但你的模型默认是 A-Pose(手臂斜下):

场景VMD 作者你的模型结果
默认站姿T-PoseA-Pose动作整体"别扭"
手臂抬起动作从 T-Pose 抬 90°从 A-Pose 抬 90°角度完全不同
手部动画在 T-Pose 基础上动在 A-Pose 基础上动手的位置对不上

排查

  1. 选中模型 → 时间轴回到帧 0
  2. 看看模型是不是站在 标准 T-Pose:手臂水平向两侧平伸,掌心向下
  3. 如果不是 → 你的模型默认姿势不是 T-Pose
  4. 把 VMD 里的骨骼名和 T-Pose 标准名对一下

修复方案

方案一:调整 VMD 的帧 0 姿势(推荐)

1. 导入 VMD 到 MMD
2. 跳到帧 0
3. 手动调整模型姿势到"接近"正确的位置
4. Register 关键帧(全模型)→ 覆盖帧 0 的数据
5. 跳到帧 1 → 播放看效果
6. 如果整体还不对 → 回到帧 0 再微调姿势

方案二:改模型的默认姿势

用 PMX Editor 调整模型的绑定姿态(Bind Pose):

  1. PMX Editor → 编辑模式
  2. 选中模型根骨骼
  3. 手动调整到 T-Pose
  4. 菜单 → 设为默认姿势
  5. 保存

这样模型以后加载都是 T-Pose,和社区 VMD 兼容。

方案三:找 A-Pose 专属的 VMD

部分配布者会注明"适配 A-Pose 模型"——搜的时候加个关键词。

原因三:骨骼数量差异

症状 B:有些部位动有些不动,尤其是手指、锁骨、颈椎等细节部位。

原理

简单模型可能只有 50 根骨骼,精细模型可能有 400+ 根骨骼。VMD 作者用精细模型 K 的帧(包含手指、表情、物理辅助骨骼),但你的模型没有这些骨骼 → 跳过。

修复

没有完美的修复方案——VMD 的帧里引用了不存在的骨骼,MMD 跳过是正确行为。

动作缩放问题

症状 D:动作看起来被放大或缩小了。

原因

VMD 作者用的模型和你的模型尺寸比例不同(有的模型 1.6 米,有的 2 米)。VMD 的平移数据是绝对数值 → 模型小的看起来动作夸张,模型大的看起来动作缩小。

快速修复

MMD 里:

  1. 选中模型 → 右键 → 缩放
  2. 调整模型大小让它看起来合适(配合动作的幅度)
  3. 或者 VMD 导入后整体平移关键帧

精确修复

用改名工具同时调整平移比例。部分高级工具支持:

导入后立即做的检查

1. 跳到帧 0 → 姿势是否合理(不是扭麻花)
2. 跳到帧中间 → 动作是否流畅自然
3. 跳到高潮帧 → 手臂腿部姿势是否正确
4. 播放 10 秒 → 整体节奏对不对
5. 看有没有部位没动 → 骨骼名不匹配

社区实用套路

套路一:同模型的 VMD 直接用

你用的模型(比如初音 Append)在配布时通常会附带推荐 VMD 列表——用同一个配布者推荐的 VMD,兼容性最好。

套路二:找"动作包"而不是单个 VMD

社区有很多动作包——一个压缩包里包含模型、VMD、相机数据、舞台、效果。整套用兼容性最好。

套路三:MMM(社区分支)的自动适配

MikuMikuMoving(MMM)社区分支有更好的动作适配能力——能自动识别骨骼名差异并做映射。如果经常遇到动作不匹配,可以考虑转 MMM。