COLLADA Skinning Equation

Started by
-1 comments, last by pondwater 11 years, 10 months ago
Okay so i've got what seems to be two decently reliable sources for COLLADA skinning and the equations are as follows:

A)

for 0<=n<influences
Position = VertexPosition x (Bind Shape x ?(MatrixPallette[n] x Weight[n]))

where:
MatrixPallette[n] = inverseBindPose[n] x worldTransforms[n]
worldTransforms[n] = BindPose[n] x worldTransforms[parent]


B)

for 0<=n<influences
VertexPosition+= {[(VertexPosition* Bind Shape) * MatrixPallette[n]] * Weight[n]}

where:
MatrixPallette[n] = inverseBindPose[n] x worldTransforms[n]
worldTransforms[n] = BindPose[n] x worldTransforms[parent]


EDIT:

Alright I got everything working. Incase anyone stumbles across this post in the future, both methods give identical results. So the equations are equivolent. Equation A) seems to be more efficient when crunching it out on the CPU (at least with my class structures) but this is all temporary as I plan on using skinning it on the GPU later. My problem wasn't my skinning equation, it was my model files, im not sure what I did in Maya the first time but I clearly messed something up with the skinning. Re-skinned and exported the .dae. All is well now.

These were the two resources I used to complete my COLLADA loader, run-time format converter, and animating proceedure.

http://www.wazim.com..._Tutorial_1.htm (Incredible tutorial although I used my own .dae files produced from Maya 2012 which were much easier to parse I found)

http://thecansin.com/Files/COLLADA.pdf (Used to cross reference anything I didn't understand completely)

This topic is closed to new replies.

Advertisement