This topic is 2039 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

Recommended Posts

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) Edited by pondwater