I am currently trying to find some alogorithm for agent avoidance in 3D (or for simplicity, 2.5D could be enough).
So far, I have been using variation of RVO - "Reciprocal Collision Avoidance" (C++ implementation from http://gamma.cs.unc.edu/RVO2/). They have 2D and 3D version. However, 3D is designed for planes, so agents are kind of "flowing" in the air during avoidance.
2D version is working correctly, but only in a plane. If I elevate agent to copy terrain (set its Z-position manually), the avoidance looks sometimes weird, because the actual distance is big, but the projected distance in XY plane is small and thus result in collision.
Other algorithm derivates from RVO are similar, designed only for 2D. Before I start to "editing" my current solution, is there something created directly for purposes of 2.5D (or 3D)?