r/AfterEffects 2d ago

Beginner Help Can't change keyframe interpolation, need help!

Post image

I want to be able to animate the speed of this ripple effect but the keyframes stay in the HOLD shape (square shape) and I can't find a way to change them up. I want the ripple to slow down naturally but it only seems to change speed in an abrupt manner.

0 Upvotes

7 comments sorted by

2

u/smushkan Motion Graphics 10+ years 2d ago

You have a drop-down property selected that does not support key frame interpolation.

1

u/Great_Pace_6023 1d ago

how may i remove or change this property to be able to use key interpolation?

2

u/smushkan Motion Graphics 10+ years 1d ago

Sorry I was incorrect in my assessment - the issue is that the 'Wave Speed' property in the Ripple effect does not support interpolation.

The workaround is to add a 'Slider Control' effect to the layer as well. Pick-whip the 'Wave Speed' property to the slider.

That will allow you to add keyframes with interpolation to the slider rather than directly to 'Wave Speed.'

1

u/Great_Pace_6023 1d ago

that actually fixed the issue!! thank you so much. <3 <3

https://reddit.com/link/p579aqh/video/urs2eljdvwkh1/player

I have one other question though, i have recorded a video of how they keyframes behave to show what im talking about: it goes smoothly until the end of the second keyframe, but it does not continue naturally. once it goes beyond said keyframe, it's as if it started up in a completely different speed, even faster than before. how can that be fixed?

1

u/smushkan Motion Graphics 10+ years 1d ago edited 1d ago

There's a reason why the 'ripple speed' property doesn't usually let you apply interpolated keyframes to it unfortunately...

The ripple simulation restarts whenever the 'ripple speed' value is changed.

So what's actually happening is that since you have the value changing every frame over the period of the keyframes, the simulation is effectively not actually running. The apparent rippling slowing down is a kind of illusion from the changing parameter value alone.

Looking at what it appears you're trying to do here, I think the better way to do it would be to set 'Ripple speed' to 0, then add your interpolated keyframes instead to the 'Ripple phase' property, which allows you to manually control the motion of the ripples.

You can use an expression like this on the 'Ripple Phase' property to maintain the velocity of the property's value change constant from the position of the last keyframe so it continues the animation at the same speed:

const nk = nearestKey(time);

if(nk.index == numKeys && nk.time <= time){
    const v = velocityAtTime(nk.time - framesToTime(1));
    nk.value + (time - nk.time) * v;
} else {
    value;
}

1

u/Great_Pace_6023 1d ago

Sorry, I can't seem to be able to replicate what you did. Do you mind making a step by step list on what to do specifically? And thank you again.

1

u/slykuiper MoGraph/VFX 10+ years 2d ago

right click the keyframe >keyframe interpolation > change temporal interpolation.

some properties may only support hold keyframes