Hi everybody,
I have just found a surprising behavior in the rotation interpolation of the alembic node in the maya implementation of AbcImport. If I ask for the rotation value in the middle of two frames, it is just linearly interpolating between the two values. However, this doesn't work if the angles cross a "boundary", that is angle0 is 179 and angle1 is -170 for example. With a simple lerp it goes in the wrong direction: 179, 170, 100, 60, 0, -100, -170 instead of 179, 180, -179, -175, -170
The safest way probably would be to compute the quaternion from all the rotation angles, interpolate and then calculate the euler angles again, to avoid flipping and other undesirable behaviors This would be more complex to handle, because then they wouldn't be independent channels and a connection should be always made to rotateX, Y and Z even in the cases when only rotationY is animated.
I applied an easy fix to just take the boundary into account, while still interpolating Euler angles. However, I am surprised that nobody has faced this problem before. Am I missing something here? Are we doing something wrong?
Thanks a lot,
Diego