1. 程式人生 > >Unity5.x Cloth布料系統

Unity5.x Cloth布料系統

Unity4中, 需要對SkinnedMeshRenderer使用SkinnedCloth, 或者對Cloth Renderer使用Interactive Cloth, 很麻煩。

在Unity5中, Cloth合二為一了.Cloth只能必須和Skinned Mesh Renderer搭配使用, 但是這不代表使用簡單的物體時還必須在Max中匯出一個帶有蒙皮信

息的FBX, 我們可以新建一個GameObject然後賦予Cloth元件, 這會自動新增Skinned Mesh Renderer元件, 然後在Skinned Mesh Renderer元件中的Mesh上賦予我們的模型體的Mesh上去並且設定正確的材質就完全可以。


布料系統的物理模擬是單向的,也就是說:布料可以接受外部影響,但完全不會將影響賦予外部剛體 。



出於效能的考慮, 可以對Cloth產生影響的Collider只有兩種, SphereCollider以及CapsuleCollider, 但是SphereCollider可以賦予兩個為一組(當然了還可以只賦予一個, 第二個保持null), 那麼通過組合這兩個SphereCollider可以出現第三種, Unity會將這組的兩個SphereCollider進行相連, 那麼就可以有圓錐形的Collider

.



按這個

按鈕來開啟編輯Constraint模式,

Max Distance可以設定每個頂點最大可移動距離. 最常用的用法是將不能動的頂點的Max Distance設定為0.

Surface Penetration控制的是頂點最大可以嵌入到Mesh裡面的程度. 在布料網格頂點比較稀疏的情況下可以明顯對比出差別. 具體是什麼概念我不太清楚. 不過將頂點的Surface Penetration設定得很低會看起來很不正常, 預設, 也就是Unconstrained應該是一個較高的值, 沒有任何問題. 不知道在什麼情況下需要將這個值設定得低一些呢? 哪位大神知道的話歡迎在本樓補充.


Visualization這裡能夠選擇當前在Scene檢視中預覽Max Distance還是Surface Penetration. (這兩者二選一), 還能選擇是否讓操作影響視口背面的頂點.



Select編輯模式要先通過框選, 或者Shift+點選來多選, 來選中頂點, 然後勾選Max Distance或者Surface Penetration前面的複選框, 代表我現在要改變選

中的頂點的值了! 然後再在後面的數值裡面輸入想要的數值就OK了, 要想將當前有數值的頂點設定為Unconstrained, 只需要選中那些帶有數值的頂點然

後將對應複選框取消勾選即可.



在Paint模式中, 這個按鈕

代表要繪製這裡設定的值了!
而這個複選框代表的意思是是否想為現在已經有值的頂點Paint成為Unconstrained的頂點.




Stretching Stiffness---拉扯硬度.

Bending Stiffness---彎曲硬度.

Use Tethers---預設開啟, 用於方式過度拉伸

Use Gravity---是否使用世界重力.

Damping---阻尼會應用於每個布料頂點. 要想打造看上去抖動更小的布料, 可以試試這個.

External Acceleration---常量外力.

Random Acceleration---隨機外力.

World Velocity Scale---與World Acceleration Scale共同組成布料的GameObject.transfrom的運動會對物理模擬造成的影響比例.

World Acceleration Scale---與World Velocity Scale共同組成布料的GameObject.transfrom的運動會對物理模擬造成的影響比例.

Friction---當布料碰到在

這個列表中存在的Collider時所產生的摩擦力, 這隻會影響布料的模擬. 上面說過了布料的物理模擬是單向的.

Collision Mass Scale---How much to increase mass of colliding particles. 這個引數我不懂, 求補充.

Use Continuous Collision---使用Continuous Collision, 增加消耗, 減少直接穿透碰撞的機率.

Use Virtual Particles---Add one virtual particle per triangle to improve collision stability.

Solver Frequency---Number of solver iterations per second. 顯然是一個優化引數, 預設120很高了, 我可以試著調低一些.

Sleep Threshold---靜止閾值.

Capsule Colliders---要對布料產生互動的膠囊碰撞體.

Sphere Colliders---要對布料產生互動的ClothSphereColliderPairs. 可以理解為他是按照一組來的, 一組中可以只有一個SphereCollider, 也可以有兩

個, 當有兩個的時候, 那麼這兩個SphereCollider會在布料的碰撞系統中被”焊接”起來. 這樣就允許通過兩個大小不同的SphereCollider來組合成一個圓錐

形狀的碰撞體了.