【问题标题】:Extracting data from BVH file and applying it to my 3d model?从 BVH 文件中提取数据并将其应用于我的 3d 模型?
【发布时间】:2013-11-20 11:21:16
【问题描述】:

我一直在尝试从 bvh 文件中获取运动数据并将其应用到我的 3d 模型中。我研究了 bvh 文件格式,并解析其数据并将数据写入文本文件,让我们给出新的扩展名 ( .motion) 用于文本文件。一切都很好,但是当我尝试将 .motion 数据应用到我的 3d 模型的关节时出现问题。

因为bvh文件的静止姿势不同。我模型的静止姿势是T-Pose,而bvh文件是站立姿势。所以在我的3d模型中应用的整个动画序列的旋转也不同。

我还验证了旋转数据是否应用于正确的关节

所以除了其余的姿势外,一切都很完美。有没有其他方法可以克服这种静止位置差异。我可以使用矩阵乘法来解决这个问题吗?

【问题讨论】:

    标签: python animation matrix blender


    【解决方案1】:

    回答我自己的问题。我编写了 python 脚本,为每一帧编写骨骼的全局旋转,我只是将旋转应用于其他骨架(具有不同的静止姿势),现在可以轻松地独立复制动画休息姿势。

    pose.bone[boneIndex].matrix.decompose()[1] //global rotation of bone in Quaternion
    

    如果我们将一个骨架的全局旋转应用于另一个骨架,那么两个骨架的其余位姿不必相同。但是如果我们尝试将骨骼的局部(相对)旋转应用于其他骨架,那么两个骨架应具有相同的静止姿势。

    步骤:

    1) 在搅拌机中导入 BVH 文件。

    2) 运行 python 脚本,每帧写入每个骨骼的全局旋转(四元数)。

    3) 现在将四元数直接应用于 3d 模型的骨骼。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-04
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多