Ease between two float values over time?

I want to be able to smoothly aim down sights of my weapon, and have all the animation done, and it works great. However, instantly setting the ADS field of view on the camera is very sudden and noticeable, and I would like to smoothly change the FOV over a set period of time, almost like zooming in on a camcorder. I have tried all of the interp nodes, but no matter what values I try, they always still either snap to the new FOV instantly, or else do nothing. Surely there is an easy way to do this that I am missing? Thanks!

What you are looking for is called a Timeline.

What you need is to interpolate between the values using using an alpha value. Like you said just ease the values. The engine comes with a BP node called Ease, it features several nice easing methods. The node works similar to the lerp node, you just set two values (A and B) and an alpha value to interpolate from A to B. The alpha value can be controlled using a timeline or using the tick, the timeline method is the easiest way though.

It would be nice to see your setup to help you better.

I have tried the ease node and have tested with many different values but I still get either the sudden snapping effect or nothing at all, even with different alpha values, here is a screenshot of my current setup (it is running in a function and this may be the problem since functions don’t seem to support latent actions?)

Hey! Thanks for this, this worked nicely! However since I would be changing the time it takes to aim down sight per weapon, this would mean I would have to make 10 or so timelines each for aiming in or out of each weapon, as opposed to just changing a time variable on the ease node (which seems like it should work). In the screenshot I posted to the other answer, that node seems to be what would be the most ideal, but if I can’t get that to work, this will do the trick for sure!

Glad I was able to help :slight_smile:

As for the variable thing - your timeline should return a value between 0 and 1. Then you can multiply it by your variable - it can be 10, 20, or whatever. Your timeline is a general ‘alpha’ curve. You can also utilize the New time input to do some tricks too.

Ease node will work too but only with a ‘tick’-like events which occur every frame.

You where using the alpha value incorrectly :smiley: The range of an alpha value is [0…1]

Haha so I was! Still couldn’t get it to work unfortunately but IanBreeg’s solution worked, thank you!