Unity3DInRus

CreatingNavMeshAgent

Создание агента NavMesh

 

Итак, у вас есть NavMesh, запеченный для вашего уровня, теперь настало время создать персонажа, который может ориентироваться и перемещаться по сцене Мы собираемся построить наш прототип агента из цилиндра и привести его в движение. Хорошо будет использовать для этого компонент NavMesh Agent и простой скрипт.

Для начала давайте создадим нашего персонажа:

  1. Создайте цилиндрGameObject > 3D Object > Cylinder.
  2. Размеры цилиндра по умолчанию (высота 2 и радиус 0.5) хорошо подойдут для человекообразного агента, поэтому мы оставим все как есть.
  3. Добавьте компонент NavMesh AgentComponent > Navigation > NavMesh Agent.

Теперь у вас есть простой агент, готовый к приёму команд!

Когда вы начнете экспериментировать с NavMesh Agent, вы скорее всего соберетесь настроить значения размера и скорости вашего персонажа.

Компонент NavMesh Agent и управляет поиском пути, и контролирует передвижение персонажа. В своих сценариях навигация может быть такой же простой как и установка желаемого пункта назначения - NavMesh Agent может управлять всем изнутри.

       // MoveTo.cs

using UnityEngine;
using System.Collections;

public class MoveTo : MonoBehaviour {

public Transform goal;

void Start () {
NavMeshAgent agent = GetComponent<NavMeshAgent>();
agent.destination = goal.position;
}
}

Далее нам нужно написать простой сценарий, который позволит вам отправить вашего персонажа в пункт назначения, определённый другим игровым объектом, и создать сферу, которая будет представлять пункт назначения:

  1. Создайте новый сценарий C# (MoveTo.cs) and replace its contents with the above script. и заменил его содержимое сценарием, находящимся выше.
  2. Назначте сценарий MoveTo вашему только что созданному персонажу.
  3. Создайте сферу, это будет пункт назначения, куда будет двигаться агент.
  4. Переместите сферу от персонажа к месту, находящемуся рядом с поверхностью NavMesh.
  5. Выберите персонажа, найдите сценарий MoveTo и назначьте свойству Goal нашу сферу.
  6. Нажмите Play; вы должны увидеть агента, который движется к местоположению сферы.

Чтобы подвести итог, в вашем сценарии вам необходимо получить ссылку на компонент NavMesh Agent и затем чтобы привести агента в движение вам просто нужно задать позицию в его свойстве destination. В разделе "Навигация. Как сделать" даёт вам дополнительные примеры того, как решать общие игровые задачи с NavMesh Agent.

Сегодня были уже 1 посетителей (2 хитов) здесь!
Этот сайт был создан бесплатно с помощью homepage-konstruktor.ru. Хотите тоже свой сайт?
Зарегистрироваться бесплатно