The VG Resource

Full Version: Need help with bad weighting error
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi there guys. I was checking through my models with Peardian's new model checker tool and got this error for two of them, which I would not know the first thing about fixing:

Quote:This model has 1 point(s) with bad weighting. The weights of each bone should sum up to exactly 100% for each point, as otherwise they will not move correctly. If this model was converted from another format with a tool/script, there may be a flaw in the tool/script.

These models actually had weighting issues on export from the game files (in that moving the eyes would move the mouth and opposite eye's eyelids inappropriately, as well as one side of the lower jaw moving the other side and totally breaking the model - stretching the underside of the jaw out like putty) which I fixed by removing the offending vertices from the vertex groups they weren't supposed to be in. The model now moves correctly, but throws this error, which obviously isn't ideal.

If I broke something, how do I fix it? Or is this a false positive? (Doubt it lol). I've attached the offending models, with their basic textures for ease of viewing.

[attachment=12520][attachment=12521]
I looked at the first model. One vert is not in any vertex group.

[Image: HjGlMDa.png]

Compare with the same vert on the other side

[Image: NOQmoJA.png]

So you need to add it to the Jaw_J group with weight 1.0.

Btw to find this vert I selected the mesh in Object mode, ran this from the text editor,

Code:
import bpy
me = bpy.context.object.data
for p in me.polygons: p.select = False
for e in me.edges: e.select = False
for v in me.vertices: v.select = sum(g.weight for g in v.groups) < 0.1

and then switched to edit mode and looked for the selected vert. Dunno if there's a builtin way.
Incidentally, I thought of an easier way to find unassigned verts. Go to pose mode, select the root bone, grab it, and drag it off to the side. The verts that don't move with the rest are unassigned.

[Image: m5a5cqv.png]