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

スクリプト言語

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

NavMesh.Raycast

public static function Raycast(sourcePosition: Vector3, targetPosition: Vector3, hit: NavMeshHit, passableMask: int): bool;

Parameters

sourcePosition レイの始点
targetPosition レイの終点
hit レイを飛ばしてヒットしたオブジェクトのプロパティ情報
passableMask レイを飛ばす時に特定のマスクをかけるためにナビメッシュレイヤーを渡すことが出来る

Returns

bool ターゲット位置に辿りつく前に終点となる場合は true、そうでない場合は false

Description

ナビメッシュ上で二点間でレイを飛ばします

この関数はナビメッシュ上でレイの始点と終点の間でレイを飛ばします。 もし二点間でヒットした場合 true を返し、 \hit\ 引数にはヒットしたオブジェクトの位置や詳細情報が格納されます。 キャラクターがターゲットのオブジェクトの間に 視界を遮るものがあるか確認するために使用できます。 この関数は Physics.Raycast よりも望ましく、 理由はナビメッシュをより少ない 処理オーバーヘッドで実行できるためです。

	var target: Transform;

	function Update () {
		var hit: NavMeshHit;
		
		// Note the negative test condition! Using -1 for the mask 
		// indicates all layers are to be used.
		if (!NavMesh.Raycast(transform.position, target.position, hit, -1)) {
			// Target is "visible" from our position.
		}
	}