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

スクリプト言語

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

NavMeshAgent.Raycast

Switch to Manual
public function Raycast(targetPosition: Vector3, hit: NavMeshHit): bool;

Parameters

targetPosition 期待する移動位置
hit ナビメッシュオブジェクトのヒット情報(ヒットした場合)

Returns

bool エージェントとターゲット位置との間に障害物がある場合は true、そうでない場合は false

Description

エージェントを移動させずにナビメッシュ内の目的地に向かってのパスをトレースします

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

var target: Transform;

	private var agent: NavMeshAgent;

	function Start () {
		agent = GetComponent.<NavMeshAgent>();
	}

	function Update() {
		var hit: NavMeshHit;
		
		// Note the negative test condition!
		if (!agent.Raycast(target.position, hit)) {
			// Target is "visible" from our position.
		}
	}