I'm in the process of improving my Collada Parser to deal with Skinning and 
Animation. I have some high level questions about Away3D 4.0's api's.  And 
yes, I've looked at the examples - it's not clear what exactly I need to do 
from where I am now.

I currently am combining several clothing pieces (separate collada files) to 
make up my character mesh.  Those are all being properly brought in to 
individual SkinnedSubGeometry pieces, with Mesh transforms for each.  (They 
are all currently attached to one root node).

There is a separate skeleton node hierarchy that I'm also reading in, and 
the named joints are the ones that need to be associated with the skin 
weighting.

Some class needs to connect these things together - something, for each 
SkinnedSubGeometry, needs to say that joint "foo" is joint index "n" for 
this SkinnedSubGeometry.... etc.  Does such a class exist yet?

I have set up the jointIndexData and jointWeightsData from the information 
in collada in each SkinnedSubGeometry piece.

Questions:
a) I am unsure of exactly where to put DaeSkin.bind_shape_matrix and 
DaeSkin.inv_bind_matrix[]. I think the next place I need to look is 
somewhere in src/away3d/animators/skeleton/... What classes must I put 
together to do skeletal animation? Has this code changed little enough that 
I could look at Away3D 3.6 docs (which seem to be more complete) and gleam 
how to put all this together?
b) The example code (NSSSkinMesh.as for instance) seems to indicate that I 
must pre-transform the vertex x,y,z by the bindPose.  But I cannot tell if 
that assumes there is no Mesh transform also applied, or if both need to be 
done.  The data passed into NSSSkinMesh is all "pre set" and very hard to 
understand.
c) Is there a better example to refer to?
d) The NSSSkinMesh.as example code has the comment "indices need to be 
multiplied by 3 (amount of matrix registers)".  Is that a global thing 
(molehill const, I assume)?  Or is the number of matrix registers set 
someplace else in the code, and this value is just matching that?

Thanks for any help you can provide.

-Dave

Reply via email to