CC Particle World Producer and Nulls

Hey guys!
Most users I've met thus far are big fans of Trapcode Particular. If you've roamed around the net you'll notice everyone suggest as soon as you get into After Effects it's best to download it, rather than be tortured by the other particle systems. In fact some discourage you from using Particle World at all!
Well, sometimes a budget can be tricky to come across and we have to use CC Particle World. So in this post, I'm going to be showing you how to make the producer follow a Null, just like Trapcode can.

There's lots of reasons why you'd probably want to do this! For example, applying tracking data, but I think the most relevant reason would be to have more control over the position of the emitter.

If you've used Particular, you'd know there's lots of options of emitters (Layers, Lights and so on), but CC PW doesn't. In fact, it's values for the Producer's position are not in 3D space like everything else, but rather are relative values from the centre of PW!

So a centered producer has a value of [0,0,0] rather than what we'd expect as [360,240,0] in a 720x480 comp.

I found a great solution over at the Video Copilot forum that's an expression that lets you parent the position of the producer to the position of a Null object. Here's the expression:

p = thisComp.layer("Null 1").position;
d = (p - [thisComp.width/2,thisComp.height/2,0])/thisComp.width;

This would be applied to X (considering the [0]). So to have it to Y, change the [0] to [1] and Z to [2]. And you're all set.

Don't ask me to break this down because I really don't understand what's going on. All I know is, it works!

If you're having trouble copy-pasting this all the time, or have no clue how to set up expressions, you could save it as a preset (Animation > Save Animation Preset...) or you could download the preset by clicking on the image below:

(on MediaFire)
If this is your first time downloading from i2c, please read this (legal stuff)

Copy the file to Libraries > Documents > Adobe > Adobe After Effects CS5 > User Presets
May not work in older versions of AE.

The preset has an added Layer Control named "Parent to?" that lets you choose the layer the producer should follow.
It also has all the Grids & Guides already switched off.

If you're having trouble with expressions, don't forget you can download the After Effects Expressions Basics from this post for free. Don't forget to drop by and leave a comment on what you thought of it.

That's it for now. See you soon with yet another preset XD

What do you think? Drop a comment below, or like and comment on the Facebook page


  1. If you can't get the preset to work (using an older version, or Mac) then create a new Layer Control (Effect > Expression Controls) and name it to "Parent", then use this expression instead of the one above:

    p = thisComp.layer(X).transform.position;
    d = (p - [thisComp.width/2,thisComp.height/2,0])/thisComp.width;

    The try{}catch(err){value} avoids the expression from crashing when the layer control is set to none. Then just save as animation preset.


Post a Comment