今天下午遇到了个跟骨骼动画失效的问题,突然一个程序同事过来说某个模型的根骨跟动画失效了,跟骨骼不会跟着模型运动,看了看模型 动作,问了问美术,看上去都没什么问题,结果找了半天,发现是一个小小的设置导致的,突然觉得U3D对于根骨骼动画的设置很凌乱,而且散布在很多地方,某个小地方设置马虎了一下,跟骨骼就不能work了,所以列一下跟骨骼失效的时候排查的点,供以后快速解决问题:(我们的项目是把模型本身和动作分离的,即有一个模型的fbx(skin.fbx),和一堆这个模型的动作(ani.fbx),动作共享模型的avatar,使用generic方法)
1.查看模型的rig:如果采用Generic方法,Rig里面一定要看Root node设置的是否正确,如果使用generic方法,这就是每帧计算出来的赋予一个位移的根骨骼
2.查看动作的rig:看看是否共用了模型的那个avatart
3.查看动作的animation设置:在xz/Y/rotation上分别检查,Bake Into Pose不勾选即为跟骨骼公话,一般Based Upon攒则Root Node Postion
4.查看这个动作的ANimator:看看是否勾选了Apply Root Motion
5.如果没有勾选Apply Root Motion,查看这animator上是否挂载了一个OnAnimatorMove接口(自己截获根骨骼位移,自己驱动)