5

我在场景中有一些物体并使用 OrbitControls 在场景中移动相机。我找到了一些理想的相机位置/旋转来进行漂亮的渲染,所以我读取了相机位置和旋转并尝试直接在搅拌机中输入它们以获得相同的视图。

从three.js粘贴到搅拌机相机的位置效果很好 - 我在three.js中获得了与轨道相机相同的位置。即使记住 Y 和 Z 已切换,旋转的工作方式也不同。它不应该以同样的方式工作吗(只是切换 Y 和 Z)?

如果不是这样,如何转换这些值以便能够将搅拌机相机设置在与 three.js 中相同的位置?这是我在 github 上写的带有一些屏幕截图的帖子: https://github.com/mrdoob/three.js/issues/3348 我应该如何读取相机旋转,以便它们以与 three.js 中相同的方式旋转相机?我正在阅读 camera.rotation.x ,y ,z 。我应该从某个全局/局部矩阵或其他方式读取旋转吗?

非常感谢您的帮助。

马切伊

4

1 回答 1

0

为了能够从一个软件转到另一个软件,您需要找到每个软件使用的坐标系。例如,three.js 使用一个坐标系,其中正 x 向右,正 y 向上,正 z 出现在屏幕外。从我在http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Understanding_Coordinates看到的(我没有使用过搅拌机)在搅拌机中,正 x 向右,正 y 进入屏幕,正向 z 上升。

所以他们是不同的。但是,如果您将 three.js 系统绕 x 轴旋转 90 度,您将获得搅拌机坐标系。

于 2013-04-20T19:25:42.573 回答