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

パラメーター

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

戻り値

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

説明

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

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

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

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

Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961