Hello,
I am equally passionate about drone swarm shows and have recently explored similar techniques within Houdini to enhance the visual fluidity and precision of transitions between drone formations.
My method involves creating initial geometries, then scattering points which represent drones. To animate transitions effectively, I've developed algorithms in Python and VEX that automatically establish optimal point-to-point correspondences, allowing drones to navigate smoothly from one geometry to another.
Collision avoidance has been a critical focus of my work. I've implemented a straightforward yet robust algorithm in Python, initially accelerated significantly by leveraging CuPy, a CUDA-based library akin to NumPy, optimized specifically for GPU computing (utilizing an RTX 4090). However, recent optimizations now provide comparable performance using CPU alone. For example, determining optimal associations for 10,000 drones takes approximately 200 seconds on CPU versus 180 seconds on GPU, making GPU usage optional.
This fully procedural approach efficiently manages even substantial formations; processing a show involving approximately 2,000 drones typically requires just 40 to 50 seconds.
Here is an example showcasing my approach:
https://youtu.be/UgbsujTqCD4 [
youtu.be]