Create the Path:
Create → Polygon Primitives → Helix → increase cools, height, width
→
In Animation tab, Deform → Lattice (for taper look) → R click, Lattice Point → select all bottom points, scale down
→ Edit → Delete by type → History
→ Select Edge mode → double click on the edge
→ In Modelling tab, Curve → Duplicate Surface Curves (will create various individual edges in Outliner) → Attach (a attachedCurve created in Otuliner) → move it next to the helix → delete all indivdual edges and original helix layers
i.e. rename the attached cruve as Path, so helix path is created
Create Emitter:
In FX tab, nParticles → Create Options → Cloud (optional)
→
Create Emitter box → Edit, Reset setting → Rate 500 → Create
Create a group on nEmitter layer formed in Outliner, rename as emitter Grp
→
In Nucleus1 layer, attribute, Gravity: 0
In Emitter1, particleshape → Dynamic Properties, make sure Ignore Solver Gravity is ticked
Select the helix Path and Emitter Grp layers → go to Animation tab → Constraint → Motion Path → Attach to Motion Path
Go to Emiiter1 layer → ParticleShape menu → Lifespan → Random range, lifespan 2, Lifespan random 1.5
Can also vary Particle size, Shading (change color, opacity), Dynamic Properties, Conserve 0.95
In FX, Field → Turbulence