【发布时间】:2015-06-16 09:32:37
【问题描述】:
我正在尝试使用 Assimp 作为我的模型导入库在 OpenGL 中制作骨骼动画。
对于骨骼的offsetMatrix 变量,我到底需要什么?我需要乘以什么?
【问题讨论】:
-
您对剥皮有多熟悉?对整个网格使用单个矩阵是不够的。您是否浏览过任何教程(例如this)?
-
我实际上通过了我在这里发布的第一个问题。我发现了需要修复的错误。我使用 matrix.inverse() 而不是 transpose() 从行优先转换为列优先。愚蠢的我......无论如何,我编辑了我的帖子,我还有一个问题。
-
顺便说一句,this 线程中的答案似乎具有误导性?答案的作者清楚地说“......如果你将单位矩阵应用于模型中的每个关节,那么你将得到的是你的模型处于绑定姿势”。我尝试使用单位矩阵(而不是常规的节点层次矩阵乘法),我得到了一个看起来很奇怪的模型。
-
请发布您的绘制代码,包括顶点着色器。
-
pastebin.com/CUUurQ2J 。请注意,我什至没有从蒙皮过程开始(目前,我只将顶点传递给着色器,甚至没有传递 UV),因为我仍在努力理解诸如
aiBone的 @987654326 之类的基本内容@数据成员。 (他们称之为反向绑定姿势)。编辑:我以为你只要求提供着色器代码,让我也添加我的绘制代码,等一下......
标签: c++ opengl matrix graphics assimp