【发布时间】:2020-05-24 17:14:04
【问题描述】:
我正在尝试创建这个由较小的 3D 对象合并的 3D 平铺系统世界 - 为了创建这些,我们使用 Unity 制作的另一个应用程序,它单独加载所有小型 3D 资产,并可用于创建您的新模型。保存这些模型文件后,将创建一个 JSON 文件,其中包含所有使用的 3D 模型的所有比例、位置、旋转等。
我们决定使用这种“北、东、南、西”系统来确保制作中的一切看起来都不错。然而,现在当我们尝试在 ThreeJS 中渲染这些相同的 JSON 文件时,我们注意到与我们使用的 Unity 应用程序相比,X 轴是相反的。
我们想要的是这样的:
- 北方正在增加Z值(北方和南方都可以)
- 东方增加 X 值
- West 正在减小 X 值
目前这就是 ThreeJS 中的错误:
- 东是减少 X 值
- West 正在增加 X 值
我们已经尝试过的是:
- 镜像/翻转相机视图
- 当坐标低于 0 时,我们将其设为绝对坐标(-10 将变为 10)
- 当坐标大于 0 时,我们将其设为负值(10 为 -10)
但以上都没有达到预期的效果。当涉及到小于或大于 1x1x1 大小的缩放、旋转对象时,使用代码反转坐标会带来其他问题。理想情况下,我们不必更改坐标,并且仍然可以通过将 X 轴的方向从 0,0,0 的左侧更改为右侧来用作实体参考
目前 ThreeJS 使用“右手坐标系”,而我们想要的是左手坐标系。这是可以在 ThreeJS 中配置的东西吗?
谁知道除了翻转所有 X 坐标之外我可以尝试什么?
【问题讨论】:
标签: three.js 3d reverse axis mirror