Jump to content
Sign in to follow this  
Alwarren

Need help figuring out the bone transform matrices in RTM files

Recommended Posts

I am currently trying to figure out how the RTM files work in order to export them directly from Blender. However, I am having severe difficulties interpreting the Transform matrices stored in the RTM files.

Just as an example, for a 45 degrees rotation of the right fore arm and moving the skeleton up by 1 I get the following matrix:

   Bone: RightForeArm
      0.842780 0.153279 0.515973 0.000000
      0.139326 0.863802 -0.484185 0.000000
      -0.519916 0.479950 0.706637 0.000000
      -0.062895 1.063290 0.352678 1.000000

The Wiki says this is a transform matrix for DirectX, so I tried to "extract" scaling, transform and rotation from it and came up with this:

       
      rotation   : -34.418795 -31.062526 10.307880
      scale      : 1.000000 1.000001 1.000000
      translation: -0.062895 1.063290 0.352678

However, if I apply this to the skeleton, it comes up wrong. I got the right forearm to rotate correctly (i.e. it is rotated 45 degrees around its axis) by inverting the second (Y) rotation angle. However, translating this by the given translation will not result in the arm snapping to the right location.

Anyone has more insight into these things? Help much appreciated.

Share this post


Link to post
Share on other sites

The only info I ever saw outside of the wiki and I believe that was a community member updating how number of float pointss had changed or something ? Was in ofpanim , it also saved rtms and had lpv files and more info , those rtms still work in A3 so any info there may be relevant.

Love what you doing for Blender users , many thanks , I currently enjoy BVH or FBX export using the skeleton from armaholic , BVH hacker allows the frame reduction that for me is better than the HalfRate ? I think it is in o2 .

However straight out from blender will be a dream for me and many im sure .

Im currently strugglung with cloth to keyframe to o2 its a nightmare but im a noob so all shortcuts are gracefully recieved.

Edited by Sealife

Share this post


Link to post
Share on other sites
The only info I ever saw outside of the wiki and I believe that was a community member updating how number of float pointss had changed or something ? Was in ofpanim , it also saved rtms and had lpv files and more info , those rtms still work in A3 so any info there may be relevant.

Yeah, that stuff seems very mysterious unfortunately.

Love what you doing for Blender users , many thanks , I currently enjoy BVH or FBX export using the skeleton from armaholic , BVH hacker allows the frame reduction that for me is better than the HalfRate ? I think it is in o2 .

However straight out from blender will be a dream for me and many im sure .

Im currently strugglung with cloth to keyframe to o2 its a nightmare but im a noob so all shortcuts are gracefully recieved.

Well, I prefer straight out export. I want a decent rig for the skeleton with IK controllers. Right now, my (non-functional) exporter ignores bones with an '@'-Sign, so I can add any number of IK controllers to the skeleton in order to make it more user-friendly. Also, I want to be able to save keyframes only, and, well, I don't like switching applications :)

Share this post


Link to post
Share on other sites

The best people woukd be T_D , Mikero and Synide , they seem to do a lit with file info for tools and such , hopefully they will see the post

Otherwise I believe they can be found on tools channel in skype .

In desperation seek dschulle ofpanim in google maybe it gives hints :) , good luck and if I finish controllers in my skeleton update from that on downl8aded fromArmaholic I post here

Oh ther is also this

Fab's rtm : http://www.armaholic.com/page.php?id=2912

Edited by Sealife

Share this post


Link to post
Share on other sites

Well, seems I figured out what the matrix is. It is, plain and simple, an affine transformation that transforms the rest position points into the pose position points. Now, I need to find a way to create this matrix, but as far as I can see, that is basically the same idea as displaying the mesh.

Share this post


Link to post
Share on other sites

sounds like progress :)

was it something like you thought originally ?

 
BoneName
RotX RotY RotZ Frame0
ScaleX ScaleY ScaleZ Frame0
TranX TranY TranZ Frame0
[/Code]

Share this post


Link to post
Share on other sites

No, the matrix is an affine transformation. I figured out how to make them from Blender, so the next version of the Toolbox (coming soon) will have support for RTM export.

Contemplating import now, since it would allow to load the original hand positions and stuff like that.

Share this post


Link to post
Share on other sites

I'll check that one out, no idea how it is build up though; I require that all bones that do not belong to the Arma skeleton be named with an '@' at the start or end of the name. I have made a (rather primitive) rig which I was planing to expand on, but if that one's usable it saves me work :)

Share this post


Link to post
Share on other sites

I haven't used it to get files into to A2/A3.But it does export to BVH without any problems.

From there the BVHs convert successfully via O2.Testing in O2 PE shows the mesh deforming

correctly.I've got quite a few full character animations into OFP/CWA already.So the process

is reliable.

The underlying bone structure is slightly more complex than is necessary for the proxies.

Unfortunately the BVH export needs all bones weighted to a mesh to remain connected.

Otherwise you get an offset equal to the length of the disconnected bone.

Share this post


Link to post
Share on other sites

Yeah, I tried the rig and it doesn't work because of the different bone groups. My primitive rig is, well, primitive, I just added a few constrains and IK controllers to it. So far it works for the basic stuff. It's too bad, I would have preferred to use your rig since it also has the nice custom bone shapes :)

Anyway, it can probably be adjusted to work with the exporter if all bones belong to the same armature. As I said above, bones that start or end with an @ are not exported, so it ignores my IK controllers. If you want to test the exporter, let me know, I can send you a preliminary version.

Share this post


Link to post
Share on other sites

I am interested as well into making sense of those rtms for making a direct exported from max anim to rtm.

So if you have nothing against, i'll bug you the following days with wurstion regarding the translator between the input and output for such an exporter

Either way, nicely done

Share this post


Link to post
Share on other sites
I am interested as well into making sense of those rtms for making a direct exported from max anim to rtm.

So if you have nothing against, i'll bug you the following days with wurstion regarding the translator between the input and output for such an exporter

Either way, nicely done

No problem, more than willing to share what little I know :)

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×