i would like more information about this topic too!

if i got this right, all Joint-indices for a vert are stored in a
AttributRegister and the weights are stored in another
AttributRegister. (thats two used Va for max. 4 Joints per Vert)

A smart guy in the adobe Forum came up with a trick to store indices
and weights in one AttributRegister by combining both numbers to one,
and telling the GPU how to split them again (example: Index= 4,
weight= 0.56, combined Index/weight = 4.56).

each Joints position (Matrix) is stored in 3 Vc (molehill can handle
128 Constantregisters, so max Joints for a mesh are 128/3 = 42.

would you share youre collada parser ?

On 9 Apr., 00:01, Dave <[email protected]> wrote:
> 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