Users browsing this thread:
Weird Bad Weighting error, false positive?
#1
Hi all, need a hand because I haven't been able to find a solution.

So I've been ripping rigged models from Monster Hunter Stories. I check all the bones, all is well. But when I put the model though the model checker, I get this:


Quote:This model has 1641 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.


So naturally, I check the model again, using these scripts to find any weights that aren't adding up.

Quote:mport 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) > 1
^For finding unassigned vertices



Quote: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) > 1
^For finding overweighted vertices

The overweighted one finds a bunch. So naturally I check one of the offending vertices, in this case, the tip of the longest claw. 
[Image: Bad-Weights.png]

And get this, the weights add up to exactly 1! 0.698039+0.301961 = 1! Yep, I even copied the exact numbers Blender provided into my calculator to make sure.

[Image: It-Equals1.png]


WTF is happening? Is the error so infinitesimally small that Blender can't display to enough decimal places, or is there something else going on? I attached a model as a sample.

Thanks for any assistance.


Attached Files
.zip   Yian Kut-Ku.zip (Size: 348.83 KB / Downloads: 88)
Reply
Thanked by: Rathalos
#2
When Blender does skinning it automatically normalizes all non-zero weights so they sum to 1. The COLLADA exporter normalizes weights when it exports too. So for Blender, you don't have to worry about the weight sum being exactly 1, it only has to be positive. You only need to worry about unassigned verts.

Your mesh has a bunch of loose verts. They aren't assigned to a group, so that's why the checker is mad. To clean it up, select all your meshes, go into edit mode, press A to select everything, then pick Mesh > Clean Up > Delete Loose from the menu in the viewport. It will delete about 1600 junk verts. Exit edit mode, then export to COLLADA, and the checker should be happy.
3D Screenshot Tools (NDS / N64 / PS1 / PS2)
Other Tools (apicula / Vagrant Story / Star Ocean Blue Sphere)
Reply
Thanked by: Nooga
#3
(12-15-2021, 02:33 PM)scurest Wrote: When Blender does skinning it automatically normalizes all non-zero weights so they sum to 1. The COLLADA exporter normalizes weights when it exports too. So for Blender, you don't have to worry about the weight sum being exactly 1, it only has to be positive. You only need to worry about unassigned verts.

Your mesh has a bunch of loose verts. They aren't assigned to a group, so that's why the checker is mad. To clean it up, select all your meshes, go into edit mode, press A to select everything, then pick Mesh > Clean Up > Delete Loose from the menu in the viewport. It will delete about 1600 junk verts. Exit edit mode, then export to COLLADA, and the checker should be happy.

Thanks a bunch, that worked perfectly!
Reply
Thanked by:
#4
Thumbs Up 
(12-15-2021, 10:30 PM)Nooga Wrote:
(12-15-2021, 02:33 PM)scurest Wrote: When Blender does skinning it automatically normalizes all non-zero weights so they sum to 1. The COLLADA exporter normalizes weights when it exports too. So for Blender, you don't have to worry about the weight sum being exactly 1, it only has to be positive. You only need to worry about unassigned verts.

Your mesh has a bunch of loose verts. They aren't assigned to a group, so that's why the checker is mad. To clean it up, select all your meshes, go into edit mode, press A to select everything, then pick Mesh > Clean Up > Delete Loose from the menu in the viewport. It will delete about 1600 junk verts. Exit edit mode, then export to COLLADA, and the checker should be happy.

Thanks a bunch, that worked perfectly!

good to hear that you can have the models properly.may you send me them?i really look forward to the models of monstie!my email [email protected]
Reply
Thanked by:


Forum Jump: