Lightweight and high performant local avoidance solution that can be easily integrated.
This package contains fast lightweight solution for local avoidance. It is developed with DOTS in mind, as result it takes advantage of Unity latest technology stack like SIMD mathematics, Jobs and Burst compiler.
Local avoidance allows agent to avoid dynamic obstacles, with accuracy, speed and not requiring pre processing. However keep in mind it does not replace global navigation (etc. A* Pathing solutions) which is designed to find most optimal path around static obstacles. Local avoidance it is intended to be used in complimentary with such a system in full scale game.
At its core it uses novel solution, which is heavily inspired by Starcraft 2 game.
Is there components that I can use?
No, the whole logic is separated into single structure and no components are used. Thus allowing easy integration in any existing Global Pathing system, regardless if it’s OOD or DOD.
For this reason this package is highly recommended for people who have coding experience as it is expected from user to integrate the solution into their own ecosystem. There are component ready demos, but they are solely there as examples.
For those, who want mono components or ecs based implementation you can check version 3.0 as Agents Navigation.
What is the API?
The whole avoidance solution is contained in a single structure called SonarAvoidance. The usage of structure is composed of mainly 4 steps: construct, add obstacles, find avoidance direction and cleanup.
var sonar = new SonarAvoidance(…)
sonar.InsertObstacle(…)
sonar.FindClosestDirection(out float3 direction)
sonar.Dispose()
Key Behaviours
Manages navigation out of concave obstacles
Circles target
Avoids head to head moving
Accurately respects radius
Predicts collisions and avoids based on that
Avoids only when necessary
Dependencies
Tested with Unity 2019.4
Package com.unity.mathematics
Package com.unity.collections
Package com.unity.burst
Note: This does not include Global Avoidance which is typical archieved using A* algorithm on data structures like NavMesh or Grid and targeted for static obstacles. Local avoidance typicaly used as complimentary system for it to target dynamic obstacle avoidance.
https://assetstore.unity.com/packages/tools/behavior-ai/local-avoidance-214347
Reviews
There are no reviews yet.