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

スクリプト言語

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

Physics2D.Linecast

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 Linecast(start: Vector2, end: Vector2, layerMask: int = DefaultRaycastLayers, minDepth: float = -Mathf.Infinity, maxDepth: float = Mathf.Infinity): RaycastHit2D;
public static RaycastHit2D Linecast(Vector2 start, Vector2 end, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);
public static def Linecast(start as Vector2, end as Vector2, layerMask as int = DefaultRaycastLayers, minDepth as float = -Mathf.Infinity, maxDepth as float = Mathf.Infinity) as RaycastHit2D

Parameters

start ワールド座標での線の開始地点
end ワールド座標での線の終了地点
layerMask 特定のレイヤーのコライダのみを判別するためのフィルター
minDepth この値よりも大きなZ座標(深度)にあるオブジェクトのみを含みます。
maxDepth この値よりも小さなZ座標(深度)にあるオブジェクトのみを含みます。

Returns

RaycastHit2D 投げかけた結果が返されます。

Description

シーン上のコライダーに対して線がヒットするか調べます

Linecast とはワールド座標上の二点間に張った仮想の線です。このセンサーと接触した任意オブジェクトを検知して報告することができます。 Raycast と似ていますが、この場合は原点と方向で線を指定します。 この関数は線がシーン上のコライダーと接触したとき RaycastHit2D を返します。 layerMask は Linecast するときに特定のレイヤーのみ選択的に接触を検知するために使用します(例えば敵キャラクターの場合のみ検知する、など)。線の向きは開始地点から終了地点とみなされます。その向きにおいて最初に検知されてコライダーのみが報告されます。 Z 軸は 2D で衝突を検知するにあたって無関係ですが、 minDepth および maxDepth 引数を使用して Z 座標に基づいてオブジェクトをフィルタリングできます。 Linecast は視界の範囲の判定、銃弾によりターゲットの当たり判定、さらに多くのゲーム シーンで役に立ちます。 この関数は返された RaycastHit2D 配列にメモリ割り当てを行ないます。 LinecastNonAlloc を使用して、そのようなコールを頻繁に行なう必要があればこのオーバーヘッドを回避できます。 さらにこの関数は線の開始地点のコライダーを検知します。この場合線がコライダーの中で開始していてコライダーの表面と交差していません。つまり返された衝突の法線がテストする線のベクトルの反対にセットされた場合、衝突の法線が計算できません。このような結果は RaycastHit2D のゼロ地点で得られるため、これを検知するのは容易です。 See Also: LayerMask クラス, RaycastHit2D クラス, LinecastAll, LinecastNonAlloc, DefaultRaycastLayers, IgnoreRaycastLayer, raycastsHitTriggers.