iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0

今天稍微介紹一下遊戲裡常用的物理性質:碰撞:
在 Unity 中,碰撞器 (Colliders) 是附加在遊戲物件上的元件,負責定義物件的物理邊界。collider決定物件之間如何進行物理交互,比如檢測碰撞或觸發事件。然而,collider本身不進行物理計算,它們只是定義了物體的邊界。
https://ithelp.ithome.com.tw/upload/images/20240927/201694776BzgXDdTHK.png
以下是關鍵概念的簡介:

  1. collider的類型:
    Box Collider: 定義一個方形的邊界。
    Sphere Collide: 定義一個球形的邊界。
    Mesh Collider 使用網格形狀來定義複雜的邊界。
    不過Mesh collider通常運算複雜,所以比較常用 Box 和Sphere

  2. 碰撞檢測:
    當兩個collider的邊界重疊時,就會發生碰撞檢測。這可以引發物理反應(如彈跳)或僅僅是事件觸發。

Unity 提供了三個主要的方法來處理碰撞檢測:

OnCollisionEnter:當物件的collider第一次與另一個物件的碰撞器接觸時調用。
OnCollisionStay:當兩個collider持續接觸時調用。
OnCollisionExit:當碰撞結束並且兩個collider停止接觸時調用。
這些方法通常會傳遞一個 Collision 物件作為參數,該物件提供有關碰撞的詳細資訊,比如接觸點和發生碰撞的物件。

  1. 觸發檢測:
    觸發器 (Triggers) 是設置為觸發模式的collider,它們不會產生物理反應(如碰撞),而是可以檢測到物件何時進入、停留或離開它們的邊界。

相關的方法有:

OnTriggerEnter:當一個碰撞器進入被設為觸發器的碰撞器範圍時調用。
OnTriggerStay:當另一個碰撞器持續位於觸發器範圍內時調用。
OnTriggerExit:當另一個碰撞器離開觸發器範圍時調用。
https://ithelp.ithome.com.tw/upload/images/20240927/20169477bT2es9A9z4.png


上一篇
Day12:Layers和Tags介紹
下一篇
Day14:射線RayCast
系列文
Unity操作環境新手之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言