[Unity]FBX模型的動畫在手機上失效了

Posted by John on 2016-05-22
Words 493 and Reading Time 1 Minutes
Viewed Times

最近遇到一件很弔詭的事情,在開發遊戲的過程中一切順利,但在我Build一套測試版本在手機上執行時,他就這麼發生了:

“我3D模型的動畫在電腦上可以正常顯示,但手機上卻不見我的動畫???”

這沒道理啊?????我電腦上就看的到阿?????

接著我花了整整兩天去Debug,以下是辛酸血淚,結論在最後:

  1. 我的動畫是有用Script做SetActive的功能,也就是我會讓他在某個時機消失、某個時機出現,一開始我推測是因為這樣造成無法正常顯示,於是我直接刪去所有會影響到該Object的Script
    • 結果: 不是Script的問題
  2. 在手機上我其他的動畫是可以正常顯示的(Cube做成的動畫),於是合理懷疑是因為Fbx模型跟動畫之間有某種錯誤,開始往這方向查。

最後排除了所有人為可能造成的Bug後,我開始思考有可能是Unity版本支持的問題,手機上無法支援Animator。 Animator以及Animation兩種Component的差異,轉載自以下網站,在此節錄一名網友的回答:

animation是Unity4.0之前使用的动画系统,Animator是之后加入的新版动画系统,后者兼容前者,而前者已经不提供更新支持,所以后者是趋势。

不过animation依然可以使用,选择legacy模式就可以

所以,接下來就要把Fbx模型改成Legacy模式即可解決。

  1. 點選FBX模型的物件->Rig 將Animation Type改為”Legency”,Generation”Store in Root(New)”

1

  1. 點選右上角選單->進入Debug模式

2

  1. 點選該模型的Animation動畫->將在Debug模式下的Legency打勾

3

  1. 如果FBX物件上是用Animator,將它移除,用舊版本的Animation即可,把動畫放進去就好了

4

到此,動畫就可以正常在手機上執行摟!!


>