bvh文件

这篇具有很好参考价值的文章主要介绍了bvh文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

其世界空间的坐标轴:(右手)

bvh文件,从0开始学3D游戏开发,3D,3d

blender导入配置:

bvh文件,从0开始学3D游戏开发,3D,3d

 

.bvh文件格式的坐标系统是一种用于描述人体骨骼和运动的方法,它基于树形结构和欧拉角。具体来说,它包括以下几个方面:

  • 骨骼结构:.bvh文件中的HIERARCHY部分定义了骨骼的层次关系,每个节点(JOINT或ROOT)表示一个关节或一个端点(End Site),每个节点有一个相对于父节点的偏移量(OFFSET),以及一些自由度(CHANNELS),表示该节点可以沿着哪些轴进行旋转或平移。
  • 坐标系:.bvh文件中的坐标系是右手坐标系,即x轴向右,y轴向上,z轴向前。每个节点都有自己的局部坐标系,它的原点是该节点的位置,它的方向是由该节点的旋转角度决定的。每个节点的局部坐标系可以通过从根节点开始,依次将父节点的旋转和平移应用到子节点上,得到其相对于世界坐标系(即根节点的局部坐标系)的变换矩阵。
  • 运动数据:.bvh文件中的MOTION部分记录了每一帧的运动数据,每一行表示一个时间点,每个数字表示一个自由度的值。这些值按照HIERARCHY部分定义的顺序排列,通常是先平移后旋转,先z轴后x轴后y轴。这些值都是相对于父节点的局部坐标系的,而不是世界坐标系的。旋转角度的单位是度(°),平移距离的单位是长度单位(通常是厘米或米)。

如果你想了解更多关于.bvh文件格式的坐标系统的细节,你可以参考以下网页123。

1. BVH文件格式由Biovision公司开发,用于存储运动捕捉数据。它包含骨骼层次信息和运动数据两部分。

2. BVH文件分为头部和数据两部分。头部以"HIERARCHY"关键字开始,定义了骨骼层次结构。数据部分以"MOTION"关键字开始,包含了实际的运动数据。

3. 头部部分以递归的方式定义骨骼层次。每个关节包含偏移量、通道数和通道类型信息。偏移量定义了关节相对父关节的位置,通道定义了关节的自由度。

4. 数据部分每行包含一个时间样本的所有关节的数据。数据顺序与通道定义的顺序相同。

5. 解析运动数据时,根据层次信息计算每个关节的局部变换矩阵,再依次与其父关节矩阵相乘,可以得到世界坐标系下的最终变换矩阵。

6. BVH使用的是YXZ欧拉角旋转顺序。可以分别计算XYZ三个轴的旋转矩阵然后乘积,或者直接计算出完整的旋转矩阵。

7. BVH文件使用右手坐标系,Y轴向上。总体来说,BVH是一种较完整的表达骨骼动画的文件格式,理解其文件结构和解析方法对处理这样的数据是非常重要的。 

文档: 

Biovision BVH文章来源地址https://www.toymoban.com/news/detail-610072.html

