Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Ae Speed Acceleration… Thru Plugin Effect?

  • Ae Speed Acceleration… Thru Plugin Effect?

    Posted by Royce Jacobs on January 11, 2023 at 2:42 am

    A classic problem: Anyone who’s tried to accomplish speed acceleration thru expressions has learned about how expressions don’t have any memory to work with and therefore can’t reference previous frames to make various speed adjustments… I’ve been dealing with this in trying to make tree leaves wiggle faster (turb disp phase) based on a tree’s bend amount in the wind. But the phase speed increased by the bend multiplier is lost as soon as the bend isn’t increasing, and can even reverse when bending back.

    But I realized I’ve seen speed control before, in the Wave Warp effect. It has both a speed parameter as well as phase. There’s unfortunately no numerical output of the value achieved from the speed, and trying to extrapolate it from how much the wave is affecting an image sounds like a nightmare… But it made me realize that perhaps the solution to this age old problem could be achieved thru a dedicated plugin effect just for this purpose? Like just a speed control, maybe also a phase that ties to it, and a numerical output that can be pickwhipped to? Then you control the speed amount with your expressions, pickwhip the output and bam, speed!

    Is this possible? Does someone know how to make this happen? My c++ prowess is sadly insufficient

    Filip Vandueren replied 1 year, 4 months ago 2 Members · 2 Replies
  • 2 Replies
  • Filip Vandueren

    January 11, 2023 at 7:30 am

    Timewarp also has a keyframeable speed paramater and is specifically designed to do timing.

    There’s no straightforward way way to extract the value though.

    One hacj/strategy to get the value could be this:

    In a 16 or 32 bit project, create a precomp that animates its color from black to white b(or superwhite in 32bpc)

    Use Timewarp with something like a wiggle() on speed to retime that fade in,

    Use sampleImage() to convert the grayscale back to a number and you have the resulting timing of the wiggle.

    I’m just brainstorming a hack, not saying this is a solid performing method for production 🙂

  • Filip Vandueren

    January 11, 2023 at 7:39 am

    For example, in a 32-bit project, a shape with this expression fill-color would have a color and alpha whose value translates directly to the current time, since it’s a floating point number, not bound between 0-100% like 8 and 16bpc colors are:

    time*[1,1,1,1];

    Timewarp should be set to Frame Mix, and the precomp can be tiny (4px * 4px) so it’s as low a performance hit as possible to render and sample:

    thisLayer.sampleImage([2,2], radius = [1, 1], postEffect = true, t = time)[0];

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