Smoothly Decrease Player Speed

I created a Trigger which Increases Player’s speed upon overlapping by 5 times.
After 5 second delay , Player’s original speed is restored!

Problem is : Transition between “Fast speed” and original speed is quite sudden , is there a way to make this Transition a little smoother ?

I mean you could just have a chain of set variables and delays after them like this. the other way of doing this would take a bit more CPU cycles to do. by no means am I expert in ue4.

125449-slower.png

Add a Timeline in the Event Graph. Double click to open. Click the “Add Float Track” button. A graph should appear. Add a point at (0,0) and another at (t,1) where “t” is the amount of time you would like this transition to take. This should output a float that increases from 0 to 1 gradually over time.

Return to the Event Graph.

Add a “Lerp.” Connect the desired two walk speeds to “A” and “B” respectively, and connect the output of your timeline to “Alpha.” Use the output of “Lerp” to “Set Max Walk Speed.”

I’m pretty new to UE4 myself, so this might not be the best answer. You can find out more about timelines and lerp at A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums.

I hooked Delay execution node onto TimeLine and Uses it’s “Update” Execution node to SET MAX WALK SPEED function!

thank you

Another way to do it would be with “finterp to constant” node. Just need to set the “interp speed” to something high like 500+. This is how I get a rolling character to stop rolling over time. Just connect the “Set Max Walk Speed” node to the tick so it’s updating!

251585-finterp-to-example.png