3

我将 Object3Ds 放置在一个场景中,其坐标来自较旧的 Away3D 项目。我遇到的问题是当对象有一个负的 position.x (即在相机后面)时,旋转是相反的。

我只使用 X 和 Z 进行倾斜和旋转。

有没有办法计算相反/翻转的侧角以便翻转?

即,如果 x = 1.69,那么直接相反的值应该是多少?

这是我目前的尝试:

        photo.rotation.x = data.rotationX != null 
            ? photo.position.x < 0 
                    ? Math.PI - data.rotationX
                    : data.rotationX
            : 0;

        photo.position.x < 0 
            ? photo.rotation.z = Math.PI
            : photo.rotation.z = 0;

        photo.rotation.y = data.rotationY != null 
                ? photo.position.x < 0 
                        ? Math.PI - data.rotationY
                        : data.rotationY
            : 0;

编辑:对此进行进一步研究,Three.js 计算角度的方式是否可能与 Away3d 不同?即这里有一个类似的问题3D rotation with Axis & Angle

这很奇怪。有些对象很好,并且与 Away3d 中的相同,有些对象处于不同的奇怪角度。

4

0 回答 0