Страница 1 из 1

Navmeshagent поиск нескольких путей

СообщениеДобавлено: 22 май 2017, 14:04
Constantine
Как мне сделать, что бы допустим при нажатии на объект, игрок начинал к нему идти, дальше кликнул на другой объект, и перешел с этого на другой объект?
Синтаксис:
Используется csharp
  public Transform target;
   private NavMeshAgent agent;
    void Start()
    {
        agent = GetComponent<NavMeshAgent>();
    }

    public void Moving()
    {
        agent.SetDestination(target.position);
   
    }

Re: Navmeshagent поиск нескольких путей

СообщениеДобавлено: 22 май 2017, 14:57
Valentinus

Re: Navmeshagent поиск нескольких путей

СообщениеДобавлено: 22 май 2017, 15:25
samana
Видимо автор темы подразумевает, чтобы агенту можно было назначить цепочку целей, как в "ферме" - клик на грядку, клик на ведро, клик на яйцо и персонаж по очереди подходит к этим объектам и что-то там делает.
Если вам там и нужно, то - делайте цепочку. Заносите в массив ваши цели, проверяйте - дошел ли агент до текущего объекта, если дошел, то переключать на другой объект из массива и тд.

Re: Navmeshagent поиск нескольких путей

СообщениеДобавлено: 22 май 2017, 15:27
Constantine
samana писал(а):Видимо автор темы подразумевает, чтобы агенту можно было назначить цепочку целей, как в "ферме" - клик на грядку, клик на ведро, клик на яйцо и персонаж по очереди подходит к этим объектам и что-то там делает.
Если вам там и нужно, то - делайте цепочку. Заносите в массив ваши цели, проверяйте - дошел ли агент до текущего объекта, если дошел, то переключать на другой объект из массива и тд.

Именно это я и имею ввиду, не подскажете как проверить дошел ли объект к цели?

Re: Navmeshagent поиск нескольких путей

СообщениеДобавлено: 22 май 2017, 15:31
MANMANA
В уроках от Юнити есть патрулирование.
Точки патрулирования могут задаваться вручную, кликом или скриптом.

Re: Navmeshagent поиск нескольких путей

СообщениеДобавлено: 22 май 2017, 15:35
samana
Насколько я помню, там есть какие-то специальные методы
https://docs.unity3d.com/ScriptReferenc ... sPath.html - возвращает true если агент имеет путь и идёт по нему, иначе возвращает false.
Но так же можно попробовать вручную измерять расстояние агента до цели и если оно меньше заданного порога, то засчитывать "финиш".
Вот выше про патрулирование посоветовали, я этот урок не видел, возможно он действительно вам всё наглядно покажет.

Re: Navmeshagent поиск нескольких путей

СообщениеДобавлено: 22 май 2017, 15:36
Constantine
Попробую, спасибо за помощь! :)