Unity - 碰撞理解



Unity 中的碰撞與實際精靈本身是分離的,作為單獨的元件附加,並獨立計算。現在讓我們瞭解其背後的原因。

所有遊戲中的內容都是遊戲物件。即使構成關卡的單個瓦片本身也是遊戲物件。

當我們將每個元件都視為遊戲物件時,我們意識到一個場景中可能存在數千個遊戲物件,它們以某種方式相互互動。您可以想象,如果 Unity 為每個遊戲物件都新增碰撞,那麼引擎為每個遊戲物件計算碰撞將是不切實際的。

我們將繼續新增一個簡單的“牆壁”,我們的玩家角色可以與之碰撞。為此,建立另一個精靈並使用矩形工具將其放大。我們還將透過精靈渲染器元件中的顏色屬性為其賦予紅色。

Color Property

現在,轉到檢查器中的新增元件,然後輸入“Box Collider 2D”。單擊顯示的第一個元件,一個新元件應該會出現。

Add Component

您將在遊戲物件的周邊看到一條亮綠色的線。這是碰撞邊界。它定義了可碰撞物件的實際形狀

對我們的可移動遊戲物件也重複相同的操作。

當然,Unity 中的碰撞不僅限於簡單的盒子。它們可以具有各種形狀和大小,並且不一定是物件引數的複製品。

Box Shaped

它們也可以採用多邊形形狀。

polygonal shapes

開發人員和設計師在碰撞邊界中使用近似形狀以簡化碰撞體並避免引擎進行不必要的計算並不少見。我們很快就會學習如何使用碰撞體建立不同的形狀和大小。

現在我們已經設定了碰撞邊界,點選播放並檢視其執行效果。

Approximate Shapes

您會注意到我們的可移動物件的行為不正常。我們將在下一章討論物件的行為。

廣告