天天看點

Unity5.X導入FBX檔案,播放動畫時位置變動的解決方法

當在Unity中導入FBX檔案時,有時在播放Legacy動畫時會出現模型位置變動的情況。對于這種情況,有兩種解決方式:

1)給模型添加一個父物體,設定相對位置為Vector3.Zero。

2)有時會不友善使用第一種方法,那樣的話就隻能通過修改模型動畫的方式來解決了。以3DSmax為例,将fbx模型導入3DSmax之後,選中所有的物體,此時可以發現在第一幀有關鍵幀,删除這個關鍵幀,再導出為fbx檔案,重新導入Unity後,發現播放Legacy動畫時物體不再移位了。

    出現這種情況的原因是Unity角色的制作規範是Collider和RigidBody會放在最高一級的骨骼上,一般是Hips的父級骨骼。這一層骨骼一定不能有任何的關鍵幀,否則會導緻各種奇怪的問題,如角色瞬移、朝向發生偏轉。

    老動畫系統的話有沒有關鍵幀可以在Animation視窗裡看,Mecanim動畫系統的話隻有在 Unity外部看了。

    Max會自動為導入的fbx在最高層的第0幀添加一個關鍵幀,非常的坑。

   而MB更坑,因為MB一般在Ctrl Rig上K幀,将其Bake到骨骼上的時候一定會Bake到最高層級……

   遇到這種情況還是建議再導入一遍Max,将最高層的關鍵幀全部轉移到Hips上就可以修複。

引文:https://tieba.baidu.com/p/3762873405?red_tag=1450288510