From BlenderWiki

Jump to: navigation, search


Page status (reviewing guidelines)

Copy This page is a copy of the same page in 2.4 manual, need to be updated
Proposed fixes: none

Editing Bone Properties

In this page, you will learn how to edit and control most of the properties for Blender bones – For editing bones in an armature, you should read the previous page first! We will see how to manage the bones' relationships, rename them, etc.

Transforming Bones

We won’t detail here the various transformations of bones, nor things like axis locking, pivot points, and so on, as they are common to most object editing, and already described here (note however that some options, like snapping, do not seem to work, even though they are available…). The same goes for mirroring, as it’s nearly the same as with mesh editing. Just keep in mind that bones’ roots and tips behave more or less like meshes’ vertices, and bones themselves act like edges in a mesh.

As you know, bones can have two types of relationships: They can be parented, and in addition connected. Parented bones behave in Edit mode exactly as if they had no relations – you can grab, rotate, scale, etc. a parent bone without affecting its descendants. However, connected bones must always have parent’s tips connected to child’s roots, so by transforming a bone, you will affect all its connected parent/children/siblings.

The Transform Properties panel for armatures in Edit mode.

Finally, you can edit in the Transform Properties panel (N) the positions and radius of both ends of the active selected bone, as well as its roll rotation.

Radius and Scaling in Envelope Visualization

Mode: Edit mode, Envelope visualization

Hotkey: S

Menu: Armature » Transform » Scale

When bones are displayed using Octahedron, Stick or B-Bone visualizations, scaling will behave as expected, similar to scaling mesh objects. When bones are displayed using Envelope visualization, scaling will have a different effect: it will scale the radius of the selected bones’s ends. (see: skinning part). As you control only one value (the radius), there is no axis locking here. And as usual, with connected bones, you scale at the same time the radius of the parent’s tip and of the children’s roots.

Scaling of a bone in Octahedron and Envelope visualizations.
A single selected bone…
…Scaled in Octahedron visualization.
A single selected bone…
…Scaled in Envelope visualization – its length remains the same, but its ends’ radius are bigger.

Note that when you resize a bone (either by directly scaling it, or by moving one of its ends), Blender automatically adjusts the end-radii of its envelope proportionally to the size of the modification. Therefore, it is advisable to place all the bones first, and only then edit these properties.

ScaleB and Envelope

Mode: Edit mode

Hotkey: CtrlAltS

CtrlAltS activates a transform tool that is specific to armatures. It has a different behavior depending on the active visualization, as explained below:

In Envelope visualization, it allows you to edit the influence of the selected bones (their Dist property, see the skinning part) – as with the “standard” scaling with this visualization (see the previous section), this is a one-value property, so there is no axis locking and such.

Envelope scaling example
A single bone selected in Envelope visualization.
Its envelope scaled with CtrlAltS.

In the other visualizations, it allows you to edit the “bone size”. This seems to only have a visible effect in B-Bone visualization, but is available also with Octahedron and Stick… This tool has here another specificity: While for any other transform tools, the “local axes” means the object’s axes, here they are the bone’s own axes (when you lock on a local axis, by pressing twice the relevant key, the constraint is applied along the selected bone’s local axis, not the armature object’s axis).

WARNING! If you have more than one bones selected, using this tool crashes Blender!

“Bone size” scaling example
A single “default size” bone selected in B-Bone visualization.
Its size scaled with CtrlAltS.
The same armature in Object mode and B-Bone visualization, with Bone.004’s size scaled up.


Bone Direction

Mode: Edit mode

Hotkey: W3

Menu: Specials » Switch Direction

This tool is not available from the Armature menu, but only from the Specials pop-up menu(W). It allows you to switch the direction of the selected bones (i.e. their root will become their tip, and vice versa).

Switching the direction of a bone will generally break the chain(s) it belongs to. However, if you switch a whole (part of a) chain, the switched bones will still be parented/connected, but in “reversed order”. See the Switching example.

An armature with one selected bone, and one selected chain of three bones, just before switching.
The selected bones have been switched. Bone.005 is no more connected nor parented to anything. The chain of switched bones still exists, but reversed (Now Bone.002 is its root, and Bone is its tip). Bone.003 is now a free bone.
Switching example.


Bone Roll

Mode: Edit mode

Hotkey: CtrlR, CtrlN

Menu: Armature » Bone Roll »

In Edit mode, you have options dedicated to the control of the bone roll rotation (i.e. the rotation around the Y axis of the bone). Each time you add a new bone, its roll is so that its Z axis is as much perpendicular to the current 3D view as possible. And each time you transform a bone, Blender tries to determine its best roll…

