My take on this is:
Header and version info:
The floats are the time in seconds for the animation frames. This is for
MTW2_Spear_stand_A_to_ready.cas
Code:
3.21000003815 38 9 0 1.20000004768 1 0 0 0
1 0 102 0.00648193340749 0 0 1
21
0 0 1 2 3 1 5 6 7 7 6 10 11 12 6 14 15 16 1 18 19
25
+0.0000 +0.0500 +0.1000 +0.1500 +0.2000 +0.2500 +0.3000 +0.3500 +0.4000 +0.4500 +0.5000 +0.5500 +0.6000 +0.6500 +0.7000 +0.7500 +0.8000 +0.8500 +0.9000 +0.9500 +1.0000 +1.0500 +1.1000 +1.1500 +1.2000
Bone Section:
Code:
Scene Root
0 0 0 8000 0 1 0
bone_pelvis
25 25 0 8000 0 1 0
bone_RThigh
25 25 400 8300 0 1 0
bone_Rlowerleg
25 25 800 8600 0 1 0
bone_Rfoot
25 25 1200 8900 0 1 0
bone_abs
25 25 1600 9200 0 1 0
bone_torso
25 25 2000 9500 0 1 0
bone_head
25 25 2400 9800 0 1 0
bone_jaw
25 25 2800 10100 0 1 0
bone_eyebrow
25 25 3200 10400 0 1 0
bone_Rclavical
25 25 3600 10700 0 1 0
bone_Rupperarm
25 25 4000 11000 0 1 0
bone_Relbow
25 25 4400 11300 0 1 0
bone_Rhand
25 25 4800 11600 0 1 0
bone_Lclavical
25 25 5200 11900 0 1 0
bone_Lupperarm
25 25 5600 12200 0 1 0
bone_Lelbow
25 25 6000 12500 0 1 0
bone_Lhand
25 25 6400 12800 0 1 0
bone_LThigh
25 25 6800 13100 0 1 0
bone_Llowerleg
25 25 7200 13400 0 1 0
bone_Lfoot
25 25 7600 13700 0 1 0
Too much stuff to post but the quats are by bones now
with all frame information in one block. Much better for conversion
to Milkshape because that's Mete's exact layout. This is bone_pelvis
entry:
Code:
-0.108608551323 -0.007828859612 -0.000920463295 +0.994053363800
-0.084384687245 +0.022708337754 -0.011063469574 +0.996113002300
-0.058044090867 +0.053880218416 -0.021976348013 +0.996616721153
-0.030463287607 +0.085392631590 -0.033235911280 +0.995326817036
-0.007472235244 +0.115757785738 -0.047936283052 +0.992091953754
+0.028245884925 +0.166402772069 -0.072737179697 +0.982965707779
+0.043766327202 +0.193626761436 -0.084212407470 +0.976473987103
+0.057122029364 +0.221825778484 -0.094888709486 +0.968775808811
+0.066032424569 +0.247784942389 -0.103079698980 +0.961049914360
+0.070230528712 +0.272408127785 -0.108502551913 +0.953461408615
+0.070291444659 +0.297054886818 -0.111331865191 +0.945739269257
+0.067297339439 +0.320091962814 -0.111844815314 +0.938351154327
+0.059432417154 +0.348196655512 -0.109153442085 +0.929146051407
+0.049886766821 +0.368794888258 -0.103129789233 +0.922423899174
+0.043417390436 +0.376555502415 -0.097042590380 +0.920273661613
+0.037343896925 +0.377277672291 -0.089149504900 +0.921042561531
+0.029859540984 +0.368926137686 -0.078202642500 +0.925681531429
+0.020579544827 +0.353258907795 -0.064406000078 +0.933079063892
+0.011515665799 +0.333706319332 -0.049672160298 +0.941297054291
+0.004295732826 +0.315065413713 -0.036236159503 +0.948368191719
+0.003431262448 +0.283683806658 -0.022887952626 +0.958638548851
+0.005944626406 +0.273603349924 -0.016878437251 +0.961676120758
+0.008991812356 +0.267771750689 -0.011048658751 +0.963377058506
+0.011831115931 +0.264247536659 -0.005632948596 +0.964365839958
+0.013679862022 +0.261084914207 -0.000808692246 +0.965218544006
This corner-turn is perfect to write into the rotation keyframes for
Milkshape.
Position data follows but only the first bone block for bone_pelvis
matters. The rest are very small deltas. This is like the relative
floats of the raw format. Note the z-component to move the animation
forward.
Code:
-0.000002666947 +0.972795665264 +0.000162427896
-0.022701801732 +0.968579053879 -0.019661828876
-0.047594968230 +0.965409278870 -0.039041973650
-0.073586426675 +0.962764978409 -0.058199759573
-0.099584691226 +0.965991497040 -0.071735151112
-0.143026933074 +0.971794426441 -0.092757597566
-0.161704316735 +0.973607599735 -0.105233184993
-0.178335353732 +0.973865330219 -0.119232922792
-0.189656645060 +0.971897959709 -0.133856356144
-0.194005906582 +0.965716838837 -0.150296986103
-0.191132619977 +0.953903973103 -0.169709458947
-0.182952329516 +0.938509345055 -0.190593883395
-0.165881812572 +0.913662731647 -0.220546051860
-0.146148547530 +0.890212774277 -0.248966440558
-0.132748499513 +0.877652108669 -0.266761720181
-0.120905637741 +0.869793772697 -0.281699597836
-0.109561815858 +0.867194533348 -0.293205916882
-0.097663201392 +0.868378937244 -0.302077472210
-0.086146891117 +0.872312545776 -0.308713793755
-0.075999587774 +0.876713454723 -0.314233064651
-0.065458685160 +0.895100176334 -0.310706079006
-0.060107916594 +0.901992797852 -0.309674441814
-0.054997127503 +0.906326234341 -0.309960007668
-0.050200626254 +0.909838914871 -0.310802549124
-0.045792661607 +0.914269447327 -0.311441510916
Finally, the skeleton pose data follows with NBONES=21 because
Scene_Root is in there. First two lines are Scene_Root and
bone_pelvis.
Code:
+0.000000000000 +0.000000000000 +0.000000000000
+0.000000000000 +0.000000000000 +0.000000000000
+0.095238812268 +0.000752284715 -0.000000007690
+0.022561285645 -0.464448839426 +0.014395990409
+0.024162683636 -0.399506568909 -0.031633902341
-0.000000006937 +0.212462007999 +0.000000000765
-0.000294532976 +0.211557894945 +0.000000029888
-0.000061708190 +0.234973102808 +0.000000066748
+0.000356251665 +0.010810676962 -0.003447051859
+0.001683695358 +0.117848567665 -0.074460588396
+0.013254644349 +0.130011290312 -0.027383917943
+0.165358901024 -0.051783658564 +0.003483306849
+0.302206397057 +0.011138660833 -0.013769198209
+0.283836990595 -0.003055675887 +0.026337502524
-0.010222089477 +0.130011290312 -0.027383917943
-0.167802318931 -0.051783755422 +0.003483355278
-0.302173316479 +0.011195489205 -0.014431442134
-0.283801048994 -0.003200337524 +0.026704434305
-0.095238782465 +0.000752363936 +0.000000021998
-0.021609351039 -0.464143663645 +0.023078495637
-0.025077503175 -0.398637473583 -0.040611520410
Last is some footer stuff I haven't sorted out.
This is really exciting because we don't have to deal with the mess
in skeletons.dat anymore (although I could kick myself for all the utilities
I made to deal with this). So a basic animmerge/animextract with the
new format should be cake but dealing with new skeletons will take
some thought. Wish it was a 3-day weekend coming up.
Bookmarks