BVH后缀文件格式
BVH后缀文件,是一种动作格式,它是由BioVision等设备进行动捕采集后产生的一种约定的动作格式。它只包含骨骼的层次关系结构以及动作序列数据,而不像FBX文件一样,包含角色的蒙皮信息、点面、场景等信息,但也是一种比较通用的动画文件格式,被例如Maya,3DMax,MotionBuilder等主流的动画制作软件支持。
文件格式
上面简介提到BVH后缀文件,只包含了两方面的信息,骨骼的信息及动画序列帧的信息。
示例文件格式
HIERARCHY
ROOT Hips
{
OFFSET 0.00000 0.00000 0.00000
CHANNELS 6 Xposition Yposition Zposition Zrotation Yrotation Xrotation
JOINT LHipJoint
{
OFFSET 0 0 0
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT LeftUpLeg
{
OFFSET 1.65674 -1.80282 0.62477
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT LeftLeg
{
OFFSET 2.59720 -7.13576 0.00000
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT LeftFoot
{
OFFSET 2.49236 -6.84770 0.00000
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT LeftToeBase
{
OFFSET 0.19704 -0.54136 2.14581
CHANNELS 3 Zrotation Yrotation Xrotation
End Site
{
OFFSET 0.00000 -0.00000 1.11249
}
}
}
}
}
}
JOINT RHipJoint
{
OFFSET 0 0 0
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT RightUpLeg
{
OFFSET -1.61070 -1.80282 0.62476
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT RightLeg
{
OFFSET -2.59502 -7.12977 0.00000
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT RightFoot
{
OFFSET -2.46780 -6.78024 0.00000
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT RightToeBase
{
OFFSET -0.23024 -0.63258 2.13368
CHANNELS 3 Zrotation Yrotation Xrotation
End Site
{
OFFSET -0.00000 -0.00000 1.11569
}
}
}
}
}
}
JOINT LowerBack
{
OFFSET 0 0 0
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT Spine
{
OFFSET 0.01961 2.05450 -0.14112
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT Spine1
{
OFFSET 0.01021 2.06436 -0.05921
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT Neck
{
OFFSET 0 0 0
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT Neck1
{
OFFSET 0.00713 1.56711 0.14968
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT Head
{
OFFSET 0.03429 1.56041 -0.10006
CHANNELS 3 Zrotation Yrotation Xrotation
End Site
{
OFFSET 0.01305 1.62560 -0.05265
}
}
}
}
JOINT LeftShoulder
{
OFFSET 0 0 0
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT LeftArm
{
OFFSET 3.54205 0.90436 -0.17364
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT LeftForeArm
{
OFFSET 4.86513 -0.00000 -0.00000
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT LeftHand
{
OFFSET 3.35554 -0.00000 0.00000
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT LeftFingerBase
{
OFFSET 0 0 0
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT LeftHandIndex1
{
OFFSET 0.66117 -0.00000 0.00000
CHANNELS 3 Zrotation Yrotation Xrotation
End Site
{
OFFSET 0.53306 -0.00000 0.00000
}
}
}
JOINT LThumb
{
OFFSET 0 0 0
CHANNELS 3 Zrotation Yrotation Xrotation
End Site
{
OFFSET 0.54120 -0.00000 0.54120
}
}
}
}
}
}
JOINT RightShoulder
{
OFFSET 0 0 0
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT RightArm
{
OFFSET -3.49802 0.75994 -0.32616
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT RightForeArm
{
OFFSET -5.02649 -0.00000 0.00000
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT RightHand
{
OFFSET -3.36431 -0.00000 0.00000
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT RightFingerBase
{
OFFSET 0 0 0
CHANNELS 3 Zrotation Yrotation Xrotation
JOINT RightHandIndex1
{
OFFSET -0.73041 -0.00000 0.00000
CHANNELS 3 Zrotation Yrotation Xrotation
End Site
{
OFFSET -0.58887 -0.00000 0.00000
}
}
}
JOINT RThumb
{
OFFSET 0 0 0
CHANNELS 3 Zrotation Yrotation Xrotation
End Site
{
OFFSET -0.59786 -0.00000 0.59786
}
}
}
}
}
}
}
}
}
}
MOTION
Frames: 344
Frame Time: .0083333
10.4194 16.7048 -30.1003 0 0 0 0 0 0 -21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -16 0 0 21 0 0 11 0 0 0 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10.4194 16.7048 -30.1003 -3.0091 -9.8219 -2.4897 0.0000 0.0000 0.0000 -18.0446 -10.2175 -26.2498 1.4013 7.4881 21.1699 0.2330 8.5828 -15.9324 0.2929 -3.4800 -9.6181 0.0000 0.0000 0.0000 29.1293 -3.6110 15.8991 -0.3725 -3.9201 10.8519 -0.6825 6.2727 -14.7431 -0.0527 -1.4809 4.0732 6.3571 1.5727 7.8657 1.6568 2.5523 3.4726 -2.0553 1.3194 -0.5996 1.0344 4.0671 -12.4901 -6.4073 5.6125 1.6178 -1.9275 2.5474 2.9723 -0.0000 -0.0000 0.0000 -97.1263 11.9937 -11.0756 10.5241 -17.5551 -1.6295 -0.0000 0.0000 -12.6310 23.5583 21.1175 8.9277 -7.1250 0.0000 -0.0000 -5.2755 52.7512 -1.0085 -0.0000 -0.0000 0.0000 79.2056 20.4339 39.6313 -27.5584 38.7065 -9.8463 0.0000 -0.0000 -16.7798 -27.1684 16.6447 -8.3631 7.1250 -0.0000 -0.0000 0.4335 -11.4059 0.3392
10.4117 16.6840 -29.9168 -2.8324 -10.0082 -2.6973 0.0000 0.0000 0.0000 -18.4895 -10.0633 -25.9885 1.4065 7.5015 21.2098 0.2480 8.6911 -16.2519 0.2003 -2.8821 -7.9508 0.0000 0.0000 0.0000 28.7900 -3.8515 16.9043 -0.3539 -3.8220 10.5765 -0.6559 6.1982 -14.4538 -0.0125 -0.7227 1.9860 6.0933 1.6537 7.4460 1.6717 2.5855 3.9125 -1.8691 1.3599 0.0785 1.0366 4.1508 -13.0403 -6.4380 5.7170 1.4195 -1.9235 2.5921 3.0132 -0.0000 -0.0000 0.0000 -97.3364 11.3145 -11.3034 10.4827 -17.4911 -1.6170 -0.0000 0.0000 -12.3811 23.5978 21.2862 9.0113 -7.1250 0.0000 -0.0000 -5.2867 52.9365 -1.0346 -0.0000 -0.0000 0.0000 79.1495 21.1301 39.3328 -27.3997 38.5577 -9.7472 0.0000 -0.0000 -16.5037 -26.5045 16.3273 -7.9803 7.1250 -0.0000 -0.0000 0.8424 -11.8559 0.6514
10.4037 16.6749 -29.7319 -2.6791 -10.1104 -2.7368 0.0000 0.0000 0.0000 -18.9187 -9.8969 -25.9377 1.4375 7.5803 21.4464 0.2374 8.7180 -16.1405 0.2328 -3.1057 -8.5732 0.0000 0.0000 0.0000 28.4426 -4.0488 17.3731 -0.3777 -3.9471 10.9279 -0.6477 6.4657 -14.3832 -0.0024 -0.3154 0.8665 5.9316 1.7492 7.3152 1.6154 2.6891 3.9685 -1.8373 1.4145 0.2110 1.0695 4.1419 -13.1188 -6.2522 5.6698 1.0819 -1.8696 2.5820 2.9022 -0.0000 0.0000 0.0000 -97.3210 11.0666 -11.6096 10.3303 -17.2545 -1.5715 -0.0000 0.0000 -11.6134 23.4380 20.7401 8.7281 -7.1250 0.0000 -0.0000 -5.2846 52.3309 -0.9558 -0.0000 0.0000 0.0000 79.1778 21.2872 39.1085 -27.0941 38.2688 -9.5574 0.0000 -0.0000 -16.2262 -26.6532 16.4528 -8.0908 7.1250 -0.0000 -0.0000 0.7556 -11.6959 0.5868
如上面示例文件,HIERARCHY部分,定义了整个的层次关系,以及绑骨姿势,而后面的MOTION部分,则定义了整个动画序列的帧信息。
骨骼信息
骨骼信息,由HIERARCHY作为标识符,以ROOT作为根节点标识,以{}作为段标识, 以JOINT作为子节点标识,以此递归, 最后的末节,以End Site段结束。
每个节点段,一般都包含有两个信息OFFSET和CHANNELS。
- OFFSET 是该节点相对于父节点的偏移量。一般有XYZ三个分量。
- CHANNELS代 表动画序列数据的处理方式,CHANNELS后面接有一个整数,代表有几个通道,一般来说,ROOT节点会有6个通道,如上示例有Xposition Yposition Zposition Zrotation Yrotation Xrotation,分别代表的动画序列的数据按下面的方式存储,前三个代表的是位置偏移量顺序,后三个代表的是旋转角度顺序。而子节点,一般情况下,只有3个通道,代表的角度旋转顺序。
动画序列信息
动画信息,由MOTION作为标识符。
- Frames 定义了帧数。
- Frame Time定义了数据采样率(帧率)
- 后面每一行,存放的是每一帧的动画的旋转偏移信息。从而,由多行数据形成动画序列。
最终解析后上面的示例文件的效果如下图所示
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbgbee
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13