I noticed that our slerp function sometimes produces a jolt in animation, but only when the time delta is very small, and only when the two operands have completely opposing signs. For example, let's say you are slerping from <0.76, 0.39, 0.51, 0.19> to <-0.72, -0.45, -0.49, -0.17>. These quats are actually quite near to each other because the total negation of the second quat is similar to the first quat. We were already doing the short path check in the proper slerp path, but not when falling back to lerp due to a small angle.
7.8 KiB
7.8 KiB