1. 程式人生 > >Unity5.x布料系統-為角色新增可互動的裙襬效果

Unity5.x布料系統-為角色新增可互動的裙襬效果

本文實現的效果,注意裙子會根據旋轉的方向和力度作出不同的擺動效果:


上圖是我運行了遊戲後在Scene檢視下旋轉模型時才會有的效果,如果你沒運行遊戲布料是不會動的。

需要注意的是布料系統的計算量還是挺大的,所以一般在手遊裡只會出現在選擇角色或者角色屬性介面上。

步驟:

1:為人物模型新增Cloth元件,在Component->Physics->Cloth。Unity還會自動加上Skinned Mesh Renderer元件.

2:在Skinned Mesh Renderer元件面板上,設定好Mesh和Root Bone屬性,其中Mesh即為你的模型,Root Bone就是你的模型節點(在Hierarchy檢視的節點)。

3:在Cloth元件面板上,點選Edit Constraints左邊的圖示:


進入編輯模式(注意運行遊戲中的話是編輯不了的):


因為我們的模型是人物衣服合在一起的,我們只想褲子部分才會擺動其它地方固定不動,那就在編輯模式下選中不想動的頂點,然後把Max Distance勾選並設定為0,看到頂點變了顏色就說明設定成功了。選頂點可以用滑鼠左鍵劃選一個區域,但有些面選不到時你就需要移動到模型的其它角度再劃選。

4:有了上面的步驟其實已經可以運行遊戲看效果了,但你可能會發現裙子會經常穿過腳或身體,這時你有兩種方案,一是通過設定元件或布料頂點的引數限制布料的漂動範圍(尤其是Damping引數,範圍0-1,越大就會顯得越硬越難擺動),一般比較短的裙子可能沒問題。

二是給布料元件加個碰撞器:

先給模型節點加個Capsule Collider,把該碰撞器移到模型的胯下調好大小。然後在Cloth元件面板裡把碰撞器的節點拉進去:


搞定!