【Unity端】
今天做了自己的角色,也在Maya綁好骨架跟物理了,結果發現角色骨架沒辦法套用商店裡面的動作。
一查之下是要去把 模型的 Animation Type > [Generic] 改成[Humanoid]
調整 Avatar Definition >[Create From This Model],按下[Apply]
接著會出現[Configure...]的按鈕,按下後可進入骨架編輯畫面
按下[Configure...]後,應該在Inspector 會看到一個人類(正常會是綠色,紅色代表有問題)
理論上紅色部分就是有問題/掉骨架,可能是角色的服裝骨頭造成系統誤判,手動把骨頭擺在正確的位置上就好。
如果沒有骨頭可以放,就建議檢查3D是否有輸出骨架了...
目前幾次使用本系統的心得是:骨骼盡量按照Unity的製作(比如Spine 有3段)。
【問題2號】重放骨頭,也Apply,也還是呈現紅色。
尤其是手指頭那邊骨頭比較多,多放個幾次心都死了。(有的人習慣3段有的人習慣2段,系統不一定抓得準)
【解決】
最後仔細看報錯,說是「骨架重複」,更正確說法應該是「骨架名稱重複」。
左手邊有3個名稱都是"CenterSpine"的骨頭,雖然右側Avatar視窗塞的都是不同的Spine,但Unity可能沒辦法很好的分辨他們誰是誰。(把spine放進去人會變綠色,但apply後還是會報錯)
解決思路:
1. 直接更改左邊視窗的骨頭名稱 X錯誤,Unity內無法更改骨頭名稱
2. 回3D軟體重新對骨架命名 O正解
這部分需要回3D軟體修正骨骼名稱,並重新輸出再放到unity測試。
理論上,只要確認每一根骨頭(joint/bone)名稱都是獨一無二的就可以輕鬆改成[Humanoid]模式套用動作了。
【Maya】
會發生這種原因,是當初在Maya給骨架命名時,使用的是Joint labels,給骨架自動上標籤,讓Maya自動給骨架上名字。
但是像 "spine"(脊椎)或手指、Toe等比較偏「流水號」的骨頭就容易有重名。
這種現象蠻奇怪的,因為Maya是會避免重複命名會自動做流水編號的。
像這種有流水號的物件,一個個改實在太麻煩,所以Maya也有提供批量改名的方法。
Maya批量改名方法
在渲染/材質球工具藍會有個[方型icon] 將[選項 修改成Rename] 就會跟以下畫面相同
選取要改名的物件(骨頭),輸入要流水號的名字,即可完成
流水號方面有點坑,這個使用過就會懂。
之後有記得會在寫一篇這個功能的操作補充。
後記:
關於Unity人類骨架系統這個東西,以前摸了3天都搞不懂這個系統在幹麻XD
所以一直以來都是在Maya調好一套動作。
變成1個專案如果有5個會走路的角色(走路沒有風格差異)就會要做5次走路的動作,其實相當麻煩又花時間。
這次總算了解人類骨架 跟通用骨架的差異,相信以後可以縮短專案製作時間
Comments