Work in progress

The content of this page was not yet updated for Godot 4.2 and may be outdated. If you know how to improve this page or you can confirm that it's up to date, feel free to open a pull request.

使用模組

柔體(或*柔體動力學*)類比可變形物體的運動,改變形狀和其他物理功能。例如,這可以用於模擬布料或建立更逼真的角色。

基本設定

用一個 SoftBody 節點來做柔體模擬。

我們將建立一個彈性立方體來演示柔體的設定。

建立一個以 Spatial 節點為根節點的新場景。然後再建立一個 Softbody 節點。之後在 Softbody 節點的屬性面板面板中的 mesh 中新增 CubeMesh 並增加網格的細分以進行模擬。

../../_images/softbody_cube.png

設定參數以獲得您想要的柔體型別。儘量保持 ``Simulation Precision``(模擬精度)的數值高於 5,否則該柔體結構可能會瓦解。

../../_images/softbody_cube_menu.png

備註

小心處理一些參數,因為改動某些數值會導致奇怪的結果。例如,如果形狀未完全封閉並且您將壓力設定為大於 0,則柔體將如同在強風下的塑膠袋一樣飛舞。

播放該場景以查看模擬結果。

小訣竅

要改善模擬結果,可以增大 Simulation Precision,但同時會大幅度增加性能成本。

斗篷模擬

我們將在 Platformer3D 演示中製作一個斗篷。

備註

你可以在 GitHub 或`素材庫 <https://godotengine.org/asset-library/asset/125>`_上下載 Platformer3D 演示。

打開 Player 場景,新增一個 SoftBody 節點並為其指定一個 PlaneMesh

打開 PlaneMesh 屬性並設定大小(x:0.5 y:1),然後將 Subdivide Width``(寬度細分)和 ``Subdivide Depth``(深度細分)設定為 5。調整 ``SoftBody 的位置。您應該看到如下所示:

../../_images/softbody_cloak_subdivide.png

小訣竅

細分會生成更細密的網格,以便更好地進行模擬。

在骨架節點下新增 BoneAttachment 節點,然後選擇 Neck(頸部)骨骼,將斗篷附加到角色骨架。

備註

BoneAttachment 節點的作用是將物體附著到骨架的某根骨骼上。附著的物體會隨著骨骼運動,角色的武器可以通過這種方式附加。

../../_images/softbody_cloak_bone_attach.png

要建立固定的關節,選擇 SoftBody 節點上方的頂點:

../../_images/softbody_cloak_pinned.png

SoftBodyAttachments 屬性中可以找到圖釘關節,為每個被圖釘關節選擇 BoneAttachment 作為 SpatialAttachment,被圖釘關節連接到頸部。

../../_images/softbody_cloak_pinned_attach.png

最後一步,通過在 SoftBodyParent Collision Ignore 中新增動力學物體 Player 來避免裁切。

../../_images/softbody_cloak_ignore.png

播放場景,應該已經正確模擬了斗篷。

../../_images/softbody_cloak_finish.png

這涵蓋了柔體的基本設定,當你製作遊戲時,嘗試這些參數來達到你想要的效果。