Version: 2020.1
言語: 日本語
public static RaycastHit2D[] RaycastAll (Vector2 origin, Vector2 direction, float distance= Mathf.Infinity, int layerMask= DefaultRaycastLayers, float minDepth= -Mathf.Infinity, float maxDepth= Mathf.Infinity);

パラメーター

origin 2D 空間上のレイの原点
direction A vector representing the direction of the ray.
distance The maximum distance over which to cast the ray.
layerMask 特定のレイヤーのコライダーのみを判別するためのフィルター
minDepth この値以上の Z 座標(深度)を持つオブジェクトのみを含みます。
maxDepth この値以下の Z 座標(深度)を持つオブジェクトのみを含みます。

戻り値

RaycastHit2D[] 投げかけた結果が返されます。

説明

Casts a ray against colliders in the Scene, returning all colliders that contact with it.

Raycast は例えるならば、空間上のある地点から特定方向へ発射されたセンサーのようなものです。センサーと接触したすべてのオブジェクトは検知され報告されます。

Raycast 関数に似ていますが、ヒットした最初のコライダーを返すだけでなく、レイに沿って接触したすべてのコライダーが返されるところが異なります。コライダーは原点からの距離順に並べられます。layerMask を使用することで特定レイヤーのオブジェクトのみ判定できます(例えば敵キャラのみヒットを判定できます)。

Raycast は視界の範囲の判定、銃弾によりターゲットの当たり判定、さらに多くのゲームシーンで役に立ちます。

Additionally, this will also detect Collider(s) at the start of the ray. In this case, the ray starts inside the Collider and doesn't intersect the Collider surface. This means that the collision normal cannot be calculated, in which case the returned collision normal is set to the inverse of the ray vector being tested. This can easily be detected because such results are always at a RaycastHit2D fraction of zero.

関連項目: LayerMask クラス、RaycastHit2D クラス、RaycastLinecastDefaultRaycastLayersIgnoreRaycastLayerraycastsHitTriggers.