【发布时间】:2018-11-01 19:10:35
【问题描述】:
我在 FleX 中旋转一些对象,将它们导出并在 Blender 中渲染。我意识到我在 FleX 中应用于对象的旋转不会像 Blender 那样旋转对象。如果我做对了,我了解到 FleX 使用变换矩阵来旋转对象,但 Blender 并没有 [必然] 这样做。我还与在 Unity 中使用 FleX 插件的人进行了交谈,他说他面临着类似的问题。欧拉角或四元数都是这种情况。下面是我用来在 FleX 中旋转对象的一段代码。我对 FleX 还很陌生,我不知道应该使用哪些函数,这样我才能获得与 Blender 中相同的旋转,而无需进行不必要的转换。有人可以帮我解决这个问题吗?
对于欧拉角的旋转:
obj->Transform(RotationMatrix(rx, Vec3(1.0f, 0.0f, 0.0f)));
obj->Transform(RotationMatrix(ry, Vec3(0.0f, 1.0f, 0.0f)));
obj->Transform(RotationMatrix(rz, Vec3(0.0f, 0.0f, 1.0f)));
对于四元数的旋转:
obj->Transform(RotationMatrix(Quat(qx, qy, qz, qw)));
【问题讨论】:
标签: unity3d graphics game-physics nvidia blender