2
$\begingroup$

I thought it should be easy to pose a bone so it fits between to vertices: First move and snap the root of the bone to the first vertex v0, and then rotate the bone so that the tip of the bone snaps to the second vertex v1. (The length of the bone can be assumed to be almost equal to the length between the two vertices).

However, rotation snapping is mysterious: Its behaviour gives me no idea how this feature works. How does the rotation snapping feature works? How do I rotate and snap the tip of my bone to the other vertex? I want to move the bone from rest position to my new, precise position so that I can animate this movement.

Root correctly placed enter image description here

$\endgroup$
4
  • 1
    $\begingroup$ 3D Rotations are a harsh mistress. Do you want to do that in edit mode, or pose mode? $\endgroup$ Commented Sep 9, 2020 at 6:26
  • $\begingroup$ I want to do this in pose mode since I want the animation. I saw this answer: blender.stackexchange.com/a/41347/105973 . There rotation snapping to vertex seems to work well, but it is edit mode. Rotation snapping is very strange, and I couldn't find any documentation how it works. It should be a useful feature. Blender should have the capability to to precise posing. $\endgroup$
    – telephone
    Commented Sep 9, 2020 at 16:38
  • $\begingroup$ I think this question can be asked for empties too (for example a single arrow), not only bones. Rotation snapping seems to have something to do with the view. The snap result changes if you change the view. $\endgroup$
    – telephone
    Commented Sep 9, 2020 at 17:31
  • 2
    $\begingroup$ not a perfect solution: Add an empty, parent it to the target vertex, make the bone look at (track to) the empty. It might mess up the bones 'up' though. $\endgroup$ Commented Sep 10, 2020 at 20:51

2 Answers 2

1
$\begingroup$

IF you are animating this process you can create a IK bone constraint on the bone. Snap the 3d cursor to the v0 location Add a second bone in edit mode to be your target for the IK constraint. "target" Snap the "target" bone to the vertex1 (edit mode on the cube, snap 3d cursor, pose mode snap target bone to 3d cursor).

Now you have a min-snap rig- that will drive your bone you want to animate and you can bake the animation down when you are done or leave the IK constraint on.

$\endgroup$
1
  • $\begingroup$ Thanks, this was really interesting! And it will point my bone to v1. I would also like to know how the rotate snapping feature behaves so I can rotate other objects too, like empties, in a precise manner. $\endgroup$
    – telephone
    Commented Sep 19, 2020 at 8:03
1
$\begingroup$

The way to do this is via bone constraints. The two constraints you are looking for are copy location and damped track. Both of these constraints can accept a mesh target, and you can specify vertex groups for the targets, then mark individual vertices by belonging in those groups, to copy location or "rotate to" particular vertices:

enter image description here

I've assigned the center vert of Suzanne's left eye to a vertex group named "From" and the center vert of her right eye to a group named "To". Then I copy the location of From and damped track To.

There are alternatives to either of these constraints. Notable would be a "shrink to" constraint, which it sounds like you might be looking for. This doesn't just rotate to point the bone at the direction of the target, but actually stretches the bone as well.

These are dynamic, which is to say that as the mesh moves, as the vertices (or vertex groups) change, the action of the bone changes. If you want the bone posed like this, but not dynamically, you can "apply visual transform" from pose mode's ctrl A "Apply" menu, then delete the constraints.

If you want this snapping to be in the bone's rest pose rather than posed pose, you can "apply selected as rest pose" from the same menu.

$\endgroup$
1
  • $\begingroup$ This is also an interesting solution that will align my bone correctly. The rotate snapping feature is still a mystery for me... $\endgroup$
    – telephone
    Commented Sep 20, 2020 at 17:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .