为什么需要绑定姿势矩阵的逆来计算动画?

时间:2019-03-21 10:50:07

标签: c++ opengl

我正在尝试在OpenGL中实现动画,但是我不太了解逆绑定姿势矩阵。据我了解,该矩阵用于“还原”应用于顶点的所有先前变形。但是,为什么我什至需要它呢?为什么我不能仅将从文件加载的顶点的位置传递到GPU并应用骨骼的旋转和平移而无需进行任何额外的计算? GPU不会在客户端修改顶点位置,所以我认为我不必还原以前的任何变换,对吗?

1 个答案:

答案 0 :(得分:2)

在对象空间中定义的网格顶点。要正确应用骨骼变换,顶点必须位于骨骼局部空间中。因此,分两步应用姿势:

  1. 将顶点从对象空间转换为骨骼空间(逆绑定姿势矩阵)
  2. 将顶点从骨花格转换为“动画”空间(动画的骨骼矩阵)

此外,您无法将顶点预先转换为受多个骨骼影响的顶点(通常)cos顶点。 (感谢Nicol Bolas