I have been trying to figure out a neat way of animating the transitional change of position for my character, but got stuck in trying to make the character turn towards the position… either I hit a gimbal-lock using “rotation” or a faulty quaternions using “rotation.z” resulting in a scaled object. (I can add gifs showing the visual issues later on request).

My last resort is to animate a different property representing the z rotation and setting this every update based on the self.crap value, but that’s an ugly hack so I would prefer not to. Appreciate any possible hint at a better solution

EDIT: The scale issue you see comes from the quaternion not being normalised when you only set the z. The squish-effect you see when animating the entire quaternion in some instances comes from something similar, a non-normalised lerp performed by the go.animate-system.

I’ve decided that currently it’s not possible to do this using only go.animate, since euler animations are limited to the 360 degrees available and Slerp isn’t an option. So for now I’ll resolve to this system.

Animating eular.z it would make a reverse spin when trying to go from 359 to 1 degrees instead of changing the two degrees only, so animating that isn’t an option unless there’s Slerp, if using 360+ degrees I could subtract the current rotation before turning to the other as an option.

Euler rotation is broken as you can’t use it twice when going over 90 degrees…
I’ve have been using nested dummy game object that nevers rotate more than 90 degree in any direction, and yes, you can barf now.