So I just spent the better part of a day looking everywhere for a solution, to no avail.

Basically, I wanted to rotate a bone to where it points perfectly towards an axis (the global axis, not a local axis) in pose mode, preferably without using object constraints. Like "snapping" a bone's rotation towards one of the 6 axes, if you will.

Is this even possible to do?

  • $\begingroup$ could you not just set the rotation to be a multiple of 90 degrees via the properties panel? $\endgroup$ – GiantCowFilms Apr 1 '18 at 1:03
  • $\begingroup$ @GiantCowFilms - that only works if the bone is created aligned to the axis. An arm bone in the t-pose may point down 36 degrees, making a zero pose mode rotation not aligned to any global axis. To get it horizontal you need to move it up 36 degrees in pose mode. $\endgroup$ – sambler Apr 1 '18 at 20:09
  • $\begingroup$ I think you will need to use a constraint. It would be position an empty, add a trackto constraint, apply the transform and delete the constraint. An addon could be made to do it, don't know if there are any existing. $\endgroup$ – sambler Apr 1 '18 at 20:54
  • $\begingroup$ Yeah, what sambler said is primarily why I can't simply set the rotation to a multiple of 90 degrees. I'll try the constraint thing later and see if that works for me. $\endgroup$ – anony Apr 3 '18 at 0:06
  • $\begingroup$ @sambler When you say "apply the transform", what exactly do you mean? I positioned an empty, used a constraint and got the bone pointing upward, but I'm stuck at that. I assume you mean applying the constraint transformation, but I do not know how to do such; I know it's not like modifiers where you can simply apply the transformation with a click of a button. $\endgroup$ – anony Apr 4 '18 at 21:16

While you ask for a way without constraints, I think you will need to use one, at least temporarily, to get the bone positioned.

  • Align an empty to the head of the bone.
  • Move the empty on the global axis you want to align to.
  • Add a TrackTo constraint to the bone and set the empty as the target.

Now that the bone is pointing the direction you want, you can use ⎈ CtrlA->Apply Visual Transform to Pose and delete the constraint.

You can also use I->Visual Rotation to keyframe the values used after constraints have been applied to the bone.


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.