Curve Generation

Attach a emitter point and a direction point onto the input animation using a point deform.


The attached points will then be used to create curves based on the point's position as time progresses.


The curves can then be edited to create a more appealing shape.

Curve Editing

As previously mentioned, the curves can be art directed based on preference. Those curves then determine the paths of the simulations down the line.


This is a more extreme example of how editable these curves can be.


particle sim of linear interpolation

particle sim of subdivided interpolation

Linear vs Subdivided Interpolation

Since we may be dealing with fast animation, the points used as the source for the particle simulation are interpolated between the current frame and the previous frame. In a previous version of this setup, the points were interpolated linearly because it was quick and simple. However, it resulted in some very straight edges. To avoid that problem, a subdivided interpolation was used instead. Based on the idea found within the retime node, it was built around a sequence blend node which does subdivided interpolation.

script used for linear interpolation

network of subdivided interpolation


Sparse Pyro Sim

The particle sim is then converted into a VDB by the volume rasterize attribute node which will then be used as the source for the pyro sim. The sim itself was fairly simple and used the typical mirosolvers (turbulence, disturbance etc.)

The newer sparse pyro solver was quite quick and was not too different compared to the legacy pyro solver which made transitioning quite easy.