Accelerating montage play rate using time stretch curves

Greetings.

I’ve been playing around with time stretch curves to modify the play rate of an animation montage. As weird as it seems to be, I’ve kind of got the grasp of it… To lower the play rate, then resetting it to 1.0 at specific points, though. But, how about if I wanted to accelerate the play rate? As long as I understand, having a 0.0 value on the curve means the play rate will be ignored and the montage will play with rate 1.0, but I need it to play with a rate greater than 1.0. How can I do that?

Thanks in advance.

Necroing this as I had to also accelerate Montages today, didn’t know how to do it and this result came up. Figured it out though:

To accelerate the Montage, set the Rate Scale in the Montage->Asset Details->Animation to be theaccelerated value you want, like 3.0.

Then add the MontageTimeStretchCurve and it will control how much of that Rate Scale is applied. Basically the curve acts as an alpha with values from 0.0 to 1.0:

When the curve is at 0.0, none of the Rate Scale is applied and the final playrate is the default of 1.0. When the curve is at 1.0, the full Rate Scale is applied making the final playrate 3.0.

My question would be how to apply both slowdown and speed up with the same curve? Unfortunately using negative values in the curve did not invert the effect.

I was using Unreal 4.25.?

2 Likes

thank you for that information, I just got a question this work for the play rate that we set up outside of the montage, or for the one that we defind in the montage properties or boths?

Hello from 2023 and UE4.27.
I found an issue that increasing/decreasing the Montage play rate seems to have no effect on the Blend in/out TIMING that needs to be preset in the Anim Montage asset.

In other words, when I play the game and have a bind to speed up Player movement (Character Movement > Set Max Walk Speed), then it plays every Montage faster according to the speed multiplier.
But the Blend in/out times stay the same (at 0.5 secs). Thus parts of the fast-playing anim are chopped out, and only a few frames of the middle anim display.

So how do we scale the Blend in/out times - to match a percentage of the actual play rate/new time duration?

1 Like

I’m late to the party but this i what i do.

I play the montage with a play rate of 0. Even with a play rate of 0 the blend will still happen. Then i use a delay node to allow the blend to finish. Then i play the montage again at the normal play rate.

Now i have a full blend and the montage plays its full lenght. The blend in does not “wash out” the beginning of the montage.