Unity學(xué)習(xí)筆記 Vol.64 使用Spring Bone給角色添加頭發(fā)效果
摘要
????在游戲中,讓我們的角色擁有一頭柔順的秀發(fā),可以使角色顯得更加生動。在UnityChan模版我們可以從中借鑒Unity醬的飄逸的頭發(fā)的實現(xiàn)方法。下面我們來具體研究一下。

實現(xiàn)方法
????UnityChan頭發(fā)的實現(xiàn)主要使用了三個腳本,SpringManager,Spring Collider和Spring Bone。首先我要準(zhǔn)備一個綁定好骨骼的模型,然后將對應(yīng)的骨骼添加腳本組件。
1.將所有頭發(fā)骨骼(除去發(fā)稍的骨骼)綁定SpringBone這個腳本。

Spring Bone要綁定在骨骼所在層級中(尾級(發(fā)稍)不需要綁定)
Child 下一層骨骼(子級)
Bone Axis 骨骼的軸向(頭發(fā)的朝向,頭發(fā)都是朝Y方向產(chǎn)生)
Raduis 黃球的大小
Is Use Each Bone Force Settings勾選影響是否使用這腳本所在骨骼中的Stiffness Force和Drag Force的效果
Spring Force 受全局力量影響是值,這里只受地心引力影響
Colliders 骨骼與那些碰撞體產(chǎn)生影響
Debug 是否顯示黃球
Threshold 權(quán)重,影響動態(tài)比率
這一步,我們將頭發(fā)綁定后,還要查看綁定了SpringBone的頭發(fā)骨骼是否已經(jīng)將Child(也就是其子集)的頭發(fā)骨骼添加好,如果已經(jīng)完成,我們就可以進(jìn)行下一步。
需要注意的是,頭發(fā)最好能按部位進(jìn)行細(xì)分,比如前發(fā),側(cè)發(fā),后發(fā),也可以按左右繼續(xù)細(xì)分。頭發(fā)模型的網(wǎng)格數(shù)越高,就可以更加細(xì)致柔順的頭發(fā)效果。
2.綁定Spring Collider腳本。UnityChan項目中給她綁定了相當(dāng)多的碰撞體,我們這里簡化了一下,給模型綁定了九個碰撞體。下面是綁定骨骼及Spring Collider的設(shè)置,Radius是碰撞球體的大小。

Hips 臀部 Radius 0.1
UpperLeg.L 大腿骨骼(左)Radius 0.07
UpperLeg.R?大腿骨骼(右)Radius 0.07
UpperChest 胸骨?Radius 0.15
UpperArm.L 上臂骨(左)Radius 0.1
LowerArm.L 小臂骨(左)Radius 0.1
UpperArm.R 上臂骨(右)Radius 0.1
LowerArm.R 小臂骨(右)Radius 0.1
Locator_Head_Above(這里是空物體,綁定在Head骨骼的子集)Radius 0.12
上面的骨骼是Up個人命名方法,其他模型中可能有一些不同,但是位置基本都是一樣的(有些模型會有大腿或者胸骨等部位有少許增減)。

3.最后我們給模型添加Spring Manager腳本,這個腳本一般添加在模型的根層,我們還要將已經(jīng)綁定的SpringBone添加到Spring Manager里面。

首先,Up建議我們先將模型在Inspector中的鎖頭進(jìn)行鎖定,方便我們下面的操作。

全選后,我們將其拖到Spring Manager組件下的Spring Bones這個選項中,注意這里要搬到Spring Bones選項上。


Dynamic Ratio 動態(tài)比率
Stiffness Force 剛度
Stiffness Curve 剛度曲線
Drag Force 拉動力
Drag Curve 拖動曲線
這些參數(shù)可以影響頭發(fā)的硬度和在拖動時的力量,我們可以適當(dāng)進(jìn)行調(diào)節(jié)。
????這三個步驟完成后就可以讓角色擁有一頭飄逸的秀發(fā)了,當(dāng)然,SpringBone的效果不止于此。我們還可以利用它來制作出飄動的衣袂或者飛舞的裙擺,這需要我們設(shè)置更多的骨骼和碰撞體。具體我們可以參考UnityChan項目的設(shè)置。