Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Random start to fixed 3D end position

  • Random start to fixed 3D end position

    Posted by James Goodenough on July 14, 2020 at 3:27 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 6×6 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?
    Thanks

    Filip Vandueren replied 5 years, 10 months ago 3 Members · 2 Replies
  • 2 Replies
  • Daniel Gillies

    July 14, 2020 at 7:16 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.

  • Filip Vandueren

    July 14, 2020 at 10:21 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:


    seedRandom(index,true);
    random_offset= random([-1000,-1000,-1000] , [1000,1000,1000]);

    sl=effect("randomness")("Slider").value;

    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.

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy