Incorrect Bone Transformation in Milkshape- help!

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

Recommended Posts

Hi I am working on an importer for Milkshape and have one problem with it. As far as I know milkshape expects for each bone relative position and rotation (euler angles). I extract this information from my skeleton (from matrices to vector structure- position and rotation of each bone). These parameters are relative to its parent bone (joint). Here are simple 3 bones created in 3D studio Max: then I write this info into milkshape data structure.
for( int i=0; i<NumOfBones; i++)
{
// other stuff.......
msBone_SetPosition(pBone, *Vec_My_curr_bone_pos);
msBone_SetRotation(pBone, *Vec_My_curr_bone_rot);
}


And this is what I get in milkshape: (I know my transformation is wrong) NOTE: only the first bones position (below Milkshape viewport) is correct and identical as in the above image. I am sure I have to do something with Vec_My_curr_bone_pos & Vec_My_curr_bone_rot but dont know what. I have acess to all bones so perhaps I could turn the rotations and position into matrix again and somehow subtract from the parent. I have no idea what to do :( I guess the transformations here are somehow concatenated internally in milkshape or something? any ideas?

Share on other sites
You do know that you're working with two completely different axis systems?

Max has z axis up, while Milkshape has z axis out of screen.

I think it would be a mess to figure it all out.

• Game Developer Survey

We are looking for qualified game developers to participate in a 10-minute online survey. Qualified participants will be offered a \$15 incentive for your time and insights. Click here to start!

• 15
• 22
• 17
• 46