HottBJ re-weighting problem

I’m attempting to move the discussion of this problem off of this Announcement Topic where it started to here.  This discussion has nothing to do with Announcement.



The problem has to do skin weightings getting hosed when components of a skin & bones model being changed on the Blender side; and how to get the skin weightings working right again after this happens.

rickard said:
...

Tell me if there's anything else you want me to try.

/Rickard


From my own investigations, it seems to have to do with HottBJ and/or com.jme.animation, not the jME app.  To confirm this is the case for you, please test with both v. 1.x of Modeler and some other jME app like XmlAnimator or your own program.  Modeler uses JOGL exclusively and doesn't use the jME input or game systems at all, so it would be good to eliminate the possibility that these differences are responsible.

I have already tried both Modeler and my own app (the untextured model), and the problems remain the same.



Edit: I have also tried various other model related things, like smooth/solid faces, etc.

rickard said:

I have already tried both Modeler and my own app (the untextured model), and the problems remain the same.


Thanks.  I will continue working this, but don't hold your breath for a resolution.  It's quite hairy and it takes a lot of time to prepare each test case.

Please do report back any new details you come across.

I've been comparing the .xml output of a "good", and a "bad" mesh without being able to find any useful information. All vertices seem to have some kind of "Bone Influence" even though they don't appear to move at all when being animated in Modeler.



I also tried "Appending" the mesh and armature into a new file, with the exact same result. Not that surprising, but still, it was after appending an armature from a backup file that i got the much worse mesh (unless Blender did something else to the mesh when not saving the armature).

I may have found the problem.  Could possibly have a fix tomorrow.



UPDATE:  I have the fix!  I am being pulled off of the computer or I would wrap it up now.



Will probably be about 4 p.m. UTC 2009-09-02 before it will be ready for you to test.  I need to regression test three inter-related jME fixes and then HottBJ changes to leverage the newly fixed pieces.



I believe that this will also eliminate the bone heat requirement of HottBJ.  Maybe I could recruit ToM to help me test that… you out there, ToM?

Rickard I would be very interested in seeing your messed up model. Maybe you can send it to thomas.trocha (a.t.) gmail.com



I tested using weightpaint in order to assign vertices and weights to the selected bones.

There I found out that if you try to delete weighted areas with the "sub"-tool in the weightpaint-view they just vanish in the weightpaint-editor but remains in the vertexgroup. So as blaine already mentioned. After using weightpainter check some critical vertex-groups. (go to vertex-selection-mode,select mesh, go to edit-view,choose vertexgroup,select) There you see what vertices are really assigned to the bone (that have the same name as the vertexgroup) If there are too much verteces assgine, mark them and use the remove-button

Please test.



You'll need rev. 4658 or later of jME 2, plus HottBJ 0.3f (or build HottBJ from updated svn).

Great news! I'll sync up, and hopefully i can find time to test it out a bit later tonight.

Will get back with the results.


rickard said:

Great news! I'll sync up, and hopefully i can find time to test it out a bit later tonight.
Will get back with the results.


Very good.  ToM's doing some testing too.

FYI, after changing weights, use the Blender Mesh panel to check the actual pixel weightings.  Tom has noticed that Blender is assigning extra weights sometimes.

Did a plain export of the model, without even reapplying the boneheat and it works perfectly (except for the animation being messed up, but i think that's due to the appended armature).



So it seems to be a success!

The people looking into this issue will probably want to know about

this post.

ttrocha said:

Rickard I would be very interested in seeing your messed up model. Maybe you can send it to thomas.trocha (a.t.) gmail.com

I tested using weightpaint in order to assign vertices and weights to the selected bones.
There I found out that if you try to delete weighted areas with the "sub"-tool in the weightpaint-view they just vanish in the weightpaint-editor but remains in the vertexgroup. So as blaine already mentioned. After using weightpainter check some critical vertex-groups. (go to vertex-selection-mode,select mesh, go to edit-view,choose vertexgroup,select) There you see what vertices are really assigned to the bone (that have the same name as the vertexgroup) If there are too much verteces assgine, mark them and use the remove-button


What i meant by the animation being messed up was that the legs were moving in the wrong directions. The vertices have no problems at all after the fix.

Hmm,…I'm read all the posts now but I'm not so sure about the problem. I try to summarize:



You got a working model with an working animation. Somehow your armature vanished in blender.

You created a new one and applied it to the model. How did you reapply it?  Using the same bone

names and then using bone heat!?



Nevertheless I'm still interested in the issue with the wrong directions…so plz send me the model.

Ah ok…

Sorry for not being clear;

The animation problem was Blender related, and it's fixed now, it had nothing to do with the exporter, or jME.



When i reapplied the Armature, i appended it from a backup copy of the model, so bone names and vertex groups matched, then attached it as a modifier as usual, after clearing transforms.