This package contains a fast, lightweight solution for local avoidance. It is developed with DOTS in mind, and as a result, it takes advantage of Unity’s latest technology stack, like SIMD mathematics, Jobs, and the Burst compiler.
This is a paid asset, but now you can download it totally free. However, please keep in mind that this package is only provided for studying or testing the product prior to purchasing it, not for business functions.
Overview :
Lightweight and highly performant local avoidance solution that can be easily integrated.
Highlights:
- With local avoidance, agents can precisely and quickly avoid dynamic obstacles without the need for pre-processing.
- It does not replace global navigation (e.g., A* Pathing Solutions), which is designed to find the most optimal path around static obstacles.
- Local avoidance It is intended to be used in conjunction with such a system in a full-scale game.
- At its core, it uses a novel solution that is heavily inspired by the Starcraft 2 game.
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