Been diving into niagara scratchpad a little today, made a lil doodle inspired by kinetic wind sculptures. These are suuuper light and simple to make, but I’m interested in seeing how these shapes/movements can be incorporated into more traditional stylized effects.

Nothing too fancy - 2 half circles offset and fused into a curve - polyframe to add normals to the curve. Hexes are low res tubes copied with pscale driven by U position of curve.

These are mesh particles in a simple niagara emitter with the meat of the setup in the following scratchpad

// here we're positioning the particles evenly in a circle
// circularrot is a user parameter which adds additional rotation around the circle
// (id/numpoints) just gives us a 0-1 value for each existing particle
float angle = 3.14 * 2 * (id/numpoints) + circularrot;
pos = radius * float3(cos(angle), sin(angle), 0);
// now we need to made the particles face and rotate inwards
// as our particles are in a circle around the origin, a vector pointing to the center
// can just be their normalized position
N = normalize(pos);
// normal up vector
up = float3(0,0,1);
// vector pointing around the circle is the cross product of these two vectors
cp = cross(N, up);

this gives us something like this:

We’re just using time to offset the angle, and we can add twists around the circle by offsetting it further with our normalized particle id.

// twist is our output that gets added to our final value,
// twists is a user parameter
twist = (id/numpoints) * twists * 3.14 * 2;

We just switch out our mesh from Houdini, use our angle to offset a color ramp in the material and that’s pretty much it ¯_(ツ)_/¯