public static int SphereCastNonAlloc (Vector3 origin, float radius, Vector3 direction, RaycastHit[] results, float maxDistance= Mathf.Infinity, int layerMask= DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction= QueryTriggerInteraction.UseGlobal);

パラメーター

origin 球形が通過を開始する地点の中心
radius 球の半径
direction 球形の通過する方向
results 衝突情報を保存するバッファ
maxDistance スイープの最大の長さ。
layerMask レイヤーマスク はレイキャストするときに選択的に衝突を無視するために使用します。
queryTriggerInteraction トリガーに設定されているものも検索対象にするか

戻り値

int results バッファに保存された衝突情報の数

説明

球形を direction に沿って投射し、バッファに結果を保存します。

この関数は Physics.SphereCastAll の変化形ですが、検索結果を配列に割り当てる代わりにユーザーが割り当てた配列に結果を保存します。関数はバッファに収まる数の衝突情報を計算し、順序は特定せずに保存するだけです。最も近くで起こった衝突だけを保存するとは保証されていません。ゴミを発生させません。


public static int SphereCastNonAlloc (Ray ray, float radius, RaycastHit[] results, float maxDistance= Mathf.Infinity, int layerMask= DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction= QueryTriggerInteraction.UseGlobal);

パラメーター

ray レイの始点と方向
radius 球の半径
results 結果を保存するバッファ
maxDistance スイープの最大の長さ。
layerMask レイヤーマスク はレイキャストするときに選択的に衝突を無視するために使用します。
queryTriggerInteraction トリガーに設定されているものも検索対象にするか

戻り値

int results バッファに保存された衝突情報の数

説明

球形を direction に沿って投射し、バッファに結果を保存します。