gpt4 book ai didi

python - 从 BVH 文件中提取数据并将其应用于我的 3d 模型?

转载 作者:太空宇宙 更新时间:2023-11-04 03:53:45 25 4
gpt4 key购买 nike

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

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

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

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

最佳答案

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

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

如果我们将一个骨架的全局旋转应用于另一个骨架,则两个骨架的静止姿势不必相同。但是如果我们尝试将骨骼的局部(相对)旋转应用于另一个骨架,则两个骨架应该有相同的静止姿态。

步骤:

1) 在blender中导入BVH文件。

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

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

关于python - 从 BVH 文件中提取数据并将其应用于我的 3d 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19859229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com