EulerAnim for the head, which does not own its own rotation. More...
| Import Statement: | import Clayground.Character3D |
Every other joint is animated straight onto eulerRotation. The head cannot be, because more than one thing has something to say about where it points: a body animation aims it, and a nod, a shake or anything else momentary has to land ON TOP of that aim rather than replace it and then have no way to give it back.
So the animators drive Head::poseEuler and the momentary things drive Head::offsetEuler, and the head adds them. Same easing, same use, one property name different - which is the whole of the change at every call site.
See also Head::poseEuler, Head::offsetEuler, and EulerAnim.