游戲原型系列 vol.6 使用Animation Rigging(動(dòng)畫綁定)
摘要
動(dòng)畫綁定是開發(fā)過程中的一種專門技術(shù)。創(chuàng)建動(dòng)畫綁定是一個(gè)非常耗時(shí)的過程,有時(shí)需要幾個(gè)人來創(chuàng)建滿足項(xiàng)目所有需求的裝備。使用Unity的動(dòng)畫綁定工具,由于這些工具的靈活性和穩(wěn)定性,減少了時(shí)間和人力。
1.簡(jiǎn)介
動(dòng)畫綁定是3D建模過程中的一種專門技術(shù)。創(chuàng)建動(dòng)畫綁定可能很耗時(shí),有時(shí)還需要幾個(gè)人的工作才能生產(chǎn)出滿足項(xiàng)目所有需求的裝備。借助Unity的“程序化動(dòng)畫綁定”工具,可以顯著減少時(shí)間和人力。
2.動(dòng)畫綁定概述
首先,從“Package Manager(程序包管理器)”安裝“Animation Rigging(動(dòng)畫綁定)”程序包。動(dòng)畫綁定包適用于Unity 2019.1及更高版本。(這些工具仍處于預(yù)覽狀態(tài),可能會(huì)隨著添加更新而改變。)

動(dòng)畫綁定包提供了綁定約束庫,可用于在運(yùn)行時(shí)創(chuàng)建過程運(yùn)動(dòng)。這通常稱為“runtime rigging(運(yùn)行時(shí)綁定)”。約束是在稱為裝備的組中進(jìn)行設(shè)置的,這些組在分配給資源的動(dòng)畫師Root的裝備生成器組件中組裝。這使用戶可以在游戲過程中使用動(dòng)畫骨骼來完成強(qiáng)大的功能,例如世界互動(dòng)。動(dòng)畫綁定工具可以使用程序控制的骨骼來幫助創(chuàng)建更高品質(zhì)的綁定,該骨骼可以幫助修正蒙皮網(wǎng)格物體角色的肩膀和手腕的扭曲?;谖锢淼募s束可用于角色裝備上的動(dòng)態(tài)輔助運(yùn)動(dòng)。

3.設(shè)置Rig Builder(綁定制造器)
首先,將帶有Animator組件的Rig Builder組件添加到GameObject中。通常,這是綁定層次結(jié)構(gòu)中最頂層的變換。
接下來,創(chuàng)建一個(gè)新的子GameObject并添加Rig組件。
最后,將rig分配到Animator根上Rig Builder組件中的“ Rig Layers”列表中(圖03 )。

至此,您將創(chuàng)建最基本的綁定。下一步將是添加約束以獲得所需的行為。為了使設(shè)置約束更加容易,建議您設(shè)置“Bone Renderers(骨骼渲染器)”和“Rig Effectors(綁定效果器)”。
4.Bone Renderer(骨骼渲染器)
為了在Unity編輯器中使用綁定,它有助于在“場(chǎng)景”視圖中查看骨架并與之交互?,F(xiàn)在,我們有了Bone Renderer組件(圖04 ),它使您可以添加一個(gè)轉(zhuǎn)換列表并以各種視覺樣式顯示它們。

圖04:Bone Renderer組件
它通常有助于使用多個(gè)Bone Renderer組件來組織骨骼的各個(gè)部分。例如,角色的身體,手指和扭曲骨頭可以具有多個(gè)骨骼渲染器組件,每個(gè)組件都有自己的顯示樣式。這有助于簡(jiǎn)化不同的藝術(shù)家工作流程,例如綁定設(shè)置,關(guān)鍵幀或游戲調(diào)試。
5.Rig Effectors(綁定效果器)
與骨骼類似,綁定效果器允許用戶將Gizmos添加到變換中以進(jìn)行可視化和選擇。這些可以添加到與“Rig Builder(綁定生成器)”或“Rig(綁定)”組件相同層次結(jié)構(gòu)中的任何變換中。效應(yīng)器在“游戲”視圖中不可見。添加了特殊的“場(chǎng)景視圖”疊加層,以在“綁定”層次結(jié)構(gòu)中管理和自定義效果器(圖05 )。

