So I’ve used Lerp for different things since I found it and have run into issues with it slowing down. Turns out I was doing it wrong the whole time. In case somebody else has the same problem the basic idea is this…
Lerp( some start position, some end position, time value)
I had been changing the start position, which resulted in the thing I was lerping slowing down as it got closer to its destination. What I believe should happen is the time value should change instead, from 0 for start position, to 1 at the end position.
I’m drawing a blank on how to get the math to work for converting a duration to a factor between 0 and 1 taking into account frame rate. Something like…
Edit: timeFactor += Time.deltaTime * duration / duration;
// I think this is correct