targetPosition | 期待する移動位置 |
hit | ナビメッシュオブジェクトのヒット情報(ヒットした場合) |
bool エージェントとターゲット位置との間に障害物がある場合は true、そうでない場合は false
エージェントを移動させずにナビメッシュ内の目的地に向かってのパスをトレースします
この関数によりエージェントの位置から
指定されたターゲット位置までの経路をレイでたどります。
もしレイ上で何かとヒットした場合 true を返し、
さらに
hit
引数にヒットしたオブジェクトの詳細情報が格納されます。
キャラクターがターゲットのオブジェクトの間に
視界を遮るものがあるか確認するために使用できます。
この関数は Physics.Raycast よりも望ましく、
理由はナビメッシュをより少ない処理オーバーヘッドで
実行できるためです。
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Transform target; private NavMeshAgent agent; void Start() { agent = GetComponent<NavMeshAgent>(); } void Update() { NavMeshHit hit; if (!agent.Raycast(target.position, out hit)) { } } }