言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

Physics2D.GetRayIntersectionNonAlloc

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

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

Parameters

ray テストすべき Ray を定義づける原点と方向
distance Raycast を行う最大距離
layerMask 特定レイヤーのみのコライダーを検知するフィルター
results Array to receive results.

Returns

int The number of results returned.

Description

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

これは任意の 3D の Raycast と交差するコライダーを見つけるのに役に立ちます。 この関数は GetRayIntersectionAll と似てますが、結果は引数の配列に返します。integer の戻り値には Raycast で交差したオブジェクト数(場合によってはゼロ)ですが、結果の配列に全ての結果を返すだけの要素数がなかった場合にリサイズはされません。良い点としては結果のためにメモリ割り当てはされず、呼び出しが頻繁に行なわれたときにガーベージ コレクションのパフォーマンスが改善されます。コライダーは返された配列に配置され、順序は Ray の開始地点からの距離の順に並んでいます。 この関数は返された RaycastHit2D 配列にメモリ割り当てを行ないます。 GetRayIntersectionNonAlloc を使用して、そのようなコールを頻繁に行なう必要があればこのオーバーヘッドを回避できます。 さらにこの関数は 3D 交差テストであるため RaycastHit2D で返された任意の衝突の法線はゼロとなります。