我有一个Three.js透视相机,它在不同浏览器中的定位方式不同。我试图通过在Firefox中旋转相机以匹配Chrome来规范行为。但是,在渲染循环中将摄像机旋转90度会导致x轴旋转关闭。
camera.rotation.y = camera.rotation.y - (90 * Math.PI / 180);
看起来相机围绕y轴旋转而没有更新,因此x轴位于正确的位置,因此通常控制环境中的音高(x),控制滚动(应该是z) )。我是否必须更新euler订单?这似乎不太理想。
答案 0 :(得分:0)
使用euler时,您可以反转矢量顺序:
var a = new THREE.Euler(0,1,1.57,'XYZ');
如果矢量顺序与您的期望不符,您可以使用重新排序功能。
a.reorder( 'ZYX');
就我而言,这是解决问题的最佳方法。