unity3d 匯入動畫一幀切問題
有時候maya裡面看起來正常的動畫匯入到unity3d裡看其就有些問題
比如有些地方用一幀切過去,u3d裡看起來裡面就好像還有很多幀
看起來更平滑,就好象u3d自己插值了
其實unity並沒有插值,而是maya匯出fbx的時候動畫上沒有把幀改成step tangents模式
紅色的軸中間就是step tangents,是改過以後,這個匯入到u3d裡就是正常的一幀切
而綠色的就是預設的,但是因為maya裡預覽預設是一幀幀預覽的,所以看不出中間的插值
但是unity是一般是超過動畫k的幀率執行的,所以就能看到中間的插值幀了(interpolation)
這些可以在u3d的ctrl+6調出的animation curve模式下看出
以前是這樣的,可以看到平滑過maya裡自動插值的幀
調整後是如下顯示,每幀都單獨烘焙(就是maya裡面框選所有幀 調整到step tangents)
就是正常的
當然legacy和generic模式一樣,重點還是maya裡匯出前作的處理
另外注意fbx匯入unity後幀就不能調整了
如果是unity裡面k的幀,可以選中幀右擊選constant來取消平滑插值如下圖
還能選flat保證在幀起始位置上是平的
如果再有問題,比如匯出軟體設定之類還能產生插值問題,可以試試改成generic模式
把resample curves去掉看看,因為unity預設是重新取樣的(注意legacy沒有這個功能)
具體可以看官方人員解釋
https://forum.unity3d.com/threads/unity-animation-interpolation.454048/當然還有的時候匯入到u3d裡面的幀還是有異常,一般大量幀的時候或者旋轉有跳躍,u3d還是會一如既往的插幀,這個貌似還沒法解決,除非一段段動畫單獨匯入,但這個工作量大,還有就是貌似可以烘焙到頂點上,這樣好像就沒有插幀了
但是一般這些都看不出來,除非是用到攝像機上的動畫,在unity裡面k也是一個方法,可以避免掉插值幀,如果是輸出的輸出後手動刪幀吧