Sorry to take so long to look at this, hasn't been a slow week.
Let's just do the noh for now. If I use Grumpy's converter and back
convert I see this when I make a text representation of the mesh file
for the weighting. (Just a few vertices here.)
Code:
18 0 [ 10] 1 0 0 0
{222} (weights: float pairs)
0.00000000 2.54999995
0.00000000 2.54999995
0.00000000 2.54999995
0.00000000 2.54999995
0.00000000 2.54999995
0.00000000 2.54999995
0.00000000 2.54999995
0.00000000 2.54999995
0.00000000 2.54999995
0.00000000 2.54999995
0.00000000 2.54999995
0.00000000 2.54999995
0.00000000 2.54999995
The first column is the primary weight and the second is the secondary weight.
Without the model comment the converter is finding the hex FF (in decimal
for a unsigned byte this is 255) meaning -1 for no bone assignment and putting
that in the weight vector. The game obviously isn't able to deal with this.
My simple-minded suggestion of putting in the model comment doesn't fix it
up correctly; something is still going wrong. Here's some of what I see after
the back conversion.
Code:
18 0 [ 10] 1 0 0 0
{222} (weights: float pairs)
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
1.00000000 0.00000000
Same section of the mesh file. The weights are correct! Sadly, the bone
assignment section looks like this:
Code:
28 0 1 0 [ 14] 2 0 0 0 0 0
{222} (assignments: byte quads)
0 255 20 0
0 255 20 0
0 255 20 0
0 255 20 0
0 255 20 0
0 255 20 0
0 255 20 0
0 255 20 0
0 255 20 0
0 255 20 0
0 255 20 0
0 255 20 0
0 255 20 0
0 255 20 0
0 255 20 0
The 20's in the third column are a primary assignment to Grumpy's
composite bone, bone_weapon_weapon01. That's ok (I think) but the
second column is the secondary assignment to bone number 255 which
is also signed byte -1. I don't think the mesh format likes that.
So I took that file and imported it into Gmax and exported again because
I know my import/export script fixes up secondary assignments and assigns
everything to bone_pelvis with a weight of 0.0. Now the same section looks
like this:
Code:
28 0 1 0 [ 14] 2 0 0 0 0 0
{222} (assignments: byte quads)
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 20 0
0 0 4 0
0 0 5 0
0 0 5 0
0 0 5 0
0 0 5 0
0 0 5 0
0 0 9 0
0 0 5 0
0 0 9 0
( I showed a little more to show the assigments eventually go over
to regular bone indices like 4 and 5.)
The short story is: the back converted noh_lod0.mesh file with this
procedure is here:
http://rapidshare.com/files/11522983...lod0.mesh.html
Try this one in-game and see if it works. If so, I can do the same thing
to the other three files you posted and see how that goes. If not,
I think I'm stumped; I can't find anything else in the mesh format that
might be wrong.
Bookmarks