遊戲開發中的物理之布娃娃系統

2021-10-12 17:31:26 字數 1663 閱讀 2956

模擬布娃娃

從3.1版開始,godot支援布娃娃物理。ragdolls依靠物理模擬來建立逼真的程式動畫。它們在許多遊戲中用於死亡動畫。

在本教程中,我們將使用platformer3d演示來設定布娃娃。

注意

與引擎中的許多其他功能一樣,有乙個節點可以設定布娃娃:physicalbone節點。為了簡化設定,您可以physicalbone在骨架節點中生成具有「建立物理骨架」功能的節點。

在godot中開啟平台演示,然後在robi場景中開啟。選擇skeleton節點。骨架按鈕出現在頂部欄選單上:

單擊它並選擇選項。godot將為骨骼中的每個骨骼以及銷釘關節生成節點和碰撞形狀,以將它們連線在一起:create physical skeletonphysicalbone

某些生成的骨骼不是必需的:master例如骨骼。因此,我們將通過移除骨架來清理骨架。

每個physicalbone需要模擬的引擎都有效能成本,因此您想要刪除所有太小而無法在模擬中起作用的骨骼以及所有實用骨骼。

例如,如果我們採用人形生物,則您不想讓每個手指都有骨頭。您可以用一根骨頭代替整隻手,或者一根骨頭用於手掌,一根骨頭用於拇指,最後一根骨頭用於其他四個手指。

刪除這些物理的骨頭master,waist,neck,headtracker。這為我們提供了優化的骨架,並使控制布娃娃變得更加容易。

下乙個任務是調整碰撞形狀和物理骨骼的大小,以匹配每個骨骼應模擬的身體部位。

調整碰撞形狀後,布娃娃幾乎準備就緒。您只需要調整銷釘接頭即可獲得更好的模擬效果。physicalbone節點預設分配有不受約束的銷接頭。要更改銷釘接頭,請選擇physicalbone並在joint部分中更改約束型別。在那裡,您可以更改約束的方向及其限制。

這是最終結果:

()要停止模擬,請呼叫該physical_bones_stop_simulation()方法。

您還可以將模擬限制為僅幾根骨頭。為此,請將骨骼名稱作為引數傳遞。這是部分布娃娃模擬的示例:

確保正確設定碰撞層和蒙版,以免kinematicbody的膠囊不妨礙物理模擬:

有關更多資訊,請閱讀碰撞層和遮罩。

unity3d中布娃娃系統

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!關於unity3d中布娃娃系統使用的教程不多,下面是一篇比較詳細基礎的使用教程,原文如下 使用版本為unity2.5 pro 首先,將你3dsmax的角色和bipes匯出成fbx檔,設定如下即可。注意不可以有中文路徑喔否則無法正確匯出 開啟unit...

unity3d中布娃娃系統

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!關於unity3d中布娃娃系統使用的教程不多,下面是一篇比較詳細基礎的使用教程,原文如下 使用版本為unity2.5 pro 首先,將你3dsmax的角色和bipes匯出成fbx檔,設定如下即可。注意不可以有中文路徑喔否則無法正確匯出 開啟unit...

遊戲開發中的物理拋物運動

一 理解拋物線 二 拋物運動的分類 許多態別的拋物運動不僅遵循垂直運動,也遵循水平運動。也就是說,拋物運動在水平方向移動的同時,也在做垂直方向的運動。表明拋物運動包含水平和垂直兩方向的運動。在垂直運動過程中,重力作用於物體,並給與物體乙個反方向的加速度 9.8m s 地球的重力加速度 這就意味著物體...