ADOBE AFTER EFFECTS: Forum Expressions Tutorials Podcasts Creative Cloud

controlling where particles are heading

COW Forums : Adobe After Effects

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
edward hancontrolling where particles are heading
by on Feb 17, 2010 at 4:08:43 am

I want to create a scene, where we see a map of the world, falling onto it are small white dots that highlight locations around the world. The dots need to be suspended in various "Z" positions so i can't use a 2d image and "Shatter" it. The problem is that there are hundreds of these locations and I can't seem to figure out how to control where the dots are heading without animating each individually.

-Ideally I could paint an image with the locations
-Generate 1 particle per location on the map, and have 1 dot fly toward 1 location at various speeds.

Can AE help me achieve this? How would I do it?

Return to posts index

Michael SzalapskiNot particles, I'm afraid
by on Feb 17, 2010 at 7:15:04 pm

Do you want them to all move together? Or do you want them at different distances and moving in at different times?

If you want them all moving together, all you have to do is place all your different dots on your globe and parent them to a null object (which would be parented to the globe) then scale the null object in all three axis. If you don't want the dots to actually scale up, you can tie their scale values to a slider effect and either write an expression that references the scale of the parent null to subtracts a certain amount from the child (I don't have time to check the maths on that) or you can just animate the slider null by hand to compensate.

If you want all the dots moving seperately...yikes. You really need hundreds of them on a globe?

Okay, I'm having a thought.
This will take a while to set up, but it might work.
Create a null object that will be your controller null (should probably name it Controller Null). Ignore it, for now.
Create a null object in the center of your globe. Make it 3d. Label it Global Null. Duplicate it and label the duplicate Group 01 Null.
Create a null object for your first dot. Make it 3d. Name it dot null 001.
Make your first dot. Make it 3d. Parent it to its null.
Move the dot's null object towards the front of the composition the same number of pixels as the radius of the globe (so, if your globe's radius is 200, put the dot's null at [x,y,-200])

On the controller null apply Effect>Expression Controls>Slider Control You may want to rename it something like "Group 01"

On the dot, tie the z position to the slider labeled "Group 01" on the controller null. The expression would read something like [transform.position[0],transform.position[1],thisComp.layer("Controller Null").effect("Group 01")("Slider")]

Just to test it, move the slider. Yay, the dot moves in Z space!

Now, duplicate the null and its dot. (You may wish to move the duplicates so the new null and dot are with each other.)
Parent the first dot null and its dot to the Group 01 Null.
Rotate Group 01 Null.

Now, duplicate the unparented null and its dot. Parent the dot's null to Group 01 Null. Rotate Group 01 Null.

Do this a few times, 'til you've got several dots around your center. Now, when you move the Group 01 Slider back and forth, you should see all of them moving away and towards the center.

I hope you can see where this is going.

You'll make a new null object called Group 02 Null and apply a new slider control effect to the Controller Null (called Group 02). And you'll start doing the same thing we did before, but parenting the nulls to Group 02 and (before you start duplicating the dot) change the expression to be affected by the Group 02 effect slider.

You'll keep doing this until you have many groups and many slider effects.

Then you'll be able to animate the sliders from different levels at different times and have dots moving at different speeds from different distances and with so many dots, it should look good.

That's just one way to approach it. I'm sure there are several other ways, including one using much more complicated expressions that might be easier to setup once you have the expression. You might try posting over in the expressions forum if you don't get other responses here. I mean, I know you can have random motion on a sphere, so...who knows?

Another way I was thinking of was you could animate a dot moving onto the globe, duplicate it. Then parent it to the globe and rotate the globe. Duplicate the unparented dot, parent it to the globe and rotate, repeat, repeat, repeat...maybe occasionally selecting all the dots, unparenting them from the globe, rotating the globe a bit and parenting them back to it. Then you'd have to randomly start messing with the timing of the keyframes on each dot layer and you would get there too.

- The Great Szalam
(The 'Great' stands for 'Not So Great, in fact, Extremely Humble')

No trees were harmed in the creation of this message, but several thousand electrons were mildly inconvenienced.

Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2016 All Rights Reserved