Unity3D中的布娃娃(ragdoll)系統
阿新 • • 發佈:2018-12-16
在FPS或者TPS遊戲中,玩家死亡時會像“布娃娃”一樣死去,也就是說,角色死亡是,不會執行事先設定的動畫,而是實現自然坐下或倒地的效果,用來提升遊戲的真實性。
布娃娃系統只適用於具有Rigging的3D模型。即3D模型中必須具有“骨骼”。選擇資原始檔中的模型,在頂部選單欄中一次選擇GameObject—>3D Object—>Ragdoll,開啟Create ragdoll介面。
Create Ragdoll中需要依次連線模型的骨骼。連線時注意位置要對應。連線完成後點選Create即可完成。
布娃娃系統是以Create Ragdoll視窗中的骨骼對映資訊為基礎,以各關節為單位,新增Capsule Collider和Rigidbody元件,關節與關節之間以Character Joint元件連線。若產生的Sphere Collider不符合要求,可在骨骼結構中調整radius的大小。
布娃娃系統設定好後,在檢視檢視中取消Animation元件的勾選,Animation屬性的預設值設定為idle動畫,這樣直到動畫結束也不會出現布娃娃系統的效果。
在角色死亡或需要時,啟用布娃娃系統。通過勾選和取消個關節新增的Rigidbody元件的Is Kinematic選項即可實現這個效果。
注意:布娃娃系統對資源消耗比較大,在同一個場景中如果大量使用布娃娃系統,會導致物理引擎運算量過大而超負荷,實際使用中應進行適當的優化。