/Swarm

An example of use of compute shaders and procedural instancing.

Primary LanguageC#MIT LicenseMIT

Swarm

Swarm is an experimental project that tries to find an interesting way of utilizing the procedural instancing feature that was newly introduced in Unity 5.6.

There are two types of renderers in Swarm.

Swirling Swarm

screenshot screenshot

Swirling Swarm simulates particle motion within a divergence-free noise field and draws trace lines along it. The simulation is reset in every frame, but the noise field keeps moving slowly, so that it gives the impression that the swirls are slowly moving around and changing their shapes.

Crawling Swarm

screenshot screenshot

The basic concept of Crawling Swarm is the same to Swirling Swarm; it simulates particle motion within a noise field, but it's constrained with a distance field volume. It tries to keep distances between the particles and the object surface as low as possible. It gives the feeling that the lines are crawling around on the surface and cover it.

System Requirements

  • Unity 5.6 or later

Swarm only runs on the platforms that support compute shaders and GPU instancing.

License

MIT