public static int GetRayIntersectionNonAlloc (Ray ray, RaycastHit2D[] results, float distance= Mathf.Infinity, int layerMask= DefaultRaycastLayers);

パラメーター

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

戻り値

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

説明

Cast a 3D ray against the colliders in the Scene returning the colliders along the ray.

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

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

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