Инициализация Nav3D

Как уже было сказано выше, все классы и методы, относящиеся к Nav3D находятся в пространстве имен Nav3D.API. Так что после импорта ассета подключите это пространство имен в игровом скрипте, из которого планируется инициализация Nav3D. using Nav3D.API;

Nav3DManager

using Nav3D.API

Next, you need to call the initialization function in the main manager.

Nav3DManager.InitNav3D(1f)

The only initialization argument float _MinBucketSize is the minimum size of cells in the pathfinding graph.

Все игровые агенты, которые будут искать путь при помощи Nav3D имеют свой размер, определяемый радиусом, который вы им задаете при создании. (Об этом будет рассказано чуть позже). Минимальный размер ячейки должен быть равен максимальному из радиусов агентов, это будет гарантировать, что агент сможет пройти по любому пути на графе. Если на сцене будут находиться агенты, радиус которых превосходит минимальный размер ячейки графа поиска, то возможны ситуации, когда агенты будут задевать препятствия на сцене. В дальнейшем мы реализуем поиск пути с учетом размера агента.

В случае попытки использования публичных методов из классов пространства Nav3D.API до инициализации Nav3DManager будет выброшено исключение Nav3DManagerNotInitializedException.

Минимальный код перед началом работы с Nav3D выглядит следующим образом:

using Nav3D.API;
using UnityEngine;

class YourGameScenario : MonoBehaviour
{
    private void Start()
    {
        Nav3DManager.InitNav3D(1f);
    }
}

Для вашего удобства в классе менеджера Nav3DManager есть свойство bool Inited, которое позволит определить из других скриптов был ли уже проинициализирован Nav3D.

Также имеется событие event Action OnNav3DInit, которое срабатывает сразу после успешной инициализации Nav3D. Подписавшись на него вы сможете выполнить какие-либо действия сразу после инициализации Nav3D.