<p>Oh, I should also say: the choice of x vs z axis as the "primary" rotation axis is arbitrary.  I choose x because it's the first letter in "xyz".  But z is just as good.  What matters is consistency within the rig (or within the project if it's a larger project).</p>

<p>--Nathan</p>
<div class="gmail_quote">On Jan 8, 2014 8:05 AM, "Nathan Vegdahl" <<a href="mailto:nathanvegdahl@gmail.com">nathanvegdahl@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p>Hi Gaia,<br>
The main rules-of-thumb that I try to follow are:<br>
- The x-axis should be the "primary" axis of rotation for any given control.<br>
- Rotation in the "primary" direction on the x-axis should result in a positive rotation angle (meaning that if it were euler, the x component of the rotation would be positive).<br>
- For bones that are free-floating and/or don't have any particular relationship to other controls (the root control is a good example), align all of their axes with the world axes.</p>
<p>In the first two rules, "primary" is often subjective or ambiguous, depending on the control, so you just have to use your best judgement and experiment what it feels like to use it as an animator.</p>
<p>It's important also to note the reason for doing any of this at all.  In all 3d animation software, keeping bones aligned well helps keep the rig better organized for the rigger.  It's also important for animators when e.g. working in the f-curved editor.  But in Blender it's particularly important for animators, because one of the major interaction models for tranforms is via hotkeys, using the x, y, and z keys to specify axes.</p>


<p>--Nathan</p>
<div class="gmail_quote">On Jan 7, 2014 3:44 AM, "Gaia" <<a href="mailto:gaia.clary@machinimatrix.org" target="_blank">gaia.clary@machinimatrix.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi;<br>
<br>
Over the last few days i tried to understand why the bone rolls for a<br>
given Armature have been chosen as they are. I was looking for some sort<br>
of "best practice for Bone roll"  in the Blender wiki or at<br>
<a href="http://blenderartists.org" target="_blank">blenderartists.org</a>. I also looked at Blender's<br>
<br>
     Armature -> Bone Roll -> Recalculate Bone Roll<br>
<br>
and tried to make sense out of what is calculated there.<br>
<br>
Since i could not find any clear how todo descriptions, i just collected<br>
what i found into a list of rules of thumb as follows. (And i do not<br>
know for sure if the rules make sense after all, they sound somewhat<br>
reasonable though)<br>
<br>
- Determine the main rotation axis for each bone and consistently align<br>
the bone roll (either X or Z) to this axis<br>
- For horizontal bones match Bone-Roll-Z with global-Z, and for vertical<br>
bones match Bone-Roll-X with global-X<br>
- For all bones ensure that bone roll Z is in the same plane (i am not<br>
at all sure about this in particular)<br>
- Use Bone Roll X for up/down movements, like fingers up/down (when<br>
looked from the side)<br>
- Use Bone Roll Z for sideway movements, like finger left/right (when<br>
looked from above)<br>
<br>
Now i'd like to verify that these finds make sense. And then add a "Bone<br>
roll best practice" chapter somewhere below<br>
<br>
     <a href="http://wiki.blender.org/index.php/Doc:2.6/Manual/Rigging" target="_blank">http://wiki.blender.org/index.php/Doc:2.6/Manual/Rigging</a><br>
<br>
However it would be nice to get some feedback and advise from a "rigging<br>
specialist", even a few lines of "raw documentation" that go beyond "I<br>
believe its so and so..." would be very helpful.<br>
<br>
cheers,<br>
Gaia<br>
_______________________________________________<br>
Bf-animsys mailing list<br>
<a href="mailto:Bf-animsys@blender.org" target="_blank">Bf-animsys@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-animsys" target="_blank">http://lists.blender.org/mailman/listinfo/bf-animsys</a><br>
</blockquote></div>
</blockquote></div>