[Papervision3D] Collada Biped
Jon Bradley
jbradley at postcentral.com
Thu Feb 22 22:48:17 EST 2007
On Feb 22, 2007, at 9:07 PM, jakelewis wrote:
> What you need to derive from this, as part of your once-off client
> side
> startup, is:
>
> For each bone, for each vertex that it exerts influence on,
> calculate the
> vertex's position relative to the bone.
> Store that position vector in an
> array on the bone, along with the weight that bone applies to it,
> and the
> address of the destination vertex.
That's a good thought you provided Jake, but there's no need to do
any of the relative positioning stuff. You have it pretty much right
later in your email. A bone == a transformation matrix, and that's
all there is to it. There is no positional or 'distance from a bone'
calculations necessary. That is all handled by the transformation
matrix of the bone itself (and the model matrix).
The technique is called matrix palette blending, for those that are
looking for information.
Here's a very useful example:
http://www.cyberkreations.com/kreationsedge/index.php?url=tut/Games/
SWSkinning
Pretty much all of the 3d applications use quaternions for bones.
It's easier to slerp ...
Do a search for "matrix palette blending" in google. Most of the
stuff you'll find pertains to vertex shaders because this is support
directly on the GPU. The link I posted above is definitely more
applicable to PV3D and software skinning.
cheers,
Jon
Jon Bradley
VFX Artist / Animator
Post Central, Inc.
jbradley at postcentral.com
www.cherrycrushthemovie.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://osflash.org/pipermail/papervision3d_osflash.org/attachments/20070222/987998e9/attachment.htm
More information about the Papervision3D
mailing list