MMD 物理演算开关 — 一键让头发裙摆动起来
物理开关在哪里
MMD 的物理开关有几个层级,新手最常接触的是播放控制条上的全局物理开关——一个不起眼的小按钮,控制整个场景所有模型的物理演算是否运行。
位置:MMD 窗口最底部的播放控制条上(播放/暂停旁边)。
三种物理控制层级
层级一:全局物理开关(最常用)
播放控制条上的按钮,影响场景里所有模型:
- 开(默认):头发、裙摆、配饰自动动起来
- 关:所有动力学刚体冻结,模型的头发裙摆保持默认姿势
层级二:单模型物理开关
模型列表面板里,每个模型有自己的物理复选框。
- 关掉 → 只有这个模型不开物理
- 其他模型正常
用途:多模型场景里,让某些模型关物理以提高性能,或单独调试某个模型。
层级三:部分物理(高级)
部分版本支持"物理演算偏移"或"物理开关面板"——可以只关闭某几根骨骼的物理。比如只关头发的物理、保留裙摆的物理。
层级四:物理烘焙(一次性)
把物理模拟的结果固化成关键帧——变成"死"的动画,不再被物理引擎实时计算。
物理对性能的影响
物理演算是 MMD 实时预览时最大的性能消耗项之一:
| 场景 | 物理 | 预估 FPS |
|---|---|---|
| 1 个普通角色 | 开 | 60 |
| 3 个角色 | 开 | 30-45 |
| 3 个角色 + 复杂舞台 | 开 | 15-30 |
| 3 个角色 | 关 | 稳定 60 |
| 3 个角色 + 重特效 | 开 | 可能卡爆 |
FPS 掉得厉害时,先关物理试试。
什么时候关掉物理
场景一:手动 K 帧时
手动 K 骨骼姿势时,如果物理开着:
- 头发/裙摆会被物理拉着走,和你 K 的骨架可能冲突
- 你想摆一个夸张姿势(头发飞上天),但物理会让它掉下来
解决:K 骨架时先关物理,预览整体效果时再开物理。
场景二:性能不够时
多个模型+重特效+物理 → 电脑扛不住 → 关掉不需要的模型的物理。
场景三:精确控制需要烘焙物理
如果你的作品每一帧都要精确对应(比如和视频素材逐帧合成),物理的随机化会导致"每次播放都不一样"。
解决:物理烘焙成关键帧 → 固化 → 后续不再实时计算。
场景四:调试物理穿模
头发穿进身体了 → 关掉物理(刚体冻结)→ 在 PMX Editor 里缩小刚体 → 再开物理测试。
物理烘焙(Physics Bake)
什么是烘焙
物理模拟是"不可预测"的——同样的初始条件在不同渲染过程中可能产生略有不同的结果。烘焙就是让物理引擎跑完一遍模拟,把每一帧的结果写入关键帧。
烘焙后:
- 原来由物理驱动的刚体,变成了"由骨骼关键帧驱动"
- 动画完全确定性,每次播放一模一样
- 后续不再需要物理引擎计算(性能好)
烘焙流程
1. 打开物理开关,播放动画到完整跑完一遍
2. 菜单 → 物理演算 → 物理演算のキーフレームへのベイク(Bake)
3. 选择要烘焙的帧范围
4. 等待烘焙完成
5. 关掉物理开关(烘焙的结果已经固化)
6. 播放预览 → 物理效果还在!
烘焙前的重要检查
烘焙是破坏性操作——会覆盖原来的骨骼关键帧:
- ❌ 烘焙后之前手动 K 的关键帧(被物理影响的部位)会丢失
- ✅ 烘焙前先 Ctrl+S 存个项目备份
烘焙的典型用途
- 和真人视频逐帧合成
- 导出到外部工具(Blender、Unity)需要确定性数据
- 高质量渲染(物理烘焙 + 不实时计算 → 可以用更细的时间步长)
- 存档(烘焙后项目体积更小)
物理参数调整(进阶)
MMD 全局设置里可以调整物理模拟精度:
| 参数 | 说明 | 默认 | 建议 |
|---|---|---|---|
| 物理步进频率(Physics Step) | 每帧物理计算次数 | 3 | 高速动作调 5-6 |
| 物理子步 | 物理模拟的精度 | 1 | 有穿模时调 2-3 |
| 重力 | 重力加速度 | 9.8 | 几乎不改 |
| 空气阻力 | 空气对刚体的阻碍 | 0.002 | 改小让头发飘更远 |
调高步进频率和子步能减少穿模,但也增加计算量。先尝试缩小刚体体积,再考虑调全局参数。
物理在不同帧率下的表现
MMD 的物理模拟基于30 FPS 基准。如果你切换到 60 FPS,物理效果可能略有差异——因为每帧时间变短,但物理步进频率没变。
建议:
- K 帧时用 30 FPS,物理效果最稳定
- 如果最终输出是 60 FPS,后期在合成里补帧
物理的经典"问题"
头发穿过头
- 刚体体积太大 → PMX Editor 里缩小
- 刚体初始位置就在头部内部 → PMX Editor 里调整
头发/裙摆"飞上天"
- 物理参数问题(重力太低?)
- 刚体被甩出去后没回来 → 增加空气阻力
裙摆不停抖动
- 刚体太轻 + 碰撞太频繁
- PMX Editor 里增加刚体的摩擦力
- 或把部分动力学刚体改成运动学刚体
静止时头发还在抖
- 物理引擎永远在"找平衡"
- 增大关节约束的弹簧强度
- 或减少重力(让头发贴下来)