I know there is a lot a question about this, and I have read most of the answers, but still, like most of the new guys, I have trouble using delta time the right way in my blueprints. I understand the logic behind it, but when I use it in my blueprints the result does not make sense to me.
I have a pawn which is moved by an “add force” and “add local rotation” nodes on the tick event. Pretty basic.
On the “add force” I don’t use the delta time and it seams to work just fine on different framerates. That seems weird to me, how do you explain this ?
Otherwise, on the “add local rotation” side of the blueprint, I use the delta time in the same way than the flying blueprint exemple and it apparently don’t work the same way on different framerates. I have tried to remove the delta time in this case, but I still have the same problem.
I have two real questions to help me understanding all that :
- If I use delta time in an finterp, is the float coming out is already converted to a value/sec ?
- if I use delta time two times on a value, does it break the logic behind using it ?
Thank you for your time
First answer, short: No.
Long: Finterp output value differences from tick to tick depend on how close the current value has progressed towards its target, and the value of delta time. Larger delta time values result in a greater change to the return value, as does larger differences between Current value and Target value.
This is not the case for finterp to Constant. It changes the return value by a value per second.
Second answer, short: Depends.
If you have more than one factor effecting one end value, you can use delta time on all of them without issues.
A car rolling down a hill with a rocket attached to it would have three time dependent factors to its forward movement. One is the acceleration from rolling down a hill, two would be throttle or brakes being applied again resulting in acceleration, three the rocket thrust depending on its state. Calculating the forward movement for a tick would depend on the delta time to be used on each contributing factor, for consistent forward movement results over time.
So use delta time once per time dependent factor contributing to one value to be found and used. It all comes down to figuring out what values needs to be adjusted for time passed.
On a side note, I believe that physics run at different intervals than frame ticks and the results time passed and force added is solved there.
Hope that helps you
thank you SkyHigh !
It helped me a lot. Specially on the “finterp” stuff, and the physics.