Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

NavMeshAgent.destination

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public var destination: Vector3;
public Vector3 destination;

説明

ワールド空間単位でエージェントの目的地を設定し取得します

取得:

このエージェントの目的地の設定を返します。

• 目的地が設定されていますが、パスがまだ処理されていない場合、返される位置は以前に設定した位置に最も近い有効な 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; } } }