I decided I wanted to see how close I could come to simulating this phenomenon with code with a focus on interactive framerates and eventually porting it to work with the Oculus VR headset. I commissioned a model of a Bigeye Trevally and worked on trying to get a flocking system that would form a stable vortex.
The final project featured several thousand fish and single shark. The fish would attempt to form the toroidal bait ball and in the VR version, you are able to stand in the center and look up through the toroid towards the surface of the ocean. The fish are aware of your position in their 3D world and respond accordingly by treating you as a low-threat predator. This prevents the fish travelling through the camera and clipping the geo. The experience is surprisingly relaxing, but that calm is randomly broken up by the occasional passing of the lazy shark.