Unity / Инструменты / Премиум

Local Avoidance

Просмотров: 7
Добавил: Waker
Добавлено: 23-07-2026, 10:11
Unity Version
Unity 2019.x.
Built-in
Совместим
URP
Совместим
HDRP
Совместим

Этот пакет содержит быстрое и легкое решение для локального обхода препятствий. Он разработан с учетом DOTS и использует преимущества новейшего технологического пакета Unity, такого как SIMD mathematics, Jobs и Burst compiler.

Локальный обход позволяет агенту избегать динамических препятствий с точностью, скоростью и без предварительной обработки. Однако имейте в виду, что это не заменяет глобальную навигацию (и т.д.). Решения A* Pathing предназначены для поиска наиболее оптимального пути обхода статичных препятствий. Локальное избегание предназначено для использования в дополнение к такой системе в полномасштабной игре.

В своей основе он использует новое решение, которое во многом вдохновлено игрой Starcraft 2.

Есть ли компоненты, которые я могу использовать?

Нет, вся логика разделена на единую структуру, и никакие компоненты не используются. Таким образом, обеспечивается простая интеграция в любую существующую глобальную систему поиска путей, независимо от того, является ли она OOD или DOD.

По этой причине этот пакет настоятельно рекомендуется для людей, имеющих опыт программирования, поскольку от пользователя ожидается интеграция решения в их собственную экосистему. Существуют демонстрационные версии готовых компонентов, но они приведены исключительно в качестве примеров.

Для тех, кому нужны монокомпоненты или реализация на основе ecs, вы можете проверить версию 3.0 в качестве Agents Navigation.

Что такое API?

Все решение для предотвращения ошибок содержится в единой структуре под названием SonarAvoidance. Использование структуры состоит в основном из 4 этапов: создание, добавление препятствий, определение направления обхода и очистка.

var sonar = новый гидролокатор SonarAvoidance(...)
.Вставьте гидролокатор-препятствие(...)
.Гидролокатор FindClosestDirection (отклонение от направления float3)
.Dispose()

Основные действия

Управляет навигацией в обход вогнутых препятствий
Обводит цель кругом
Избегает перемещения лицом к лицу
Точно соблюдает радиус
Предсказывает столкновения и избегает их на основе этого
Избегает только при необходимости

Зависимости

Протестировано с Unity 2019.4
Пакет com.unity.mathematics
Пакет com.unity.collections
Пакет com.unity.burst

Примечание: Сюда не входит глобальное предотвращение, которое обычно выполняется с использованием алгоритма* в структурах данных, таких как NavMesh или Grid, и предназначено для статических препятствий. Локальное предотвращение обычно используется в качестве дополнительной системы, предназначенной для динамического предотвращения препятствий.

Комментарии (0)
Минимальная длина комментария - 50 знаков. Комментарии модерируются

Похожие файлы: