动捕数据格式说明NO.1:BVH格式

本文深入解析BVH格式,一种由Biovision开发的运动捕捉数据格式。介绍了BVH格式的结构,包括标题部分的骨骼层次结构和初始姿势,以及数据部分的运动数据。详细解释了OFFSET和CHANNELS的作用,以及BVH格式的旋转顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动捕数据格式说明NO.1:BVH格式


本人Mocap小白。文中如有错误之处,请大佬们监督指正。

1.BVH格式

  BVH文件格式最初是由运动捕捉服务公司Biovision开发的,是一种向其客户提供运动捕捉数据的方法。BVH格式是一种出色的全能格式,唯一的缺点:是缺乏基本姿势的完整定义(此格式仅具有子片段与其父片段的平移偏移量,没有定义旋转偏移量),也缺少明确的信息如何绘制线段,但与运动的定义无关。

1.1解析文件

BVH由两部分组成。
1.标题部分
  这一部分主要包含的是骨骼的层次结构和初始姿势。
  简单示例如下:

'''这是从一个BVH文件的标题部分截选的右下腿数据'''
HIERARCHY #标题部分的开头以关键字“ HIERARCHY”开头
ROOT Hips #ROOT为关键字
{
	#OFFSET代表偏移量,根结点的偏移量为0
	OFFSET	0.00	0.00	0.00
	#CHANNELS 代表着是通道的个数,以及通道类型的标签。
	CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation
	#这是一种层次结构的定义方法
	JOINT RightUpLeg
	{
		OFFSET	-3.91	 0.00	 0.00
		CHANNELS 3 Zrotation Xrotation Yrotation
		JOINT RightLowLeg
		{
			OFFSET	 0.00	-17.63	 0.00
			CHANNELS 3 Zrotation Xrotation Yrotation
			JOINT RightFoot
			{
				OFFSET	 0.00	-17.14	 0.00
				CHANNELS 3 Zrotation Xrotation Yrotation
				End Site #End Site 指示当前片段是最终执行器(无子级)
				{
					OFFSET	 0.00	-3.75	 0.00
				}
			}
		}
	}
}

注解1:OFFSET偏移量的作用?
  OFFSET是该片段与其父片段的X,Y和Z偏移量。偏移信息还指示用于绘制父段的长度和方向。在BVH格式中,没有关于应该如何绘制线段的任何明确信息。这通常是从为父级定义的第一个子级的偏移量推断出来的。
注解2:在CHANNELS那一行有一点很奇怪,为什么rotation的顺序是Z->X->Y?
因为BVH格式使用了某种不同寻常的旋转顺序。按此顺序将数据元素放入数据结构。

2.数据部分
这一部分主要包含的就是运动的数据了。
示例如下:

MOTION
Frames:    2 #表示帧数
Frame Time: 0.033333 #表示数据的采样率。在示例BVH文件中,采样率为0.033333。
 8.03	 35.01	 88.36	-3.41	 14.78	-164.35	 13.09	 40.30	-24.60	 7.88	 43.80	 0.00	-3.61	-41.45	 5.82	 10.08	 0.00	 10.21	 97.95	-23.53	-2.14	-101.86	-80.77	-98.91	 0.69	 0.03	 0.00	-14.04	 0.00	-10.50	-85.52	-13.72	-102.93	 61.91	-61.18	 65.18	-1.57	 0.69	 0.02	 15.00	 22.78	-5.92	 14.93	 49.99	 6.60	 0.00	-1.14	 0.00	-16.58	-10.51	-3.11	 15.38	 52.66	-21.80	 0.00	-23.95	 0.00	
 7.81	 35.10	 86.47	-3.78	 12.94	-166.97	 12.64	 42.57	-22.34	 7.67	 43.61	 0.00	-4.23	-41.41	 4.89	 19.10	 0.00	 4.16	 93.12	-9.69	-9.43	 132.67	-81.86	 136.80	 0.70	 0.37	 0.00	-8.62	 0.00	-21.82	-87.31	-27.57	-100.09	 56.17	-61.56	 58.72	-1.63	 0.95	 0.03	 13.16	 15.44	-3.56	 7.97	 59.29	 4.97	 0.00	 1.64	 0.00	-17.18	-10.02	-3.08	 13.56	 53.38	-18.07	 0.00	-25.93	 0.00	

剩下的部分是实际的运动数据。每个line是运动数据的一个样本。(这里显示两行,是由于格式显示问题。详细可查看 完整的数据).在解析框架层次结构时,数字按通道规范的顺序显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值