Blender角色动画导入Unity后出现下沉及旋转偏移问题求助
解决Blender角色导入Unity后的下沉与旋转问题
一、90度旋转问题解决
这是Blender与Unity坐标系差异导致的(Blender以Z轴向上,Unity以Y轴向上),按以下步骤处理:
- 在Blender中选中角色根骨骼,切换到Object Mode,按
Ctrl+A选择「Apply > Rotation」,将旋转数据应用到骨骼,确保根骨骼旋转值为(0,0,0)。 - 导出FBX时,在导出面板中:
- 勾选「Apply Transform」
- 设置「Forward」为
-Z Forward,「Up」为Y Up(完全匹配Unity坐标系)
- 导入Unity后,若不需要动画驱动角色旋转,可关闭Animator组件的Root Motion选项;若依赖根运动,检查动画剪辑的根运动曲线,确保旋转轴正确。
二、角色下沉问题解决
下沉通常是动画根骨骼位置偏移、模型原点错误或Unity组件冲突导致的,按以下步骤排查:
- 修正Blender模型原点
选中角色,切换到Object Mode,按Shift+S选择「Cursor to World Origin」,再按Ctrl+Shift+Alt+C选择「Origin to 3D Cursor」,确保模型原点位于角色脚底(与Unity地形地面对齐的位置)。 - 检查动画根骨骼位置
在Blender的Graph Editor中,查看根骨骼的Z轴(高度)曲线,确保所有动画的起始帧根骨骼位置与静止模型一致,无向下偏移。 - Unity组件调整
- 若角色带Rigidbody组件:勾选Constraints中的「Freeze Position Y」(避免重力或碰撞导致下沉),或调整Collision Detection为「Continuous Dynamic」。
- 检查Animator的Apply Root Motion:若开启该选项,动画根运动会覆盖初始位置,可尝试关闭,改用脚本控制角色位置;若需保留根运动,确认动画剪辑的Root Motion Node选择的是正确的根骨骼。
- 检查Collider组件:确保Collider的位置与模型网格对齐,避免Collider穿入地形。
- FBX导入设置优化
在Unity的FBX导入面板「Rig」标签下,设置Animation Type为「Humanoid」(人形角色),点击「Configure」打开Avatar配置窗口,确认骨骼映射正确,尤其是根骨骼的位置匹配Unity的Y轴向上。
问题参考截图
- 角色陷入地形时的状态:

- 点击播放前的角色状态:

- 角色Inspector面板参数:

内容的提问来源于stack exchange,提问作者Jappe
相关产品推荐
相关产品推荐

