Unity 2D 衝突検出

Collider2d 光線検出機能

レイキャストとキャスト機能

Raycast はレイを放出することです
Cast はコライダー全体をレイとしてキャストすることです

enable = false; 無効なケース

戻り値は、コライダーに当たったレイの数です

重なり検出機能

コライダーの範囲内にある他のコライダーを決定します。この機能の検出効率は、Raycast や Cast よりもはるかに高くなっていますただし、検出結果は Collider2d 情報のみを返し、RaycastHit2D 情報は返しません

パラメータ

  • 方向光線の方向
  • results レイが衝突したオブジェクトに関する情報
  • contactFilter コライダー フィルター (キャスト)
    デフォルト値:
    useTriggers Physics2d でのクエリの読み取りHitTriggers 構成
    layerMask 現在の Collider2d レイヤーの読み取り
  • 距離光線放出距離の
    デフォルト値:
    無限距離
  • レイヤーマスク検出レイヤーマスク (Raycast)
    デフォルト値:
    allLayer
  • ignoreSiblingColliders 現在のオブジェクトの剛体の下にあるコライダーを無視するかどうか
    デフォルト値: true true
    に設定すると、現在のコライダーに剛体がない場合、近くに剛体がないコライダーは検出されないことに注意してください。

PhysicsScene2D クラス検出機能

BoxCast CapsuleCast CircleCast Linecast Raycast およびその他の検出機能。
光線をシーンに投射し、衝突する最初の交点のみを返します。
PhysicsScene2D インスタンスは、Scene.GetPhysicsScene2D を通じて取得されます。

Physics2D クラス検出機能

さまざまな形状のレイをキャストし、Physics2D.Raycast、Physics2D.BoxCast などのレイ検出を実行します。パラメーターは、上記の Collider2d クラスのレイ検出関数に似ています。違いは、Physics2D が光線自体の形状を作成する必要があることです。

MonoBehaviour クラスの衝突検出機能

  • OnCollisionEnter2D OnCollisionStay2D OnCollisionExit2D Collider、enter、stay、exit、およびその他の機能がこれら 3 つの機能をトリガーしたい場合は、次の条件を満たしている必要があります。 1. 自分が
    コライダーであること2.相手が
    コライダーであること3.
    動的タイプの剛体であること
  • OnTriggerEnter2D OnTriggerStay2D OnTriggerExit2D
    トリガー、エンター、ステイ、エグジットなどの機能
    トリガー条件
    1. 自機または相手がトリガー
    2. 自機または相手が剛体

おすすめ

転載: blog.csdn.net/qq_27461747/article/details/128675435