Apologies if this isn't the right place for this, I've tried a few online forums, including Discreet's Sparks website without much response. Here's my issue.
For the rotations on my animation keys I'm using the quats defined by Max. The only issue that I had to overcome with that was that my engine understands y to be up, whereas Max understands z to be up. This was easily solved by swapping columns 2 & 3 when I converted animation keys into matrices before sending to the skinning routine (thereby swapping the y/z axes -- effectively the animation engine works in "Max's space").
Now that I'm trying to do some simple IK stuff, I'm having problems. Since all of the rotation keys that I use are considered to be in your parent's bone space, I need to calculate the rotation for a bone in Max's z-up quat space. I'm trying to do a simple CCD system, and I thought it would be sufficient to simply swizzle y/z of the axis of rotation when I build my quats, but that doesn't seem to be working -- I'm getting results that look just plain wrong.
Obviously I'm missing something obvious, can somebody help me out here?
Ryan Greene