top of page
作家相片Maktia

Unity Humanoid 綁定骨架

已更新:2022年11月7日

【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次走路的動作,其實相當麻煩又花時間。

這次總算了解人類骨架 跟通用骨架的差異,相信以後可以縮短專案製作時間


18 次查看0 則留言

最新文章

查看全部

Comments


bottom of page