But this might lead to an unclear armature, with bones rolled in all angles… nasty! To address this problem, you have three options:

  • Armature » Bone Roll » Set Roll (CtrlR) will start a roll-specific rotation, which behaves like any other transform operations (i.e. move the mouse and LMB Template-LMB.png click to validate, or type a numeric value and hit enter – or RMB Template-RMB.png click or hit Esc to cancel everything).
  • Armature » Bone Roll » Clear Roll (Z-Axis Up) (or CtrlN1  »  Recalculate Bone Roll Angles » Clear Roll (Z-Axis Up)) will reset the selected bone roll so that their Z axis is as much as possible aligned with the global Z axis.
  • Armature » Bone Roll » Roll to Cursor (or CtrlN2  »  Recalculate Bone Roll Angles » Align Z-Axis to 3D-Cursor) will set the selected bone roll so that their Z axis is as much as possible pointed to the 3D cursor.


Properties

Mode: Edit mode

Panel: Armature Bones (Editing context, F9)

Hotkey: ⇧ ShiftW, Ctrl⇧ ShiftW, AltW

Menu: Armature » Bone Settings »

The Armature Bones panel in Edit mode.

Most bones’ properties (excepted the transform ones) are regrouped in each bone’s sub-panel, in the Armature Bones panel (Editing context, F9). Let’s detail them.

Note that some of them are also available in the 3D views, through the three pop-up menus Toggle Setting (⇧ ShiftW or Armature » Bone Settings » Toggle a Setting), Enable Setting (Ctrl⇧ ShiftW or Armature » Bone Settings » Enable a Setting), and Disable Setting (AltW or Armature » Bone Settings » Disable a Setting) – all three have the same entries, their respective effect should be obvious…

BO
The bone name field, see below.
child of
These two settings control the bone relationship, as detailed below.
Segm
This setting control the number of segments of bones, see below.
Dist, Weight, Deform (also ⇧ ShiftW » Deform & co), Mult (also ⇧ ShiftW » Mult VG & co)
These settings control how the bone influence its geometry – along with the bones’ ends radius. This will be detailed in the skinning part.
Hinge (also ⇧ ShiftW » Hinge & co), S (also ⇧ ShiftW » No Scale & co)
These settings affect the behavior of children bones while transforming their parent in Pose mode, so this will be detailed in the posing part!
Hide
This will hide the bone (same as hitting H in the 3D views, see this page).
Lock (also ⇧ ShiftW » Locked & co)
This will prevent all editing of the bone in Edit mode, see the previous page.
Layers button
These small buttons allow you to control to which bone layer this bone belongs to, see this page.


Bone Rigidity Settings

Mode: Edit and Pose modes

Panel: Armature Bones (Editing context, F9)

The Armature Bones panel in Pose mode.

Even though you have the Segm setting available in Edit mode (bones sub-panel, in the Armature Bones panel), you should switch to the Pose mode (Ctrl⇆ Tab) to edit these “smooth” bones’ properties – one explanation to this strange need is that in Edit mode, even in B-Bone visualization, bones are drawn as sticks, so you can’t visualize the effects of these settings.

An armature in Pose mode, B-Bone visualization: Bone.003 has one segment, Bone.004 has four, and Bone.005 has sixteen.

We saw in this page that bones are made of small rigid segments mapped to a “virtual” Bézier curve. The Segm numeric field allows you to set the number of segments inside a given bone – by default, it is 1, which gives a standard rigid bone! The higher this setting (max 32), the smoother the bone, but the heavier the pose calculations…

Each bone's ends are mapped to its “virtual” Bézier curve's “auto” handle. Therefore, you can’t control their direction, but you can change their “length” using the In and Out numeric fields, to control the “root handle” and “tip handle” of the bone, respectively. These values are proportional to the default length, which of course automatically varies depending on bone length, angle with previous/next bones in the chain, and so on.

Bone In/Out settings example, with a materialized Bézier curve.
Look at Bone.004: it has the default In and Out values (1.0).
Bone.004 with In at 2.0, and Out at 0.0.


Chain Editing

Mode: Edit mode

Panel: Armature Bones (Editing context, F9)

Hotkey: CtrlP, AltP

Menu: Armature » Parent »

You can edit the relationships between bones (and hence create/modify the chains of bones) both from the 3D views and the Buttons window. Whatever method you prefer, it’s always a matter of deciding, for each bone, if it has to be parented to another one, and if so, if it should be connected to it.

To parent and/or connect bones, you can:

  • In a 3D view, select the bone and then its future parent, and hit CtrlP (or Armature » Parent » Make Parent…). In the small Make Parent menu that pops-up, choose Connected if you want the child to be connected to its parent, else click on Keep Offset. If you have selected more than two bones, they will all be parented to the last selected one. If you only select one already parented bone, or all selected bones are already parented to the last selected one, your only choice is to connect them, if not already done. If you select only one non-parented bone, you’ll get the Need selected bone(s) error message…
With this method, the newly children bones won’t be scaled nor rotated – they will just be translated if you chose to connect them to their parent’s tip.
  • In the Buttons window, Armature Bones panel, for each selected bone, you can select its parent in the Parent drop-down list to the upper right corner of its sub-panel. If you want them to be connected, just enable the little Con button to the right of the list.
