• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

BVH后缀文件格式

武飞扬头像
GF89
帮助1

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
系列文章
更多 icon
同类精品
更多 icon
继续加载