BVH文件包含两部分,头部部分和数据部分,头部部分描述了骨架的层次关系和初始姿势,数据部分包含了动作(motion)的数据.
HIERARCHY
ROOT handbone
{
OFFSET -1.355774 -0.224670 0.000001
CHANNELS 6 Xposition Yposition Zposition Xrotation Yrotation Zrotation
JOINT indexlower
{
OFFSET -27.610151 27.215357 10.031754
CHANNELS 6 Xposition Yposition Zposition Xrotation Yrotation Zrotation
JOINT indexmiddle
{
OFFSET -36.039116 7.156580 -0.237765
CHANNELS 3 Xrotation Yrotation Zrotation
JOINT indextop
{
OFFSET -34.550667 3.887501 -0.676123
CHANNELS 3 Xrotation Yrotation Zrotation
End Site
{
OFFSET -20.232880 1.910034 -2.113411
}
}
}
}
上面的大括号没结素,BVH文件的格式为递归的格式,层次结构的每一个segment包含了一些相关数据,该segment要递归定义它的子segment.
JOINT middlelower
{
OFFSET -33.072830 4.725623 9.122853
CHANNELS 6 Xposition Yposition Zposition Xrotation Yrotation Zrotation
”CHANNEL“头部信息
JOINT middlemiddle
{
OFFSET -41.604553 -0.890238 -1.414906
CHANNELS 3 Xrotation Yrotation Zrotation
”JOINT“和”END SITE“关键词,一个JOINT的定义和ROOT的定义是相同的,除了CHANNEL的数目不同,JOINT正是递归开始的地方
JOINT middletop
{
OFFSET -32.933449 -1.193488 0.545149
CHANNELS 3 Xrotation Yrotation Zrotation
End Site
{
OFFSET -19.312828 -0.193849 -2.766104
}
}
}
}
END SITE结束了递归,它的定义还包含了一些数据,它提供了前segment的长度
JOINT pinkylower
{
OFFSET -16.568052 -37.329994 13.313303
CHANNELS 6 Xposition Yposition Zposition Xrotation Yrotation Zrotation
JOINT pinkymiddle
{
OFFSET -31.957144 -12.526093 0.604743
CHANNELS 3 Xrotation Yrotation Zrotation
JOINT pinkytop
{
OFFSET -24.235508 -9.966892 -0.428967
CHANNELS 3 Xrotation Yrotation Zrotation
End Site
{
OFFSET -15.827278 -6.961704 -0.213587
}
}
}
}
JOINT ringlower
{
OFFSET -27.751472 -17.756046 9.423440
CHANNELS 6 Xposition Yposition Zposition Xrotation Yrotation Zrotation
JOINT ringmiddle
{
OFFSET -37.834938 -5.653360 -4.089293
CHANNELS 3 Xrotation Yrotation Zrotation
JOINT ringtop
{
OFFSET -33.353310 -5.708067 -1.338019
CHANNELS 3 Xrotation Yrotation Zrotation
End Site
{
OFFSET -19.397255 -2.675426 -1.580985
}
}
}
}
JOINT thumblower
{
OFFSET 47.402916 42.189899 11.712247
CHANNELS 6 Xposition Yposition Zposition Xrotation Yrotation Zrotation
JOINT thumbmiddle
{
OFFSET -27.663914 21.992798 7.593588
CHANNELS 3 Xrotation Yrotation Zrotation
JOINT thumbtop
{
OFFSET -29.442574 27.200466 4.000887
CHANNELS 3 Xrotation Yrotation Zrotation
End Site
{
OFFSET -13.483565 17.937134 4.214972
}
}
}
}
JOINT wrist
{
OFFSET 79.446518 -5.274386 13.494767
CHANNELS 3 Xrotation Yrotation Zrotation
End Site
{
OFFSET 182.085037 -23.553453 82.556168
}
}
}
MOTION
数据部分以”MOTION”“*开头,后面的数字表示了帧率,下一行”**Frame Time“定义了采样频率
Frames: 258
Frame Time: 0.016667
-1.35577 -0.22467 -0.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -36.47891 2.50094 10.39955 0 0 0 0 0 0 0 0 0 -22.98663 -34.68987 38.30723 0 0 0 0 0 0 0 0 0 -30.70927 -14.37198 24.05573 0 0 0 0 0 0 0 0 0 34.38391 35.78230 39.04551 0 0 0 0 0 0 0 0 0 0 0 0
-1.35577 -0.22467 -0.00000 1.78 -14.51 -2.28 -32.39881 27.99063 15.31550 -9.14 41.56 15.77 1.32 9.17 -2.83 10.17 13.28 0.13 -36.81564 1.97739 10.57829 -16.20 66.26 8.77 -1.23 21.84 2.43 -0.28 22.93 -2.27 -23.09323 -35.66573 37.84778 -19.98 111.78 -31.62 -22.13 51.16 0.06 -8.23 10.37 -9.28 -30.62936 -14.72414 24.04171 47.34 115.70 -69.75 -13.79 38.46 17.46 10.57 22.73 -5.92 34.32804 35.22951 39.08298 59.84 15.75 17.84 -2.98 -5.37 11.44 -18.30 -5.97 -18.50 2.44 -19.32 -5.60
-1.35577 -0.22467 -0.00000 1.33 -15.61 -2.94 -32.21854 27.71887 15.25606 -9.58 42.92 16.39 1.46 10.20 -2.82 10.18 13.31 0.34 -36.94856 1.54978 10.58943 -16.93 68.53 9.25 -1.23 23.52 1.90 -0.82 23.50 -2.01 -22.89141 -36.19395 37.22012 -20.24 111.94 -31.12 -22.96 52.97 0.01 -8.45 10.57 -9.46 -30.56824 -14.91254 23.62321 45.58 115.39 -67.91 -15.69 41.75 19.04 10.93 23.64 -6.14 34.54209 34.94188 38.88417 59.74 15.77 17.82 -3.01 -5.42 11.20 -18.51 -6.02 -18.68 2.42 -18.19 -5.30