Do the following things to the translations
1. scale by the model offset, this should move the translations into the correct units (meters).
2. compute the ratio between the bone length in the animation and the skeleton.
3. subtract the anim translation from the first translation frame in the animation
effectively turning it into a bind pose delta translation.
4. apply bone length ratio to the resulting delta.
5. set the final translation to be the skeleton rel bind pose + this scaled delta translation
This will recurse the tree and call setCurrentFrameInternal on each node.
This method can be overriden, currently the only meaningful implementation is AnimClip.
When TRUST_BIND_TRANSFORM is defined in AnimSkeleton, the bind pose is taken
from the FBXJoint::bindTransform field, which is correct for all joints
bound to actual geometry. Basically it's not trust worthy for bones NOT bound to anything.
When TRUST_BIND_TRANSFORM is not defined, the bind pose is taken from the other
FBXJoint fields. Unfortunatly these poses are NOT the bind pose, but instead
are taken from the FBX files 'resting' pose. i.e. frame 0.
std::vector.reserve() and raw access do not mix.
raw access will only work if you push_back elements onto the vector
first. However this worked fine on MacOSX, probably due to differences
in STL implementations.
Some code clean up and some commented out debugging lines.
Debug rendering of animaions of fight club model is not working.
Not sure what frame these transformations are in.
* added AnimPose::copyFromNetworkAnim() which
should, re-map bone ids to match the current
skeleton, and fill in missing bones with bind
pose frames.
* added ability to set a skeleton on a node.
I might need to add a recursive version of this.
* it compiles!
* tests run!