Here are some of the latest tricks I have been playing around with, especially useful with Particular.
Tip: Add a ‘layer for motion’ selector for your particular emitter and make your keyframing easier.
Add an Effects>Expression Controls>Layer Control to the layer and name it ‘layerForMotion’
Add these expressions to the particular emmitter properties:
In Position XY:
try { m= effect("layerForMotion")("Layer").transform.position; [m[0],m[1]]; }catch(err){ effect("Particular")("Position XY"); }
In Position Z:
try { m= effect("layerForMotion")("Layer").transform.position; m[2]; }catch(err){ effect("Particular")("Position Z"); }
Now just select the layer that you want to control the emmitter. Be sure to convert that layer to 3D before selecting.
Tip:Adjust the amount of particles emitted based on the velocity (speed) of the emitter.
[UPDATE – also, have it stop emitting when it stops. No need to keyframe ‘0’ ]
This is helpful when you get thin or clumpy areas of particles when you are moving your emitter at various speeds.
Add the following expression to the Particular ‘particles/sec’ property:
//specify the where the motion for the emitter is coming from m=effect("layerForMotion")("Layer").transform.position //get the magnitude of the position change (ie speed) and combine with attribute value you set or keyframed length(m.velocityAtTime(time))*effect("Particular")("Particles/sec")/2000; //omit this if you don't what it to stop emitting when it stops moving if (m==0){ 0; //stop emitting if no change in position }
Now you will get a nice even stream no matter how you zip the emitter around, and it will stop emitting when standing still so no more clusters!