NEIL的Unity學習筆記(4) - 3DSMAX biped 在unity混合動畫設定與注意事項

3DSMAX biped unity混合動畫設定與注意事項

好久沒有更新unity筆記了,因為之前都在不務正業,哈哈哈。

最近又一個人完成了一款作品《3Braves》
 

當中混合動畫的運用忙了好一陣子才搞懂。

如果你製作的遊戲中沒有特別需要編輯骨架的位移的話,又或者你是使用自組骨架的話,那這篇你大概不太需要看下去了。因為unityanimation mask的運用上已經非常非常簡單。步驟如下
1.新增animation mask,import模型骨架資料並勾選你需要的bones.
2.Animator介面中新增layer,載入animation mask,設定weight1.
Done.非常簡單。

接下來的部份就是適合「需要編輯骨架的數值」的情況。
首先我要說明白,這裡只有帶出一些思考方向,並沒有提供全面的解決方法,很多時候你必需要靠你自己找到解決方法。

首先我們先從3DS MAX 的骨架設定說明。
 
unity中,01的位置與整個模型的位移綁定在一起,如果1轉了90度,那整個模型也轉了90度,所以1是不能有任何動畫。
2也不能有動畫,因為我們將會在2寫入要位移的數值,在我的例子中就是旋轉的數值,原因是如果在有動畫的2上作出旋轉的編輯的話,會影響到手部和頭的動作在unity中產生不到位的情況。簡單說就是會影響原來的動畫設定,除非你在 2 上沒有設定位移,則沒有影響。
所以你只能在3以上的骨架編輯動畫,而需要保留最下的兩節spine來制定混合動畫。

之後把模型在unity中載入,按照上面的步驟設定即可。
那如何利用程式控制骨架呢?如下
//首先指定骨架物件
Public GamObject spine;//在場中把需要轉動的骨架拉進來

//控制骨架Y軸旋轉
 spine.transform.eulerAngles=new Vector3(0,lookBox.transform.rotation.eulerAngles.y,-90);
//這裡的lookBox是我另外加設的一個參考物, 實際的Vector3數值需要自己實地測試

大概就是這樣。


如有不明白的地方歡迎發問,也歡迎其他開發者提供更好的方法。

留言

這個網誌中的熱門文章

21-5-2021 時空之門CrossGate/魔力寶貝 主線 劇情 - 4000年輪迴的終結

2020-6-19 《XENOBLADE異度神劍》- 善意地阻止你踩雷

2019-10-21 《Dragon Quest勇者鬥惡龍XI S》 評測 - 平淡而完滿