0

I have imported this model into blender, and I notice that when posing the thigh bone, the mesh deforms too sharply. The weight paint of the thigh's vertex groups is acting as if it is 1.0 for all vertices, when the weight painting shows a more even distribution of weight values. How would I fix this so the weight painting is more even?

I've read on a similar post: Painting vertex with 0.1 but it acts as if it has 1.0?, but it doesn't seem to apply here as the other vertex groups do not share vertices and are assigned to a single bone and function properly.

enter image description here enter image description here

Edit: after deleting the vertex group and re-painting with auto-normalize enabled, I find that the vertices responsible for the sharp deformation are painted red regardless of weight value. enter image description here

  • @Crantisz Im still not sure of the solution. I've tried deleting the vertex group and re-painting with auto-normalize enabled, but this results in the vertices responsible for the sharp deformation being painted red regardless of weight value. I have edited the post to include an image for reference. – user12100564 Oct 11 '22 at 10:15
  • pls provide blend file so we can check it out – Chris Oct 11 '22 at 10:53
  • 2
    If the vertex is only part of one vertex group, even if the influence is 0.001, the bone will influence it 100%. This vertex needs to be part of at least one other vertex group if you want it to share the influence. – moonboots Oct 11 '22 at 11:07

1 Answers1

0

Then you set weight for a vertex, let say 10%, for 1 bone it doesn't mean that this vertex will move 10% with this bone. Not at all. Influence that bone has at the specific point equals its weight divided by the sum of all weights from bones. So if you want bone_1 vertex with 10% weight "acts as it is 10%" you have to have other bone_2 with 90% weight.

Edit: after deleting the vertex group and re-painting with auto-normalize enabled, I find that the vertices responsible for the sharp deformation are painted red regardless of weight value.

It is colored red because the auto-normalization maintains the sum of all weights at 100%. If you only have one weight group, it will be set to 100%, because that is the only way to get the sum of one number to 100%.

Crantisz
  • 35,244
  • 2
  • 37
  • 89
  • I see, do you suggest the solution to be weight painting the vertices on a different bone that doesn't move the armature, so the vertices are shared between different vertex groups to offset the ratio? – user12100564 Oct 11 '22 at 11:12
  • no, you have some bones in torso, you should use them to make vertices gradually blend between two bones. – Crantisz Oct 11 '22 at 11:18
  • I see, I will use the hip bone to blend between with the thighs bones. Is there a better way to re-paint with auto-normalize than to paint it manually? – user12100564 Oct 11 '22 at 11:27
  • It seems parenting the mesh to the armature with automatic weights does not work. Error log: Bone Heat Weighting: failed to find solution for one or more bones – user12100564 Oct 11 '22 at 11:35
  • @user12100564 this is known: https://blender.stackexchange.com/questions/15964/heat-weighting-failed-to-find-solution-for-one-or-more-bones – Crantisz Oct 11 '22 at 11:37