Very basic rig and weight question

Hi

It seems I have a very basic understanding problem…
In the attached blend file I have a cylinder that is “rigged” with one bone. I did some weight painting on the cylinder with a nice gradient from top to bottom (top = weight 1, bottom = weight 0). Now when I rotate the bone, why does the whole cylinder rotates a 100% with the bone? I would have expected that only the top would rotate a 100% (because of weight 1) and the bottom would not rotate at all (because of weight 0).
Is my understanding wrong?

Thanks and kind regards
stabio

weight.blend (1.3 MB)

I didn’t look at the file. But I can still tell you what’s going on.

Blender auto-normalizes weights at time of deformation. In other words, for each vertex, it adds up all deforming weights and divdes each individual weight by the sum.

So let’s take one vertex way down at the bottom, weighted to your single bone 0.01. But that’s its only weight. So what’s 0.01 (bone weight) divided by 0.01 (sum of all weights)? 1.0. So the vertex acts fully weighted.

Really, you’ll want multiple bones in an armature. If you (for whatever reason) want a single bone armature, use the vertex group to limit the armature modifier itself instead.

Hey, Even if you ‘paint’ with 0 weight, it still assigns weights - go into ‘edit’ mode, in the ‘vertex’ group panel hit the ‘select’ button, you will see they all are selected. Even if you managed to not ‘paint’ some, you will have nothing but a stretching mesh, unless that’s what your after.

How do we always manage to post at the same time ? You must have ESP :grinning:

1 Like

Aah understood… Thx! So in order to get a nice deformation I need at least two bones with inverted gradient painted weights that must overlap each other…

Thx that helped me to understand!