Version: 5.6

Physics2D.GetRayIntersectionNonAlloc

マニュアルに切り替える
public static int GetRayIntersectionNonAlloc (Ray ray, RaycastHit2D[] results, float distance= Mathf.Infinity, int layerMask= DefaultRaycastLayers);

パラメーター

ray テストすべき Ray を定義づける原点と方向
distance Ray を投影する最大距離
layerMask 特定レイヤーのみのコライダーを検知するフィルター
results 結果を受け取る配列

戻り値

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

説明

シーン上のコライダーに対して 3D の Raycast をして、ヒットするすべてのコライダーをすべて返します

これは任意の 3D の Raycast と交差するコライダーを見つけるのに役に立ちます。

この関数は結果が配列に返されること以外は GetRayIntersectionAll 関数と同様です。返される int 値は円形と交わるオブジェクトの数です( 0 の可能性もあります)が、オブジェクトの数が配列よりも多くとも配列の長さが変わることはありません。この仕様について重要なのは、この結果からメモリ割り当てが行われないため、頻繁に実行された場合にガベージコレクションのパフォーマンスが向上するということです。コライダーはレイの始点からの距離順で並べられます。

さらにこの関数は 3D 交差テストであるため RaycastHit2D で返された任意の衝突の法線は 0 となります。