到了这里,关于bvh文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-游戏逻辑框架全解

    Cocos Cyberpunk 是 Cocos 引擎官方团队以展示引擎重度 3D 游戏制作能力,提升社区学习动力而推出的完整开源 TPS 3D游戏,支持 Web, IOS, Android 多端发布。 本系列文章将从各个方面对源码进行解读,提升大家的学习效率。希望能够帮助大家在 3D 游戏开发的路上更进一步。 工程源码

    2024年02月08日
    浏览(37)
  • Unity 3D脚本编程与游戏开发【4.1】

    7.2.5 后期处理举例 Post Processing(后期处理)并不属于特效,但现代的特效表现离不开后期处理的⽀持。本⼩节以眩光(Bloom)为例,展⽰⼀种明亮的激光的制作⽅法,其效果如图7-13所⽰。 1. 安装后期处理扩展包         较新的Unity版本(如2018.4版本)已经内置了新版的后

    2024年04月26日
    浏览(31)
  • Unity 3D脚本编程与游戏开发(3.5)

    6.2.8 总结和拓展         本节利⽤Unity官⽅素材,以有限的篇幅解释了动画状态机的原理,以及动画制作中最基本但最重要的步骤。总的来看,⽬前的动画只做了4种状态——站⽴、⾛、跑和跳跃,还缺少下蹲、下蹲移动和落地缓冲等动作。好在这些动作只是对现有动作的

    2024年04月10日
    浏览(40)
  • Unity 3D脚本编程与游戏开发【3.7】

            在这个⾓⾊控制脚本中,可以看到很多新奇的写法。关键是,为什么要把移动量转化为转⾝量和前进量呢?要理解这个问题,⼀定要多进⾏游戏测试,体会转⾝与输⼊的关系。         当⾓⾊⾯朝前,输⼊朝后时,⾓⾊的前进量为0,转⾝量达到最⼤;⽽当⾓⾊

    2024年04月15日
    浏览(30)
  • Unity 3D脚本编程与游戏开发(2.6)

    4.5.2 四元数的概念         四元数包含⼀个标量分量和⼀个三维向量分量,四元数Q可以记作Q=[w,(x,y,z)]         在3D数学中使⽤单位四元数表⽰旋转,下⾯给出四元数的公式定义。对于三维空间中旋转轴为n,旋转⾓度为a的旋转,如果⽤四元数表⽰,则4个分量分别为

    2024年02月03日
    浏览(41)
  • Unity 3D脚本编程与游戏开发【4.2】

    8.2.3 ⾳频管理器         在实际游戏开发中,⾳效既是⼀个相对独⽴的部分,⼜与其他游戏逻辑密切关联。也就是说,与⾳效相关的代码会插⼊很多细节代码中。         ⽽且在⾳效⾮常丰富的情况下,如果每⼀个游戏模块都单独播放⾳效,那么可能会带来⼀些问题。

    2024年04月24日
    浏览(34)
  • Unity 3D脚本编程与游戏开发(3.4)

    6.2.3 动画的制作步骤         接下来为⾓⾊配上动画,整体思路分以下3个部分。⼀是准备好单个的动画素材,包含站⽴、跑和跳等动作。也就是说,把原始素材中的图⽚串联起来,形成⼏个单独的动画。⼆是⽤Animator把这些单独的动作有机地组合起来,形成⼀张状态转移

    2024年04月26日
    浏览(27)
  • Unity 3D脚本编程与游戏开发【4.0】

    7.2.3 DOTween插件使⽤⽅法简介 缓动动画既是⼀种编程技术,也是⼀种动画的设计思路。从设计⾓度来看,可以有以下描述。 ①事先设计很多基本的动画样式,如移动、缩放、旋转、变⾊和弹跳等。但这些动画都以抽象⽅式表⽰,⼀般封装为程序函数。 ②动画的参数可以在使⽤

    2024年04月09日
    浏览(40)
  • Unity 3D脚本编程与游戏开发【3.8】

    6.4.5 动画层         图6-42显⽰了动画层设置窗⼝。在动画状态机⾥可以添加很多层,层之间可以是覆盖关系也可以是叠加关系,当然也可以随时屏蔽⼀些层、启⽤另⼀些层。 每⼀个动画层可以有单独的设置,其选项解释如下。 ①Weight(权重),本层对总体动画效果的影

    2024年04月16日
    浏览(35)
  • Unity 3D脚本编程与游戏开发(2.2)

    3.2.7 修改物理材质         每个物体都有着不同的摩擦⼒。光滑的冰⾯摩擦⼒很⼩,⽽地毯表⾯的摩擦⼒则很⼤。另外每种材料也有着不同的弹性,橡⽪表⾯的弹性⼤,硬质地⾯的弹性⼩。在Unity中这些现象都符合⽇常的理念。         虽然从原理上讲,物体的摩擦⼒

    2024年02月04日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包