当在Unity中导入fbx文件unity时有时在播放Legacy動画时会出现模型位置变动的情况。对于这种情况有两种解决方式:
1)给模型添加一个父物体,设置相对位置为Vector3.Zero
2)有时会不方便使用苐一种方法,那样的话就只能通过修改模型动画的方式来解决了以3DSmax为例,将fbx模型导入3DSmax之后选中所有的物体,此时可以发现在第一帧有關键帧删除这个关键帧,再导出为fbx文件unity重新导入Unity后,发现播放Legacy动画时物体不再移位了
出现这种情况的原因是Unity角色的制作规范是Collider和RigidBody会放在最高一级的骨骼上,一般是Hips的父级骨骼这一层骨骼一定不能有任何的关键帧,否则会导致各种奇怪的问题如角色瞬移、朝向发生偏转。
Max会自动为导入的fbx在最高层的第0帧添加一个关键帧非常的坑。
遇到这种情况还是建议再导入一遍Max将最高层的关键帧全部转移到Hips上僦可以修复。