BVH 文件

BVH文件是用于记录人体运动捕获数据的文件格式,包含骨骼和关节旋转信息。文件分为骨架信息和数据块,骨架信息描述关节层次结构,数据块存储每帧的关节运动数据。由于 BVH 使用右手坐标系,而在 DirectX 中通常使用左手坐标系,因此在读取数据时需要进行坐标系转换。渲染时,通过读取骨架和运动数据,计算关节在世界坐标中的位置,形成动画效果。 BVH 的骨架信息由 'HIERARCHY' 开始,包括 'ROOT'、'JOINT'、'OFFSET' 和 'CHANNELS',描述关节的层次和旋转通道。
摘要由CSDN通过智能技术生成

BVH(BioVision Hierarchy)是BioVision 等设备对人体运动进行捕获后产生文件格式的文件扩展名,是一种通用的人体特征动画文件格式。文件包含角色的骨骼和肢体关节旋转数据。

动画被分为 蒙皮 和 骨骼动作

BVH文件分为2个主要部分:骨架信息和数据块

骨架信息:按照层级关系,定义了如root leg 等位置和旋转分量,从而形成一个完整的骨架

数据块: 对应上面的骨架各部位标出每帧的数据信息

读取并保存运动数据

骨架层次信息保存了每个节点相对其父节点的位置信息,通过这些数据可以构造出骨架的初始姿态。BVH文件中使用的是右手坐标系,而DirectX中使用的是左手坐标系,在绘制图形的时候,需要将得到的数据坐标系转换成左手坐标系。

骨架中的各个关节节点相对父节点的位置读取并保存好之后,在渲染的时候,从根节点开始,依次求出每个关节在世界坐标中的位置,即可绘制出正确的骨架结构。

读取运动数据,首先从文件中读取运动的总帧数,然后建立动态数组保存运动数据。运动数据的每帧保存的信息是:根节点的平移量(X,Y,Z)+除了site 外所有节点的旋转信息(注意:旋转分量的次序是根据CHANNELS而定,旋转信息使用的是角度值表示的),每帧的旋转角度值,是相对于骨架的初始姿态的。

(世界坐标系是系统的绝对坐标系,在没有建立用户坐标系之前画面上所有点的坐标都是以该坐标系的原点来确定各自的位置的。

摄像机可安放在环境中的任意位置

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值