Usage example - Nav3D Doc

Docy Child

Пример использования

Ниже приведен пример использования объекта Path для нахождения пути между А и В

				
					using Nav3D.API;
using System;
using System.Linq;
using UnityEngine;

class YourGameScenario : MonoBehaviour
{
    #region Attributes

        Vector3[] m_FoundPath;

        #endregion

        #region Unity events

        private void Start()
        {
            Nav3DManager.OnNav3DInit += () =>
            {
                Vector3 a = new Vector3(-10, -10, -10);
                Vector3 b = new Vector3(10, 10, 10);

                FindPath(a, b, PrintPath);
            };
        }

        private void OnDrawGizmos()
        {
            if (!Application.isPlaying || !enabled)
                return;

            if (m_FoundPath != null && m_FoundPath.Any())
            {
                for (int i = 0; i < m_FoundPath.Length - 1; i++)
                    Gizmos.DrawLine(m_FoundPath[i], m_FoundPath[i + 1]);
            }
        }

        #endregion

        #region Service methods

        //your method for pathfinding from A to B
        void FindPath(Vector3 _A, Vector3 _B, Action<Vector3[]> _OnPathFound)
        {
            //create Path instance
            Path path = Nav3DPathfindingManager.PrefetchPath(_A, _B);

            //perform pathfinding from _A to _B
            path.UpdatePath(_OnSuccess: () =>
            {
                //notify that path was found
                Debug.Log("Path successfully found!");

                //invoke callback
                _OnPathFound(path.Trajectory);

                //finish work with Path instance
                path.Dispose();
            });
        }

        void PrintPath(Vector3[] _Path)
        {
            m_FoundPath = _Path;

            Debug.Log($"Path points: {string.Join(", ", m_FoundPath)}");
        }

        #endregion
}
				
			

Лог агента

Here you can copy the contents of the agent log to the clipboard by clicking the...

Debug drawing

In this section, you can visualize the agent and his nearest environment. This s...

Создание и настройка описания агента из кода

All Nav3DAgentDescription parameters configured in the description inspector c...

Nav3DManager

Nav3DManager is a helper static class. Can be useful for checking whether Nav3D ...

Nav3DInitializer

To use Nav3D in playmode, you need to initialize it. The Nav3DInitializer compon...

Nav3DObstacleLoader

To use the possibility of pre-baking obstacles on the scene in editor mode and t...

Nav3DObstacle

To manage obstacles on the scene, the Nav3DObstacle component is designed. Attac...

Сочетания препятствий

We will call obstacles with the selected processing mode “Runtime” as runtim...

Операции с препятствиями

Regardless of the obstacle processing mode, the processing procedure consists of...

Немного глубже о препятствиях

As already described above, in order for an obstacle to be taken into account du...

Nav3DAgent : Debug

The Nav3DAgent has an inspector that provides several useful functions to help w...

Nav3DAgent

As mentioned above, you can use the Nav3DAgent script as a component for your ga...

Chat Icon Close Icon
ru_RURussian