mikumikudance 中文文档 下载 App

MMD 物理穿模调优 — 从头发飞天到身体穿插

穿模的四种类型

类型表现常见位置
头发穿过头头发根部分穿进头部头顶、后脑勺
头发/裙摆粘在一起多根头发互相卡住不分开长发、多层裙摆
裙摆穿过腿裙摆材质穿进腿内部大腿前后
物理飞天头发/裙摆飞上天不回来甩头、大动作后

先做最快的检查

别直接就去调刚体——先做这几个最简单的检查,能解决一半问题:

检查一:模型原点对齐

角色是不是"飘"起来了或"埋"进地板了?

检查二:物理开关状态

播放控制条上的物理开关是不是开着的?开着时才会物理模拟。

检查三:MMD 物理参数全局值

菜单 → 设置 → 物理演算:

参数正常值
重力9.8(地球标准)
空气阻力0.002
物理步进3(普通)或 5-6(高速)
物理子步1(默认)

如果这些值被意外改动了 → 物理就会乱。

PMX Editor 里调刚体(核心)

打开 PMX Editor

  1. 下载 PMX Editor(社区标配,几 MB)
  2. 打开有穿模问题的 .pmx 模型
  3. 切到右侧「刚体」标签

刚体关键属性

属性类型对穿模的影响
关联骨骼--刚体跟随哪根骨骼——错了刚体就乱跑
形状球/方块/胶囊胶囊体适合头发,方块适合裙摆
半径/尺寸数值最关键——太大就重叠,太小就挡不住
类型Dynamic/Kinematic穿模问题几乎只在 Dynamic 之间
碰撞组数字控制哪些刚体互相碰撞
摩擦0-1太低会滑穿
弹性0-1太高会反弹导致穿模

碰撞组设置规则

Bullet 物理引擎用碰撞组控制碰撞关系:

常用碰撞组分配建议

碰撞组内容碰撞行为
0身体(头/躯干/四肢)和所有组碰撞
1头部刚体和身体、头发碰撞
2头发根和头碰撞
3头发中段/梢不和其他头发碰撞(丝之间不该卡)
4裙摆上半和腿碰撞
5裙摆下半和腿碰撞,和上半碰撞
6配饰和身体碰撞

关键:头发丝之间不要互相碰撞——否则头发会"粘在一起"像一坨钢丝。每根头发的动力学刚体和相邻头发分在不同碰撞组。

四种穿模的针对性修复

问题一:头发穿过头

原因:头发根部的动力学刚体体积太大,和头部运动学刚体重叠。

修复:

1. PMX Editor → 找到所有头发根刚体
2. 缩小它们的半径/尺寸(从比如 0.1 缩到 0.05)
3. 如果还穿 → 找到头部运动学刚体,也缩小一点
4. 保存 → 回到 MMD 测试

更彻底的修复:把头发根刚体设为运动学(和头部骨骼直接绑定,不参与物理),只有头发中段和梢用动力学。

问题二:头发互相卡住

原因:所有头发刚体在同一碰撞组,互相碰撞。

修复:

1. PMX Editor → 刚体标签
2. 把头发刚体分成两组(奇数编号和偶数编号)
3. 设置碰撞组:头发组1和头发组2 → 不互相碰撞
4. 头发组都和头、身体碰撞(防止头发穿进身体)

问题三:裙摆穿过腿

原因:腿部运动学刚体太大,或者裙摆动力学刚体没和腿正确碰撞。

修复:

1. PMX Editor → 找到腿部运动学刚体
2. 缩小腿部刚体的半径/尺寸(不要把整个腿包住)
3. 确保裙摆动力学刚体和腿部在同一碰撞组(或正确设置碰撞)
4. 如果裙摆是多层 → 确保内层和外层的碰撞组设置正确

问题四:物理飞天

原因:头发/裙摆被甩出去后,物理引擎算不回来。

修复:

1. PMX Editor → 找到飞上天的刚体的约束
2. 增大约束的弹簧系数(Stiffness) → 让头发有"弹回来"的力
3. 增大约束的阻尼(Damper) → 减少过度震荡
4. 或在 MMD 全局设置里增加空气阻力

约束也很重要

PMX Editor 切到「约束」标签,每个关节连接的约束参数:

属性说明默认
约束类型Fixed / Hinge / SpringSpring(最灵活)
弹簧系数抵抗变形的力0.1(头发)/ 0.5(裙摆)
阻尼抑制振动0.05(头发)/ 0.1(裙摆)
允许角度关节能弯多少度头发:±60°,膝:0°-90°

穿模时可以做的:增大弹簧系数 → 刚体更"硬" → 不容易被挤变形。

快速改善的"懒人方案"

方案一:PMX Editor 一键修复(部分模型)

部分 PMX Editor 版本有「物理修复」功能——自动重新分配碰撞组。如果你的版本有这个按钮,先点一下再手动微调。

方案二:换物理口碑好的模型

社区配布者在 README 里常提到:

找"物理调整済み"的模型能省一半事。

方案三:物理烘焙(终极方案)

如果调了半天还是穿模:

  1. 物理开着播放一遍 → 物理算出一版效果
  2. 物理烘焙到关键帧 → 固化下来
  3. 关掉物理开关 → 不再重新计算
  4. 渲染时用烘焙好的物理结果

物理烘焙是"定版"操作——烘焙后物理结果就固定了,不再实时模拟。但这也意味着你改不了物理效果了。

物理调优的心态