0
$\begingroup$

I have added some bones to a mesh, and I have parented them using "Parent -> With automatic weights" in Blender 2.82.

It looks like this:

enter image description here

Now when I rotate the lowest bone (Blender named it "Bone"), it rotates the entire mesh like this:

enter image description here

However, when I rotate the smallest bone (Blender named it "Bone.001"), it only rotates a very small part of the mesh. Here is what it looks like:

enter image description here

What causes this difference in the rotation effect? Why is the behaviour so different? I guess it's not the bone size.

The mesh shown is part of a zombie face. In my game, the hero can shoot zombies, and at a head shot, part of the zombie's face is ripped apart. The ripped apart skin is still attached to the head, but waves like a flag in the wind with every move.

To do this, I have created a mesh for the part that should be ripped apart. Then I have added bones to this mesh in order to simulate its movement.

Then, in Unity, I haved used the tool "Dynamic Bone" to simulate the movement.

This tool required a "root", and I have used "Bone" as the root. The script then however moved the entire mesh. To check why it did that, I have used posing in Blender to check what happens if I rotate the bones. That is how I got to know that the bone do not all work the same.

Thank you!

$\endgroup$

1 Answer 1

1
$\begingroup$

Your first bone, called Bone, is the parent of all the bones, so, when you move it, it will move the part of the mesh it is supposed to influence, but it will also move all its children bones and therefore all the parts of the mesh that these other bones influence.

When you move the small bone, called Bone.001, it only moves itself + the part of the mesh it influences.

If you want each bone to influence its own part of the mesh and be independent you need to unparent with altP > Unparent.

If you need a root bone, create a new bone wherever you want next to the others. Select this bone and go in the Properties panel > Bone, deactivate the Deform option. Now, to parent all the other bones to this one: select them all, select the root at the end, press CtrlP > Keep Offset.

$\endgroup$
7
  • $\begingroup$ Thank you. Can I make it so that "Bone" only moves itself + the part of the mesh it influences, like Bone.001? $\endgroup$
    – tmighty
    Jun 10, 2020 at 20:37
  • 1
    $\begingroup$ if you want each bone to influence its own part of the mesh and be independent of each others you need to unparent them from each others with some alt P > Unparent, if this is what you want. But maybe describe what's your final purpose with this object, it would help to find the right solution $\endgroup$
    – moonboots
    Jun 10, 2020 at 23:48
  • $\begingroup$ Thank you. I have added this info to my post. $\endgroup$
    – tmighty
    Jun 11, 2020 at 11:51
  • $\begingroup$ ok I've also edited my answer ;) $\endgroup$
    – moonboots
    Jun 11, 2020 at 11:59
  • $\begingroup$ I used "Parent -> With automatic weights" before. Now that I have un-ticked "Deform", do I have to weight the bones again? $\endgroup$
    – tmighty
    Jun 11, 2020 at 12:30

You must log in to answer this question.

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