C++ Assimp&x2B;带有骨骼的COLLADA模型=不正确的顶点位置

C++ Assimp&x2B;带有骨骼的COLLADA模型=不正确的顶点位置,c++,opengl,3d,collada,assimp,C++,Opengl,3d,Collada,Assimp,我正在使用Assimp加载使用Blender v2.7创建和导出的COLLADA模型,但我注意到一个有趣的问题。每当我(在Blender中)以“对象模式”而不是“编辑模式”对网格应用变换时,生成的变换不会应用于我从Assimp导入器数据读取的顶点,而是应用于包含网格的aiNode矩阵的mParent矩阵 这不是一个真正的问题,因为我可以读取网格的顶点,然后将它们与aiNode的mParent矩阵相乘,以获得位于正确位置的网格顶点 每当我尝试对具有骨骼的网格执行相同操作时,问题就会出现。我不知道为

我正在使用Assimp加载使用Blender v2.7创建和导出的COLLADA模型,但我注意到一个有趣的问题。每当我(在Blender中)以“对象模式”而不是“编辑模式”对网格应用变换时,生成的变换不会应用于我从Assimp导入器数据读取的顶点,而是应用于包含网格的
aiNode
矩阵的
mParent
矩阵

这不是一个真正的问题,因为我可以读取网格的顶点,然后将它们与
aiNode
mParent
矩阵相乘,以获得位于正确位置的网格顶点

每当我尝试对具有骨骼的网格执行相同操作时,问题就会出现。我不知道为什么,但在这种情况下,我在“对象模式”中应用的变换既不应用于我直接从网格读取的顶点,也不应用于
aiNode
mParent
矩阵


有人能给我解释一下如何使用ASIMP和COLLADA模型获得带有骨骼的网格顶点的正确位置吗?

也许更新COLLADA导入器/导出器可以解决这个问题。

我假设这涉及到OpenGL/GLSL?您提到乘法矩阵和不正确的顶点位置,但没有给出相关的实现细节。我的直觉是,在反复看到这个问题之后,你没有正确处理整数顶点属性。不是这样。问题是,在加载具有骨骼的网格时,我找不到Assimp的导入器应该加载的对象变换。