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

スクリプト言語

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

Physics2D.RaycastNonAlloc

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 RaycastNonAlloc(origin: Vector2, direction: Vector2, results: RaycastHit2D[], distance: float = Mathf.Infinity, layerMask: int = DefaultRaycastLayers, minDepth: float = -Mathf.Infinity, maxDepth: float = Mathf.Infinity): int;
public static int RaycastNonAlloc(Vector2 origin, Vector2 direction, RaycastHit2D[] results, float distance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);
public static def RaycastNonAlloc(origin as Vector2, direction as Vector2, results as RaycastHit2D[], distance as float = Mathf.Infinity, layerMask as int = DefaultRaycastLayers, minDepth as float = -Mathf.Infinity, maxDepth as float = Mathf.Infinity) as int

Parameters

minDepth この値よりも大きなZ座標(深度)にあるオブジェクトのみを含みます。
maxDepth この値よりも小さなZ座標(深度)にあるオブジェクトのみを含みます。
origin 2D 空間上の レイの 原点
direction レイの方向を示すベクトル
results Array to receive results.
distance Raycast を行う最大距離
layerMask 特定レイヤーのオブジェクトを判定するフィルター

Returns

int The number of results returned.

Description

シーンに対してレイを飛ばします

RaycastAll 関数に似ていますが、結果は引数の配列に返されるところが異なります。integer の戻り値はレイがヒットするオブジェクト数(ゼロもありえます)ですが、もし返された要素を全て格納できない場合にリサイズはされません。重要なことは、結果のためにメモリ割り当てが行なわれないために、Raycast が頻繁に実行された場合もガーベージコレクションのパフォーマンスが改善されます。 さらにこの関数は線の開始地点のコライダーを検知します。この場合線がコライダーの中で開始していてコライダーの表面と交差していません。つまり返された衝突の法線がテストする線のベクトルの反対にセットされた場合、衝突の法線が計算できません。このような結果は RaycastHit2D のゼロ地点で得られるため、これを検知するのは容易です。 See Also: LayerMask クラス, RaycastHit2D クラス, Raycast, Linecast, DefaultRaycastLayers, IgnoreRaycastLayer, raycastsHitTriggers.