首页 > 解决方案 > 在 Assimp 中获取骨骼动画的变换矩阵

问题描述

我正在学习在Visual Studio Express 2019的Assimp中操作模型。所以我加载了一个模型,它有 0 个动画。我想对它的骨骼应用一些变换,也许是手,并以我导出的 obj 格式查看它的效果。现在要查看 obj 格式的效果,我必须对其顶点应用更改,因此我必须在骨骼中分层应用变换。但我不明白如何实现这一切。我看过 oglDev 教程 38 但看不懂。因此,任何帮助将不胜感激。

以下是我需要帮助的想法->

1.如何对骨骼及其所有孩子应用一些变换(考虑一个简单的人体模型)。

2.如何获得受特定骨骼影响的顶点的最终位置,对于骨骼,我们只有变换矩阵,那么如何将它们转换为 X,Y,Z 坐标以告知顶点位置。

我没有使用 OpenGL。

我想在 Assimp 中使用简单的 C++ 代码来完成这一切。

请参阅此处了解更多进展和困难详情: Assimp 中的错误骨骼旋转

标签: visual-c++meshskinningassimpskeletal-animation

解决方案


.obj 格式不支持骨骼动画(或任何形式的动画)。您不能旋转不存在的骨骼。您需要使用支持骨骼动画的模型格式并使用包含该数据的模型。示例格式包括 .fbx、.gltf、.dae (COLLADA)。


推荐阅读