2013年9月6日 星期五

[Unity][Mecanim] 角色處理注意事項


以下為作業上的一些紀錄。

角色輸出與輸入


  • 3ds Max的單位設置為 1 Unit = 1 Centimeters
    • 如此在不改變Asset的Scale Factor狀況下(在Asset的Import Settings中,預設為0.01),Max中的一公尺會與Unity的一公尺相等,這是最符合物理的單位設定,可避免物理運算出現奇怪的現象。
  • 讓角色在DCC Tool中面向Front View(從Front View看到的是角色的正面),如此匯入Unity後,角色的正面會與GameObject的Forward方向一致。
  • 輸出骨架模型FBX檔案時,雖然不會勾選Animation項目,但是其子項目Skins必須要是被勾選著的,否則不會帶出Skin資料(3dsMax 9)。
  • 非Biped-based角色(只由Bone/Dummy...組成的Rig)在輸出動作檔案時,需保留一個Skinned mesh一同輸出,否則會發生輸出的FBX檔沒有Root Node的狀況。
  • 骨架請勿帶有negative scale,因為目前的mechanim並不支援negative scale的blending。
  • 當你的角色的root node不是skeleton而是dummy之類的物件時,在Unity的FBX Import Settings需將Animation設置為Store in Nodes,原因尚未探究(參考
  • 物件的命名不要跟輸出的FBX檔名相同(不是Child的物件),否則會出現flagsCount >= mask.m_Count錯誤訊息,而Rig的Root Node若取名與檔名相同則會出現Look rotation viewing vector is zero錯誤訊息(參考)。
  • Twist bone的父物件必須為該部位的主要骨頭
Mechanim系統
  • 在進行FBX Import Setting的設定時,在Animation的部份要注意Root Transform的設定,勾選的項目將不會對角色產生實際的位移旋轉效果(成為假動作的狀態)。
  • 當角色的動作本身有做位移時,如果動作與動作間的Blending設定吃掉了部份的時間區段,將會喪失那個時間區段內的位移距離,可能會導致位移效果有誤差的狀況。

相關文章

沒有留言:

張貼留言