结论先说在前
即使某些 Biped 骨骼在模型上完全没有权重,也能正常导出并在游戏引擎中使用。 前提是:导出的骨架是标准的 Biped 层级(Bip01 以下的骨骼),而不是包含控制器或辅助节点。
一、为什么没权重的骨骼仍然可用
Biped 的骨架其实是一整棵层级树(Bip01 → Spine → Head → Arms → Legs ...)。 蒙皮时,只有部分骨骼被加入 Skin 修改器的 influence 列表。 但导出 FBX 时,整个骨骼层级都会导出,即使某根骨骼没有权重。 这些“空骨骼”仍然包含动画关键帧或姿势信息,引擎依然能读取并播放。
这种设计完全没问题,也是业界常规做法(例如上半身动画用 spine1~spine3,下半身不用 spine3 也不会出错)。
二、注意事项(Biped 特有)
Biped 不是传统的骨骼系统,而是一个封装的动画系统,所以有些部分要小心:
1:不要导出 Footsteps 模式
在使用 Biped 时,应该切换到 Freeform 模式(非“Footstep 模式”)。 否则 FBX 导出时会产生“动画漂移”或关键帧错乱。
2:不要导出控制器节点(如 Bip01 Footsteps、COM)
“Bip01 Footsteps” 不是骨骼,是动画控制器。 在 FBX 导出设置中应取消勾选 “Helpers”。
导出层级应类似:
code>Bip01
├── Bip01 Pelvis
│ ├── Bip01 Spine
│ │ ├── Bip01 Spine1
│ │ ├── Bip01 Spine2
│ │ └── Bip01 Neck
│ │ └── Bip01 Head
│ ├── Bip01 L Thigh
│ │ └── Bip01 L Calf
│ │ └── Bip01 L Foot
│ └── Bip01 R Thigh
│ └── Bip01 R Calf
│ └── Bip01 R Foot
</code>
上述层级中,就算某些骨骼(比如 Spine2)没影响任何顶点,也完全没问题。
三、导出 FBX 设置(非常重要)
在 3ds Max 导出 FBX 时:
设置项 |
建议 |
Geometry |
√ Deformed Models |
Animation |
√ On |
Bake Animation |
√ On(导出完整关键帧) |
Resample All |
√ On(避免Biped内部控制器丢关键帧) |
Helpers |
× Off(不导出控制器和footstep) |
Units |
Match scene units |
Axis Conversion |
Y-Up (Unity) / Z-Up (Unreal) |
Embed Media |
可选(一般不需要) |
四、导出前清理建议
Biped 自动生成的骨骼命名非常多,但有些没必要导出,可以按需求优化:
保留:所有参与动画的骨骼(躯干、四肢、头、颈)。 删除或隐藏: “Bip01 Footsteps” “Bip01 COM” “Bip01 Prop”(除非用于武器绑定)
如果只是想导出动画(而不是角色网格),也可以:
只导出 Biped(不包含 mesh),然后在引擎中重定向(Retarget)到同结构的 skeleton。
五、导出到 Unity / Unreal 时的行为
项目 |
Unity |
Unreal |
无权重骨骼 |
导入为空Joint |
导入为Bone |
动画驱动 |
可驱动(若动画曲线存在) |
可驱动 |
控制器节点(Footsteps等) |
无效,建议删除 |
无效,可能报错 |
层级匹配 |
必须完全一致 |
必须完全一致(Retarget依赖层级) |
六、总结
问题 |
答案 |
某些骨骼没有权重值能导出吗? |
可以 |
在游戏里动画还能正常驱动吗? |
能,只要骨骼层级一致 |
有风险的节点有哪些? |
Footsteps、COM、Prop、Bip Helpers |
导出时该怎么设置? |
使用FBX,关闭Helpers,Bake动画 |