【译】BVH,Biovision hierarchy 关于BVH 文件类型

这是一篇翻译,因为要了解一些BVH,看到一篇文章还不错,也不长,就边翻译边记录一下吧。

原文链接: http://www.mindfiresolutions.com/BVH-biovision-hierarchy.htm

原文作者:Manjunath

背景:

原文作者要将动画数据导出到 .bvh文件中,没有相关的SDK来写bvh文件,所以他就写了一个C++来导出animation data到bvh的代码。

BVH 介绍

BVH是一种动画格式,使用ROOT,JOINTS,OFFSET等术语来保存动画数据。

BVH 格式

【一张鬼畜的图,不说这个图魔性的时候都看不出来灵魂画手画的是啥。】


BVH Sample File

下面给出了一个非常简单的bvh文件的内容

—————————————— bvh sample ————————————————————————

HIERARCHY

ROOT Neck

{

OFFSET 0.000000 0.000000 0.000000

CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation

JOINT Head

{

OFFSET 0.200000 0.400000 0.500000

CHANNELS 3 Zrotation Xrotation Yrotation

End Site

{

OFFSET 0.600000 8.000000 2.000000

}

}

}

MOTION

Frames: 1

Frame Time: 0.040000

0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

BVH的详细介绍

一个bvh文件包含两个部分:Hierarchy 和 Motion

1. Hierarchy 骨骼层次

  • BVH 文件以 HIERARCHY 关键词开始,这个部分包含了Root 根节点 和 Joints 骨骼。 以及他们的channels。(注:这个channels和Assimp中的channels是一个概念,但是我说不出来具体是啥!)
  • Root 节点同时包含 Position channels 和 Rotation channels,我理解的是根骨骼是控制人体整个的运动,因此是可以有平移,也有旋转的变换的。
  • 而Joint 骨骼 只有 Rotation channels,除了Root骨骼之外的,只能有旋转变换。

2. Motion 运动数据相关内容

  • 这个部分包含了动画相关的数据,包括了 Frames:帧数,Frame Time: 帧率, 以及最重要的运动数据。每一行运动数据代表了一个,完整的帧,有所有骨骼的当前帧的运动数据。
  • 一行运动数据 = Root channels + Joint channels

so,根据上面的 bvh 文件样例, 我们可以将运动数据和骨骼相映射:如下:

Neck        Neck     Neck        Neck      Neck      Neck       Head       Head     Head

X pos        Y pos     Z pos       Z rot      X rot      Y rot       Z rot      X rot      Y rot

0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

BVH 使用的关键词(Legends,i _ i 这样译感觉有点怪)

  •  HIERARCHY : 第一部分开始的声明
  •  Root: 根骨骼
  •  Joint: 子骨骼
  •  Channels: 一个 Root 或 Joint的 channel(position ,rotation)的数量
  •  Offset: 子骨骼到父骨骼的偏移量,包含了长度和方向信息。
  •  End Site: 一个骨骼信息的结束标识
  •  MOTION: motion部分的开始声明
  •  FRAMES: 帧数
  •  Frame Time: 数据的采样率,帧率吧

源码(未验证)就不贴了,贴出来格式就乱,见原文

参考文献

http://www.cs.cityu.edu.hk/~howard/Teaching/CS4185-5185-2007-SemA/Group12/BVH.html

http://www.cs.wisc.edu/graphics/Courses/cs-838-1999/Jeff/BVH.html



猜你喜欢

转载自blog.csdn.net/u011310341/article/details/80825904