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!