Collision avoidance and perching behaviour for Boids in a Voxel game
I am currently trying to figure out how to efficiently detect collisions in combination with a boid simulation in a 3D Minecraft clone written in java.
For single entities i already implemented a box collider implementation which checks against nearby voxels, but for hundreds to thousands of boids this seems like a huge overhead. As boids tend to stick together i believe there might be a better approach than checking every single boid in the flock if it collides.
I was thinking about precomputing a signed distance field for each voxel. This could then be used by the boids to sample if they need to steer away from any obstacles. (Resulting in more of a collision avoidance).
The issue i am trying to solve is how to implement perching for boids. I would like my boids to land on the ground from time to time. I am not sure if this is even possible using only an SDF.