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 with subframe Linear Interpolation

particle sim with subframe "Subdivided" Interpolation

Linear vs "Subdivided" Subframe 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.

VEX script for linear interpolation

network for 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.