版本:Unity 6 (6000.0)
语言英语
  • C#

NavMeshAgent.SetDestination

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。尽管我们无法接受所有提交,但我们确实会阅读用户建议的每项更改,并在适用处做出更新。

关闭

提交失败

由于某种原因,无法提交您的建议更改。请在几分钟后</a>重试。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public bool SetDestination(Vector3 target);

参数

target 导航目标点。

返回值

bool 如果成功请求目标,则为 true,否则为 false。

描述

设置或更新目标,从而触发新路径的计算。

请注意,路径可能在几帧之后才可用。在计算路径时,pathPending 将为 true。如果出现一条可用的路径,代理将继续移动。

using UnityEngine;
using UnityEngine.AI;

public class Example : MonoBehaviour { NavMeshAgent myNavMeshAgent; void Start() { myNavMeshAgent = GetComponent<NavMeshAgent>(); }

void Update() { if (Input.GetMouseButtonDown(0)) { SetDestinationToMousePosition(); } }

void SetDestinationToMousePosition() { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)) { myNavMeshAgent.SetDestination(hit.point); } } }