8
$\begingroup$

As I (seem to) know from some comments the use of Quaternion or Euler depends on what we want to animate and that Quaternion can handle very complex animation and avoid problems which sometimes occur in Euler.

But in which occasions (simple walk/run animation, jump/bounce animation, etc.) is Quaternion commendable and are there any advantages using Euler? If yes, which?

I've also tried to understand the usage of the W rotation, but somehow I don't understand it and therefore can't handle it. Let's say, it's recommended to use Quaternion on jump/bounce animations. How should I handle the W rotation? Are there any occasions where I shouldn't change its values via the graphic editor or should I always leave it as it is?

$\endgroup$
8
$\begingroup$

The use of Quaternion rotation is to avoid the gimbal lock problem with the Euler method. Usually if your object only needs to rotate around one axis or two Euler would do the job. Like a wheel or a wobbling top. But when you have to animate a fighter jet that rotate all around your scene you may encounter the gimbal lock. To understand gimbal lock there is a great youtube video here.

https://www.youtube.com/watch?v=zc8b2Jo7mno&ebc=ANyPxKotx5yqp4L-5ns71ub2mroVOiQurhhNglI3Clsz0Ejev6D5cQa628-MDJhSkEYeGL-nj35Kec7Ka1upJrS9ZpoMMMaq_w

There are also gotchas in quaternions, it tends to solve towards the shorter path. Meaning if you were trying to rotate say 270 degree clockwise, quaternions would solve by rotating 90 degree counter clockwise. So to solve this correctly you need to add a in between keyframe to use quaternions properly. As described in this video here.

https://www.youtube.com/watch?v=R7zncPFGYck

DEMYSTIFYING W
WXYZ are interdependent. Therefore we should never modify them in their values entry box individually. To modify the object rotation simply use R and specify the axis you would like to rotate the object in. With that Blender will translate the rotation on screen into quaternions value if quaternions is the selected solving method.

ARMATURE & BONES
When you are working with armature or bones. In edit mode you will firstly be positioning those bones with Euler. When you switch to pose mode and actually animating, Quaternions are used for solving the transformation of your character's limbs. Often in a rig we use IK bones (Inverse Kinematics), and the IK will drive the armature and in turn quarternion will solve the positions of the bone. We will have no need to edit any of the WXYZ values manually.

EXTRA NOTE
Quaternions values are not in degree. Euler uses degree as it's unit. The math behind quaternions are much more complex the 4th dimension (W) allow quaternions method to avoid the gimbal lock of the 3 dimensions that Euler is limited to.

$\endgroup$
  • $\begingroup$ If I understand it correctly, I should never work with the graph editor (change the keyframes), but only with rotating the armature, i.e. the W rotation will be automatically adjusted and I should never change it either. Though, sometimes it might come in a bit inconveniently, e.g. if you want to make an acceleration you would like to give a graph a nice curve. It would be a bit faster to do it with the graph editor. So, do you know if there is a way which will automatically adjust the W Rotation after you've changed something in the graph editor or is the inconvenient way the only proper one? $\endgroup$ – Eti2d1 Feb 23 '16 at 19:10
  • 1
    $\begingroup$ Like the note says if you need a rotation to happen faster. It must be through some other tools available in blender than adjusting the values directly. Those values are related to one another. If make say a cube on screen and turn it to quaternion solve ... as you rotate the object in the X axis with the rotate tool ... you will find that not only X value changed but the W along with it... hence unless you know how to calculate quarternions by hand and know what you are doing , which is uneccessary . $\endgroup$ – hawkenfox Feb 23 '16 at 19:43
  • 1
    $\begingroup$ Bumps in the graphs with quarternions solve are expected they are not Euler and does not behave as a nice curve as Euler are much simpler mathematically. Do not expect them to look like conventional simple math. $\endgroup$ – hawkenfox Feb 23 '16 at 19:45
  • 1
    $\begingroup$ To speed up a rotation you can move the keyframes along the timeline to make it happen earlier than later but not change those individual values in WXYZ. $\endgroup$ – hawkenfox Feb 23 '16 at 19:51
  • $\begingroup$ You could also change the interpolation type if you want to. As long as you keep the interpolations of WXYZ in sync with each other, you should be fine. If you're curious to understand quaternions more deeply, beyond the great practical advice this answer gives, this video and the other resources it mentions are great: youtu.be/zjMuIxRvygQ $\endgroup$ – Justin Helps Dec 8 '18 at 22:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.