我将 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 中的相同,有些对象处于不同的奇怪角度。