Procedural Generation in VFX

For most people, procedural generation means generators for roads, houses, and fences. But what if I told you it’s a great tool for creating effects?


Based on a closed spline, I generate a field with swirling trails inside. It can also work as a cylinder or a sphere.


In this asset, closed splines serve as sources for the lines.


You just need to specify the source points, and it automatically grows from them across the surface. It supports fine-tuning of all parameters in the editor: line thickness, noise frequency, target point seeds, and much more.

Looking at these examples, it’s hard to imagine that these assets fit within the budget of something like a simple grass patch. They consist of GPU instances — the first has up to 10k, the second around 20k. For anyone who’s looked under the hood of the engine, it’s obvious that up to ~40k is perfectly fine.

I’m not saying it’s free, but compared to Niagara particles it’s basically nothing. And no one is forcing us to push instance counts to infinity. Of course, you might say there’s no animation — the asset is set up in the editor and behaves like a static sculpture in-game. But I’d argue that the per-point custom data already contains all the necessary information for animation — WPO, color, and opacity — and for someone with imagination, that’s more than enough.

It’s worth noting that the illustration above shows bounding boxes. You can use anything you want. Honestly, I don’t understand why solutions like this are so rare — the possibilities here are huge. An ideal solution for effects 100 meters and beyond. Hope I managed to inspire you to try something like this. Thank you for reading.