With this method, the tip of the child bone will never been translated – so if Con is enabled, the child bone will be completely transformed by the operation.
Parenting example.
The starting armature, with Bone.005 parented and connected to Bone.004.
Bone.005 re-parented to Bone.002, but not connected to it (same result, using either CtrlP2 in 3D view, or the Armature Bones panel settings).
Bone.005 parented and connected to Bone.002, using CtrlP1 in 3D view.
Bone.005 parented and connected to Bone.002, using the Parent drop-down list of Bone.005 sub-panel.

To disconnect and/or free bones, you can:

  • In a 3D view, select the desired bones, and hit AltP (or Armature » Parent » Clear Parent…). In the small Clear Parent menu that pops-up, choose Clear Parent to completely free all selected bones, or Disconnect Bone if you just want to break their connections.
  • In the Buttons window, Armature Bones panel, for each selected bone, you can select no parent in the Parent drop-down list of its sub-panel, to free it completely. If you just want to disconnect it from its parent, disable the Con button.

Note that relationships with non-selected children are never modified.

Naming Bones

Mode: Edit mode

Panel: Armature Bones (Editing context, F9), Transform Properties (3D views, N)

You can rename your bones, either using the Bone field of the Transform Properties panel in the 3D views, for the active bone (N), or using the BO field in each bone sub-panel of the Armature Bones panel (Editing context, F9).

Blender also proposes you some tools that take advantage of bones named in a left/right symmetry fashion, and others that automatically name the bones of an armature. Let’s see this in details.

Naming Conventions

An example of left/right bone naming in a simple rig.

Naming conventions in Blender are not only useful for you to find the right bone, but also to tell Blender when any two of them are counterparts.

In case your armature can be mirrored in half (i.e. it’s bilaterally symmetrical), it’s worthwhile to stick to a left/right naming convention. This will enable you to use some tools that will probably save you time and effort (like the X-Axis Mirror editing tool we saw above…).

  • First you should give your bones meaningful base-names. Like leg, arm, finger, back, foot, etc.
  • If you have a bone that has a copy on the other side (a pair), like an arm, give them one of the following separators:
    • Left/right separators can be either the second position (L_calfbone) or last-but-one (calfbone.R)
    • If there is a lower or upper case L, R, left or right, Blender handles the counter part correctly. See below for a list of valid separators. Pick one and stick to it as close as possible when rigging, it will pay off. For example:
Valid Separators.
Separatorexample
(nothing)handLefthandRight
_ (underscore)Hand_LHand_R
. (point)hand.lhand.r
- (dash)Foot-lFoot-r
(space)pelvis LEFTpelvis RIGHT
Note that all examples above are also valid with the left/right part placed before the name. You can only use the short L/R code if you use a separator (i.e. handL/handR won’t work!).
  • Before Blender handles an armature for mirroring or flipping it first removes the number extension, if it’s there (like .001)
  • You can copy a bone named bla.L and flip it over using W » Flip Left-Right Names. Blender will name the copy bla.L.001 and flipping the name will give you bla.R.

Bone name flipping

Mode: Edit mode

Hotkey: W4

Menu: Armature » Flip Left & Right Names

You can flip left/right markers (see above) in selected bone names, using either Armature » Flip Left & Right Names, or Specials » Flip Left-Right Names (W4). This can be useful if you have constructed half of a symmetrical rig (marked for a left or right side) and duplicated and mirrored it, and want to update the names for the new side. Blender will swap text in bone names according to the above naming conventions, and remove the number extensions if possible.

Auto bone naming

Mode: Edit mode

Hotkey: W5, W6, W7

Menu: Armature » AutoName Left-Right, Armature » AutoName Front-Back, Armature » AutoName Top-Bottom

The three AutoName entries of the Armature and Specials (W) menus allows you to automatically add a suffix to all selected bones, based on the position of their root relative to the armature center and its local coordinates:

  • AutoName Left-Right will add the .L suffix to all bones with a positive X-coordinate root, and the .R suffix to all bones with a negative X-coordinate root. If the root is exactly at 0.0 on the X-axis, the X-coordinate of the tip is used. If both ends are at 0.0 on the X-axis, the bone will just get the point, with no L/R (as Blender cannot decide whether it is a left or right bone…).
  • AutoName Front-Back will add the .Bk suffix to all bones with a positive Y-coordinate root, and the .Fr suffix to all bones with a negative Y-coordinate root. The same as with AutoName Left-Right goes for 0.0 Y-coordinate bones…
  • AutoName Top-Bottom will add the .Top suffix to all bones with a positive Z-coordinate root, and the .Bot suffix to all bones with a negative Z-coordinate root. The same as with AutoName Left-Right goes for 0.0 Z-coordinate bones…