How to lock a bone axis?

My question: How to lock a bone axis ? I want (in pose mode) the bone to rotate only in one or two axis. For example to rotate only on X axis. How to do this ? Thanks


I don’t think there’s any direct way to do it. If you apply a lock-track constraint you can cause your bone to follow another by only rotating on one axis… Will this help?

If you are trying to lock one bone axis to another, such as for an elbow, Im not sure this is possible yet, but I believe it may be implemented in a future Blender version.

There are two constraint types that may be useful, Track to and locked track as the previous poster suggested.

Another thing to consider is placing an “empty” object, with just say one vertex in it (so it wont render) and tracking to that. You can parent the empty to another object etc.

I will try lock-track, hope this work. Thanks

Keep in mind that when you apply a constraint you are giving up direct control over at least some aspect of that bone. Hence, once you apply lock-track you will not be able to directly select and rotate the bone. Instead you’ll have to move the target bone to cause the first to rotate.

If you want to “pretend” to have that direct grab functionality, make 3 bones. For example:

Blivit.R - this is the bone which manipulates your mesh. It also has the locked-track constraint. Hide this bone.

Blivit.control.R - this is the bone which is visible in Pose Mode, which you can grab and rotate. Both this and the last bone are children of the same bone. This bone is in exactly the same position as the last bone, and points in exactly the same direction. For convenience, you can make it a little longer though. - this is the bone targeted by the locked-track constraint. It should be the child of the last bone and its root should be at the tip of the last bone. Hide this bone.

When you’re all done only will be visible in Pose Mode and you can grab and rotate it directly. If you twist it along one of the axes that should be locked, that’s OK because the bone that’s actually got vertices attached to it (Blivit.R) is locked appropriately.

Hope this helps. BTW. You can name them whatever you want. I usually just prefix the names with one letter: eg Blivit.R, tBlivit.R, and cBlivit.R.