Этот сценарий позволяет выбрать конечную точку в NavMeshсетке, которую Unity создает для аппроксимации пешеходных зон и препятствий в ваша среда для поиска пути и навигации под управлением ИИ. Подробнее
Посмотреть в Словарь, щелкнув мышью по поверхности объекта. Положение щелчка определяется с помощью raycast, что похоже на наведение лазерного луча на объект, чтобы увидеть, куда он попадает (см. страницу Лучи от камеры для полного описания этой техники). Поскольку функция GetComponent выполняется довольно медленно, сценарий сохраняет результат в переменной во время выполнения функции Start, а не вызовите его повторно в Update.
// MoveToClickPoint.cs
using UnityEngine;
using UnityEngine.AI;
public class MoveToClickPoint : MonoBehaviour {
NavMeshAgent agent;
void Start() {
agent = GetComponent();
}
void Update() {
if (Input.GetMouseButtonDown(0)) {
RaycastHit hit;
if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 100)) {
agent.destination = hit.point;
}
}
}
}
//MoveToClickPoint.js
var agent: NavMeshAgent;
function Start() {
agent = GetComponent.();
}
function Update() {
if (Input.GetMouseButtonDown(0)) {
var hit: RaycastHit;
if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), hit, 100)) {
agent.destination = hit.point;
}
}
}