12-15-2021, 12:15 AM
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:
So naturally, I check the model again, using these scripts to find any weights that aren't adding up.
The overweighted one finds a bunch. So naturally I check one of the offending vertices, in this case, the tip of the longest claw.
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.
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.
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^For finding unassigned vertices
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
Quote:import bpy^For finding overweighted vertices
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
The overweighted one finds a bunch. So naturally I check one of the offending vertices, in this case, the tip of the longest claw.
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.
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.