Awesome
Flocking
Challenge mini project developed during "Self Dev Days" at Laparo.
Currently, this is a brute-force flocking model implementation. Possible upgrades are planned to do during the next "Self Dev Days". The model is more or less based on these papers:1,2, and 3.
Demos
- See YouTube Preview.
- Download build (for Windows).
- Check WebGL demo in your browser! 🔴WARNING🔴 Currently Burst is not supported for WebGL builds, maximum boids count is reduced.
Acceleration with 2d tree
Ranges queries are accelerated using Native2dTree
.
Performance comparison between brutforce approach and k-d tree can be found below.
Animated k-d tree preview on gizmos can be found below.
Dependencies
TODO
Things to consider:
- Try ECS.
-
Try WebGL build. -
Optimization: spatial hashing/quad tree. - Obstacle avoidance.
- Express forces in PBD framework.
- Additional force with respect to the defined path.
- Add random force (should prevent from boids gluing?)
Bibliography
Footnotes
-
H. Hildenbrandt, C. Carere, C.K. Hemelrijk, "Self-organized aerial displays of thousands of starlings: a model," Behavioral Ecology, 21, 6, (2010). ↩
-
C.K. Hemelrijk and H. Hildenbrandt. "Some causes of the variable shape of flocks of birds." PloS one 6.8 (2011): e22479. ↩
-
C. Hartman and B. Benes. "Autonomous boids," Computer Animation and Virtual Worlds 17.3‐4 (2006). ↩