效果器的外觀也可以自定義??梢孕薷男Ч鞯某叽纾螤?,顏色,偏移位置和偏移旋轉(zhuǎn)。形狀可以是項(xiàng)目中可用的任何Mesh資源??梢砸淮蝿?chuàng)建,刪除和編輯多個(gè)效應(yīng)器。
6.使用Rig Constraints(綁定約束)
綁定約束是用于在運(yùn)行時(shí)組裝綁定并產(chǎn)生程序運(yùn)動(dòng)的構(gòu)造塊。它們被設(shè)計(jì)為模塊化和通用的,因此可以通過多種不同方式組合起來,以解決運(yùn)行時(shí)動(dòng)畫游戲設(shè)計(jì)的需求。
以下是與軟件包一起發(fā)布的綁定約束列表(圖06 )。

7.設(shè)置兩個(gè)骨骼的IK約束
大多數(shù)角色綁定中都使用“兩骨骼IK約束”,以允許角色的四肢通過逆運(yùn)動(dòng)學(xué)來驅(qū)動(dòng)。這樣就可以根據(jù)IK目標(biāo)的位置和運(yùn)動(dòng)來解決角色肢體的位置和旋轉(zhuǎn)。在以下示例中,我們將為角色的手臂設(shè)置“兩個(gè)骨骼IK約束”。
首先,將角色重置為“綁定姿勢(shì)”。這可以使裝配過程更加容易。為此,請(qǐng)?jiān)诓藛螜谥袉螕簟皠?dòng)畫綁定”,然后選擇“恢復(fù)綁定姿勢(shì)”(圖07 )。使用“還原綁定姿勢(shì)”時(shí),請(qǐng)確保已選擇角色。

接下來,添加稱為角色游戲?qū)ο笠韵碌淖佑螒蛭矬wCharacterRig 。
在CharacterRig下面添加一個(gè)名為Right Arm IK 的子GameObject 。
在Right Arm IK下添加兩個(gè)子GameObject:
?將第一個(gè)命名為RH IK Target。
?命名第二個(gè)RH IK Hint(圖08 )。

將Rig Builder組件添加到Animator根GameObject(在此示例中,它稱為Ninja)(圖09 )
?請(qǐng)注意,“Rig Layer(綁定層列表)”為空。這是我們將添加綁定的地方。

選擇CharacterRig GameObject并添加一個(gè)Rig Component(圖10 )。
?這將用作全局綁定,允許用戶打開和關(guān)閉整個(gè)綁定。


選擇“ RH IK Target”并添加一個(gè)Box Effector。
?更改Color和Size參數(shù)以適合您的樣式和需求(圖12 )。

請(qǐng)注意,Box Effector(盒形效應(yīng)器)未與手對(duì)齊。在層次結(jié)構(gòu)中選擇Box Effector,然后按住CRTL(對(duì)于Mac為COMMAND),選擇右手。
?右手的GameObject是角色骨架中的子級(jí)。
在選擇Box Effector并選擇了右手的情況下,單擊菜單欄中的“動(dòng)畫綁定”,然后選擇“對(duì)齊變換”。Box Effector現(xiàn)在應(yīng)該與右手對(duì)齊。如果不是,請(qǐng)確保先選擇Box Effector,然后再選擇右手。

選擇“ RH IK Hint”并添加一個(gè)Ball Effector。該效應(yīng)器將控制肘部的旋轉(zhuǎn)角度。
選擇“ RH IK Hint”和“ RightElbow”,然后單擊“Animation Rigging(動(dòng)畫綁定)”>“Align Transform(對(duì)齊變換)”。
如圖所示,將球形效應(yīng)器移離肘部(圖14 )。

選擇RightArm IK GameObject并將相應(yīng)的骨骼應(yīng)用于“兩個(gè)骨骼IK約束”組件(圖15 )。
?最簡(jiǎn)單的方法是將GameObjects從“層次結(jié)構(gòu)”拖放到適當(dāng)?shù)膮?shù)槽。

選擇角色動(dòng)畫設(shè)計(jì)者根GameObject(忍者),然后將Character Rig GameObject添加到Rig Layers列表中(圖16 )。

在“場(chǎng)景視圖”中,按“播放”并移動(dòng)或旋轉(zhuǎn)“ RH IK Target”和“ RH IK Hint”游戲?qū)ο笠詼y(cè)試約束(圖17 )。

8.結(jié)論
Unity的動(dòng)畫綁定是一組功能強(qiáng)大的工具,可讓您在Unity中創(chuàng)建實(shí)時(shí)綁定。雖然此工具集通常用于角色,但可以在具有骨架和動(dòng)畫的任何GameObject上使用。嘗試為機(jī)器等對(duì)象創(chuàng)建實(shí)時(shí)綁定。