origin | 2D 空間上のレイの原点 |
direction | レイの方向を示すベクトル |
distance | Raycast を行う最大距離 |
layerMask | 特定のレイヤーのコライダーのみを判別するためのフィルター |
minDepth | この値以上の Z 座標(深度)を持つオブジェクトのみを含みます。 |
maxDepth | この値以下の Z 座標(深度)を持つオブジェクトのみを含みます。 |
RaycastHit2D[] 投げかけた結果が返されます。
シーンのコライダーに対してレイを飛ばし、接触したすべてのコライダーを返します
Raycast は例えるならば、空間上のある地点から特定方向へ発射されたセンサーのようなものです。センサーと接触したすべてのオブジェクトは検知され報告されます。
Raycast 関数に似ていますが、ヒットした最初のコライダーを返すだけでなく、レイに沿って接触したすべてのコライダーが返されるところが異なります。コライダーは原点からの距離順に並べられます。layerMask を使用することで特定レイヤーのオブジェクトのみ判定できます(例えば敵キャラのみヒットを判定できます)。
Raycast は視界の範囲の判定、銃弾によりターゲットの当たり判定、さらに多くのゲームシーンで役に立ちます。
さらにこの関数は線の開始地点のコライダーを検知します。この場合線がコライダーの中で開始していてコライダーの表面と交差していません。つまり返された衝突の法線がテストする線のベクトルの反対にセットされた場合、衝突の法線が計算できません。このような結果は RaycastHit2D の 0 地点で得られるため、これを検知するのは容易です。
関連項目: LayerMask クラス、RaycastHit2D クラス、Raycast、Linecast、DefaultRaycastLayers、IgnoreRaycastLayer、raycastsHitTriggers.