Hi I want to parent a bone to vertices

HI i need to parent a bone to some vertices. Here an image.

I did this: I created vertex groups. I used the bone constrant “child of”. I selected the vertex group.

I positioned in edit mode the bone where the group is, using the cursor.

After I added the constraint, the bone flipped, changed direction, moved elsewhere. I tried to understand if it was an issue of origin or whatnot. I dont understand why the bone moves I need it to stay in place and follow rotation scale and location of a couple of vertices.

What can I do?

Put the bone where you want it in relation to the mesh. Create the constraint and specify all details for it, like the relevant vertex group. Then, hit the “set inverse” button on the constraint.

Blender automatically sets the inverse at time of constraint creation, but when you change the parameters, it doesn’t recalculate a new inverse, it keeps using the one generated for other parameters. So then the bone jumps.

However, I don’t recommend child-of constraints targeting vertex groups. It’s not an operation that makes a lot of sense. Location is okay, but rotation and scale are not vertex properties. Blender does what it can to maybe do what you want, but it’s unreliable. Better is to copy location, damped track, locked track specific positions, marked by vertices or by other bones. (Or, parent an empty, vertex-triangle to your mesh, and then copy transforms of that empty. Basically the same thing.)

@bandages advice is always really good, he knows his stuff!

But my preferred method of doing this is slightly different than this:

I just vertex parent the bone to the mesh, no need for the empty and constraints.

Basically, position the bone at the location of the mesh. Select the bone in pose mode, then shift-select the mesh object. Enter edit mode for the mesh object and select 3 verts nearest the bone’s root. Then do a Ctrl-P → Make Vertex Parent (the only option given). See the attached file…

When you open the file, the mesh will be in edit mode and 3 verts will be selected, feel free to move the verts around and the bone will follow…

It’s my goto for cases like this.

Randy

vertex_parent_example.blend (829.2 KB)

What you’re doing with that-- with the file you’ve shared-- is parenting the armature to the mesh, not any particular bone in the armature. This is probably just fine if your armature contains only a single bone. If your armature contains multiple bones, then you’ll find that all of your root-level bones move with the parent mesh. Which might not be what you want.

1 Like

You can also use a hook. Goto edit mode on the object, select the vertices you want to control, press ctrl + H, select hook to new object.

Then you can apply a child of constraint to that hook and choose desired bone as target.

When you move the bone in pose mode, the vertices should move along.

Oooppss…

you are correct sir

Indeed, I accidentally parented the armature to the mesh’s verts, which isn’t what I wanted to do. Been a bit since I used this, so I had to dig up an old file and looked at it. I did use this method:

I fixed the file.
vertex_parent_example.blend (831.7 KB)

Now when you move the face around in edit mode, the empty follows because it’s a child of the face and a copy transforms constraint on the bone makes the bone follow the empty. This will copy the location and rotation of the face, but not the scale.

Not sure how I would get it to copy the scale…

Randy

1 Like

I parented an empty to 3 vertices. I set the constraint “child of” on the bone, i select the empty, this time the operation works.

I received help.

I did not specify the intended usage of this trickery. Now I tell you about it.

7o8uoq

The intended usage is to take a cloth simulation, and “bake” it to bones.

I have seen in Houdini, a node that creates bones to bake fat simulation, this allows to have the bones deform the mesh as if they were a fat simulation so they can be exported to game engines.

I have a character that is a femboy and a dragon. The wings of this character are membranes.

Here is the character I am rigging.

I hhope the image explains more or less my intention.

Mesh1: character mesh.
Mesh2: the wing proxy mesh that has the cloth simulation.
Wing bones: they move the vertices of the pinned area in the cloth sim wing.
Wing membrane bones: they deform mesh1 if they are parented to single vertices.

According to the test I did, this plan should work well. I did not test it yet. I do think it can work.

1 Like

Nicely done model…
So you want the Wiggle bones addon…