Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

NavMeshAgent.SetDestination

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public function SetDestination(target: Vector3): bool;
public bool SetDestination(Vector3 target);

Параметры

target The target point to navigate to.

Возврат значений

bool True if the destination was requested successfully, otherwise false.

Описание

Sets or updates the destination thus triggering the calculation for a new path.

Note that the path may not become available until after a few frames later. While the path is being computed, pathPending will be true. If a valid path becomes available then the agent will resume movement.

// Script to move a NavMeshAgent to the place where
// the mouse is clicked.
	private var agent: NavMeshAgent;

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

function Update () { var hit: RaycastHit;

// When the mouse is clicked... if (Input.GetMouseButtonDown(0)) { // If the click was on an object then set the agent's // destination to the point where the click occurred. var ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, hit)) { agent.SetDestination(hit.point); } } }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { private NavMeshAgent agent; void Start() { agent = GetComponent<NavMeshAgent>(); } void Update() { RaycastHit hit; if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)) agent.SetDestination(hit.point); } } }