日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity 2d碰撞检测

發布時間:2023/12/29 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity 2d碰撞检测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

碰撞檢測

  • Collider2d 射線檢測函數
      • Raycast 與 Cast 函數
      • Overlap 檢測函數
      • 參數
    • PhysicsScene2D 類檢測函數
    • Physics2D 類檢測函數
    • MonoBehaviour 類碰撞檢測函數

Collider2d 射線檢測函數

Raycast 與 Cast 函數

Raycast 是發射一條射線
Cast 是把整個碰撞器作為射線投射出去

enable = false; 的情況下無效

返回值 是射線碰撞到碰撞器的數量

Overlap 檢測函數

判斷碰撞器范圍內的其他碰撞器。此函數的檢測效率比Raycast 與 Cast 高的多。但是檢測結果只返回Collider2d信息,沒有RaycastHit2D信息

參數

  • direction 射線方向
  • results 射線碰撞到物體的信息
  • contactFilter 碰撞器過濾 (cast)
    默認值:
    useTriggers 讀取 Physics2d中的queriesHitTriggers 配置
    layerMask 讀取當前Collider2d的層級
  • distance 射線發射距離
    默認值:
    無限距離
  • layermask 檢測的layermask (Raycast)
    默認值:
    allLayer
  • ignoreSiblingColliders 是否忽略與當前物體剛體下的碰撞器
    默認值: true
    如果設置為true,要注意的是如果當前Collider沒有剛體, 那么沒有附近剛體的Collider都將檢測不到

PhysicsScene2D 類檢測函數

BoxCast CapsuleCast CircleCast Linecast Raycast 等檢測函數。
向場景中投射射線,僅返回碰撞到的第一個交點。
PhysicsScene2D 實例 通過Scene.GetPhysicsScene2D獲取

Physics2D 類檢測函數

投射各種形狀的射線,進行射線檢測比如 Physics2D.Raycast , Physics2D.BoxCast 參數與上面 Collider2d 類中的射線檢測函數類似。區別是Physics2D需要自行創建 射線的形狀。

MonoBehaviour 類碰撞檢測函數

  • OnCollisionEnter2D OnCollisionStay2D OnCollisionExit2D碰撞器,進入,停留,退出等函數想要觸發這三個函數必須滿足以下條件
    1.自身必須是碰撞器
    2.對方必須是碰撞器
    3.自身或者對方是 Dynamic 類型的剛體
  • OnTriggerEnter2D OnTriggerStay2D OnTriggerExit2D
    觸發器,進入,停留,退出等函數
    觸發的條件
    1.自身或者對方是觸發器
    2.自身或者對方是剛體

總結

以上是生活随笔為你收集整理的Unity 2d碰撞检测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。