start | ワールド座標での線の開始地点 |
end | ワールド座標での線の終了地点 |
layerMask | 特定のレイヤーのコライダのみを判別するためのフィルター |
minDepth | この値よりも大きなZ座標(深度)にあるオブジェクトのみを含みます。 |
maxDepth | この値よりも小さなZ座標(深度)にあるオブジェクトのみを含みます。 |
RaycastHit2D 投げかけた結果が返されます。
シーン上のコライダーに対して線がヒットするか調べます
Linecast とはワールド座標上の二点間に張った仮想の線です。このセンサーと接触した任意オブジェクトを検知して報告することができます。 Raycast と似ていますが、この場合は原点と方向で線を指定します。 この関数は線がシーン上のコライダーと接触したとき RaycastHit2D を返します。 layerMask は Linecast するときに特定のレイヤーのみ選択的に接触を検知するために使用します(例えば敵キャラクターの場合のみ検知する、など)。線の向きは開始地点から終了地点とみなされます。その向きにおいて最初に検知されてコライダーのみが報告されます。 Z 軸は 2D で衝突を検知するにあたって無関係ですが、 minDepth および maxDepth 引数を使用して Z 座標に基づいてオブジェクトをフィルタリングできます。 Linecast は視界の範囲の判定、銃弾によりターゲットの当たり判定、さらに多くのゲーム シーンで役に立ちます。 この関数は返された RaycastHit2D 配列にメモリ割り当てを行ないます。 LinecastNonAlloc を使用して、そのようなコールを頻繁に行なう必要があればこのオーバーヘッドを回避できます。 さらにこの関数は線の開始地点のコライダーを検知します。この場合線がコライダーの中で開始していてコライダーの表面と交差していません。つまり返された衝突の法線がテストする線のベクトルの反対にセットされた場合、衝突の法線が計算できません。このような結果は RaycastHit2D のゼロ地点で得られるため、これを検知するのは容易です。 See Also: LayerMask クラス, RaycastHit2D クラス, LinecastAll, LinecastNonAlloc, DefaultRaycastLayers, IgnoreRaycastLayer, raycastsHitTriggers.