Version: 5.6
public int Cast (Vector2 direction, RaycastHit2D[] results, float distance= Mathf.Infinity, bool ignoreSiblingColliders= true);

パラメーター

direction 図形を投影する方向を表すベクトル
results 結果を受け取る配列
distance 図形を投影する最大距離
ignoreSiblingColliders 同じ Rigidbody2D にアタッチされているコライダーを無視するかどうか

戻り値

int 引数の変数に結果が代入されます。

説明

コライダー自身は無視して、コライダーの位置を始点としてコライダーの形状をシーンに投影します。

この関数はコライダーの形状を元に、方向(direction)とオプションとして距離(distance)を指定してコライダーの位置からシーンに投影します。そして結果を与えられた配列(results)に代入します。 int型の返り値は results 配列に書き込まれた数です。results 配列のサイズを超えなかった場合、サイズは変わりません。この結果、メモリが割り当てられないため、 Raycast が頻繁に実行される場合にもガベージコレクションのパフォーマンスが向上します。

それに加えて、この関数は重なっている場合に Ray の始点にある他のコライダーも検知し、 Ray の始点はコライダー内部で、コライダーの表面と交差しません。これは衝突判定の法線が Ray のベクトルを逆に設定する場合、衝突判定の法線が計算できないという意味です。この問題が起こった場合、 RaycastHit2D が0になるため簡単に検知できます。


public int Cast (Vector2 direction, ContactFilter2D contactFilter, RaycastHit2D[] results, float distance= Mathf.Infinity, bool ignoreSiblingColliders= true);

パラメーター

direction 図形を投影する方向を表すベクトル
contactFilter Filter results defined by the contact filter.
results 結果を受け取る配列
distance 図形を投影する最大距離
ignoreSiblingColliders 同じ Rigidbody2D にアタッチされているコライダーを無視するかどうか

戻り値

int 引数の変数に結果が代入されます。

説明

コライダー自身は無視して、コライダーの位置を始点としてコライダーの形状をシーンに投影します。

この関数はコライダーの形状を元に、方向(direction)とオプションとして距離(distance)を指定してコライダーの位置からシーンに投影します。そして結果を与えられた配列(results)に代入します。 int型の返り値は results 配列に書き込まれた数です。results 配列のサイズを超えなかった場合、サイズは変わりません。この結果、メモリが割り当てられないため、 Raycast が頻繁に実行される場合にもガベージコレクションのパフォーマンスが向上します。

The contactFilter parameter, can filter the returned results by the options in ContactFilter2D.

それに加えて、この関数は重なっている場合に Ray の始点にある他のコライダーも検知し、 Ray の始点はコライダー内部で、コライダーの表面と交差しません。これは衝突判定の法線が Ray のベクトルを逆に設定する場合、衝突判定の法線が計算できないという意味です。この問題が起こった場合、 RaycastHit2D が0になるため簡単に検知できます。