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

パラメーター

direction Collider2D 形状をキャストする方向を示すベクトル
results 結果を受け取る配列
distance 形状をキャストする最大距離

戻り値

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

説明

Rigidbody2D にアタッチされるすべての Collider2D の形状は、各コライダーの位置で開始して、同じ Rigidbody2D にアタッチされたコライダーを無視し、シーンにキャストされます。

この関数は、Rigidbody2D にアタッチされたすべての Collider2D の形状を受け入れることができ、それらをオプションの distance の指定された direction のコライダー位置で開始するシーンにキャストし、指定した results 配列に結果を返します。int の戻り値は results 配列に書き込まれた結果の数です。ここで重要なのは、キャストがしばしば行われるときにその結果にメモリの割り当てがないので、ガーベージコレクションのパフォーマンスが向上するという点です。

さらに、この関数はコライダーの開始位置で重複する他のコライダーを検知します。この場合は、キャストする形状はコライダーの内部で開始し、コライダーの表面を横切らない場合もあります。つまり、返された衝突の法線が、テストする direction ベクトルのリバースに設定される場合は、衝突の法線が計算されません。


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

パラメーター

direction Collider2D 形状をキャストする方向を示すベクトル
contactFilter Filter results defined by the contact filter.
results 結果を受け取る配列
distance 形状をキャストする最大距離

戻り値

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

説明

Rigidbody2D にアタッチされるすべての Collider2D の形状は、各コライダーの位置で開始して、同じ Rigidbody2D にアタッチされたコライダーを無視し、シーンにキャストされます。

この関数は、Rigidbody2D にアタッチされたすべての Collider2D の形状を受け入れることができ、それらをオプションの distance の指定された direction のコライダー位置で開始するシーンにキャストし、指定した results 配列に結果を返します。int の戻り値は results 配列に書き込まれた結果の数です。ここで重要なのは、キャストがしばしば行われるときにその結果にメモリの割り当てがないので、ガーベージコレクションのパフォーマンスが向上するという点です。

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

さらに、この関数はコライダーの開始位置で重複する他のコライダーを検知します。この場合は、キャストする形状はコライダーの内部で開始し、コライダーの表面を横切らない場合もあります。つまり、返された衝突の法線が、テストする direction ベクトルのリバースに設定される場合は、衝突の法線が計算されません。