Этот сценарий позволяет выбрать конечную точку в NavMeshсетке, которую Unity создает для аппроксимации пешеходных зон и препятствий в ваша среда для поиска пути и навигации под управлением ИИ. Подробнее
Посмотреть в Словарь, щелкнув мышью по поверхности объекта. Положение щелчка определяется с помощью raycast, что похоже на наведение лазерного луча на объект, чтобы увидеть, куда он попадает (см. страницу Лучи от камеры a> для полного описания этой техники). Поскольку функция 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;
}
}
}