ワールド空間単位でエージェントの目的地を設定し取得します
取得:
このエージェントの目的地の設定を返します。
• 目的地が設定されていますが、パスがまだ処理されていない場合、返される位置は以前に設定した位置に最も近い有効な NavMesh の位置になります。
• エージェントにパスや要求されたパスがない場合、 NavMesh 上のエージェントの位置を返します。
• エージェントが NavMesh に割り当てられていない (例えば シーンが NavMesh を持っていない)場合、 NavMesh は無限遠の位置を返します。
設定:
要求された目的地に最も近い有効な NavMesh の位置にエージェントを移動させることを要求します。
経路は数フレーム後まで利用可能とならない場合があることに注意してください。優れた結果を得るには pathPending を使用します。
• 有効な近くの NavMesh の位置 を検索できない(例えば シーンが NavMesh を持っていない) 場合、パスは要求されません。明示的にこのケースを処理する必要がある場合、 SetDestination を使用して戻り値をチェックします。
using UnityEngine;
[RequireComponent (typeof (NavMeshAgent))] public class FollowTarget : MonoBehaviour { public Transform target; Vector3 destination; NavMeshAgent agent;
void Start () { // Cache agent component and destination agent = GetComponent<NavMeshAgent>(); destination = agent.destination; }
void Update () { // Update destination if the target moves one unit if (Vector3.Distance (destination, target.position) > 1.0f) { destination = target.position; agent.destination = destination; } } }