ADOBE AFTER EFFECTS: Forum Expressions Tutorials Creative Cloud

Random start to fixed 3D end position

COW Forums : Adobe After Effects Expressions

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
James Goodenough
Random start to fixed 3D end position
on Jul 14, 2020 at 3:27:20 pm

Expressions are not my forte, I can usually modify them, but not create.
I'm working on a project where I am building a 3D cube, where each side is built up of 6x6 smaller 2D Squares.
I need the 36 pieces for each side to fly in from random 3D locations to their fixed end point.
I've been searching for ages and have tried a few expressions online, but none seem to do exactly what I want.
Could someone point me in the direction of any pointers?

Return to posts index

Daniel Gillies
Re: Random start to fixed 3D end position
on Jul 14, 2020 at 7:16:46 pm

I'm not sure expressions will be able to solve this.

The way I would approach it would be to pre-comp all six sides of the cube separately. You then do the fly-in animation in each of those pre-comps.

From there - put all those cubes together in the main comp, and make sure each pre-comp has the * Collapse Transformations / Continuously Rasterize button is selected.

To start out, just build one side of the cube and use it 6 times, then if you need each side to be unique, just swap them out.

Return to posts index

Filip Vandueren
Re: Random start to fixed 3D end position
on Jul 14, 2020 at 10:21:24 pm

I'd place all of your 36 pieces the way you want them in their final place.

now depending if you need them all to arrive at the same time or want individual tweakability…
I'd give every single 3D-layer an expression slider (or just 1 Null object for all together);

and give every layer's position this expression:

random_offset= random([-1000,-1000,-1000] , [1000,1000,1000]);


value + random_offset*sl/100;

Now that slider will give you control: at 0 the layer will be in it's right place, you can use positive or negative numbers on the slider to position them at a random position away, and use easing/timeoffset all you want.
Similar things can be done for 3D rotation for more simulation.

instead of seedRandom(index,true);

Another even simpler approach could be to do a Wiggle() with a very very slow (or speed0) but very large wiggle, and animate that intensity with sliders.

Return to posts index

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