在 OpenGL 中解决从 blender 导出的 z-Up 导出的 collada 文件

Solve z-Up exported collada file from blender in OpenGL

我将带有动画的模型从 Blender 导出到 Collada。众所周知,Blender 是一个右手系统,所以它的上轴是 z,而 OpenGL ES2 是 Y-Up。

对于静态网格,我可以将对象绕 x 轴旋转 90°,但是当我将旋转应用到框架的矩阵时,它会产生意想不到的结果。

那我该怎么做呢?

旋转对象:

要手动旋转对象,请确保 select 对象(通常通过右键单击对象)。然后只需按键盘上的 "R" 并移动鼠标,即可看到对象相应地旋转。您可能会意识到您对它的旋转方式有限制;再次按 "R",现在您将看到对象根据您移动鼠标的方式自由旋转。

如果要将对象绕 x 轴旋转 90 度,然后再次 select 对象,请按键盘上的 "R"(R 代表旋转),然后按"X" 在你的键盘上(X 代表 X 轴),然后在你的小键盘上输入 90,最后点击 "Enter"。您将看到您的对象沿 X 轴旋转 90 度。

旋转整个场景:

  1. Select所有父对象
  2. 将 3D 光标移动到 0,0,0
  3. 绕光标旋转:全局X轴,-90度
  4. 应用旋转
  5. 继续正常导出

处理此问题的正确方法是将旋转作为导出的一部分进行,因为导出的目的是采用正确定向的 Blender 对象并生成正确定向的 Unity 对象。您应该先执行轮换。旋转的应用应该在实际帧中的任何平移之前。

有关这方面的更多详细信息,请访问以下线程:https://blenderartists.org/forum/archive/index.php/t-255246.html