MMD 舞台布景加载 — 从教室到演唱会
舞台是什么
MMD 的舞台(Stage) 就是角色表演的"场地"——教室、演唱会、街道、星空背景等。舞台可以是:
- 3D 模型布景(.x / .stl 格式的模型)
- 2D 背景图(简单的一张图)
- 两者混合(3D 舞台 + 2D 背景图 + 灯光)
舞台文件格式
3D 布景
MMD 原生支持:
- DirectX .x:最常见的 3D 模型格式(MMD 是 DirectX 9 架构的)
- STL:3D 打印用的格式(部分版本支持)
2D 背景
支持图片格式:
.bmp(原生支持).png(MME 插件扩展后支持).jpg(同上).tga(同上)
社区配布的舞台
绝大多数社区舞台是 .x 格式,打包后通常包含:
StageName.zip → 解压
├── StageName.x ← 3D 布景文件
├── StageName.pmx ← 部分是 PMX 格式(和模型一样的格式)
├── tex/ ← 贴图文件夹
└── README.txt ← 使用说明
加载方法
3D 布景(.x)
- 文件 → 载入舞台(Load Stage)
- 浏览到
UserFile/Stage/目录 - 选中
.x文件 → 打开 - 舞台出现在视口里(可能占满整个场景)
2D 背景图
- 文件 → 载入背景(Load Background)
- 选中图片文件 → 打开
- 图片填充在模型后面作为背景
拖放
直接把 .x 文件或图片拖到视口上。
舞台和模型的关系
渲染层级
舞台通常是第一个加载的(或在模型列表里排最上面),这样渲染顺序是:
- 背景(最底层)
- 舞台布景
- 角色模型
- 粒子特效(最上层)
舞台会阻挡物理
很多新手不知道——舞台布景也会参与 Bullet 物理碰撞!这意味着:
- 舞台的地板可以挡住角色的脚(不会掉进虚空)
- 舞台的墙壁可以挡住角色(不会穿墙)
- 舞台的栏杆可以挡住头发和裙摆
但如果舞台没设好碰撞,角色还是会掉下去或穿墙。
好消息:大多数社区舞台已经配好了物理碰撞。如果角色加载后"埋进地板",那就是舞台没地板碰撞——用 PMX Editor 给舞台加个大的底部刚体。
舞台的坐标原点
MMD 场景原点是 (0, 0, 0)——角色默认站在这里。好的舞台原点也放在这个位置,这样角色加载后直接站在舞台上,不需要手动移动。
如果角色"飘"起来或"埋"下去,说明舞台作者没对齐原点——平移模型调整即可。
舞台的物理设置
和模型一样,舞台也有刚体物理:
- 地面刚体:一个大的长方体覆盖舞台底部,设为运动学刚体(不自己动,但能阻挡其他刚体)
- 墙壁刚体:阻挡角色穿墙(可选)
- 障碍物:桌子、栏杆等可以让头发裙摆碰撞
关闭舞台物理
如果你不想要舞台碰撞(让角色穿墙):
- 选中舞台模型
- 关掉它的物理开关
舞台配布资源去哪找
社区舞台库
| 来源 | 类型 | 说明 |
|---|---|---|
| Niconico 配布页面 | 日本舞台 | 最丰富,各种风格都有 |
| BowlRoll | 配布中心 | 日文配布搜索 |
| GitHub(搜索 MMD Stage) | 开源配布 | 英文社区 |
| B 站专栏/视频 | 中文舞台 | 教程常附带舞台下载 |
| PMD / PMX 模型站 | 综合资源 | 模型/动作/舞台一起搜 |
配布规则
和模型一样,舞台也有配布条款——通常比模型宽松,但仍然要署名和禁止商用。
2D 背景 vs 3D 舞台
| 2D 背景 | 3D 舞台 | |
|---|---|---|
| 加载速度 | 秒级 | 取决于复杂度 |
| 物理碰撞 | 无 | 可设置 |
| 相机自由度 | 有限(只有正面视角) | 全方位环绕 |
| 真实感 | 平面感 | 立体感 |
| 社区资源 | 大量 | 大量 |
| 搭配特效 | 好 | 好,但重特效可能卡 |
建议:
- 相机只从正面拍的 MV → 2D 背景足够
- 需要全方位运镜(环绕、从天花板往下)→ 3D 舞台
- 两者混合也很常见(3D 舞台 + 2D 背景补全远景)
舞台与灯光的配合
好的舞台自带或搭配特定的灯光设置:
- 教室场景:用柔和的暖黄色照明(白天)或冷蓝色(夜景)
- 演唱会:舞台灯光特效 + 深色背景
- 星空:极深环境光 + 星光粒子特效
舞台的常见问题
| 问题 | 原因 | 解决 |
|---|---|---|
| 舞台加载后是粉色 | 贴图丢失 | 检查 tex/ 文件夹和路径 |
| 角色埋进地板 | 舞台地板没碰撞,或原点不对 | 加地板刚体 / 平移模型 |
| 相机被舞台挡住 | 3D 布景的墙壁阻挡了相机视线 | 调整相机位置,或关掉舞台的相机动画阻挡 |
| 舞台太大/太小 | 缩放比例不对 | 选中舞台 → 右键缩放 |
| 舞台加载太慢 | 面数太多 | 换简化版舞台,或用 2D 背景代替 |