Javascript 我怎样才能使我的相机旋转y为360?

Javascript 我怎样才能使我的相机旋转y为360?,javascript,angular,typescript,three.js,gltf,Javascript,Angular,Typescript,Three.js,Gltf,我想对某个产品使用360度查看器,这样我就有了一个3d对象,我想在适当的方向上每次点击45度,然后围绕该对象旋转我的相机,但我遇到了问题 摄像机: this.camera.rotation.y = 15 / 180 * Math.PI; this.camera.position.x = 0; this.camera.position.y = 500; this.camera.position.z = 1200; this.camera.lookAt(0, 0, 0); 按钮点击方式: onRi

我想对某个产品使用360度查看器,这样我就有了一个3d对象,我想在适当的方向上每次点击45度,然后围绕该对象旋转我的相机,但我遇到了问题

摄像机:

this.camera.rotation.y = 15 / 180 * Math.PI;
this.camera.position.x = 0;
this.camera.position.y = 500;
this.camera.position.z = 1200;
this.camera.lookAt(0, 0, 0);
按钮点击方式:

onRightClicked() {
    const newCamPosition = (this.camera.position.x + degToRad(45)) * 10;
    this.camera.position.x = newCamPosition;
    this.camera.position.y = 500;
    this.camera.position.z = 1200;
  }

  onLeftClicked() {
    const newCamPosition = (this.camera.position.x - 150);
    this.camera.position.x = newCamPosition;
    this.camera.position.y = 500;
    this.camera.position.z = 1200;
  }

一切正常,但我的相机不是每次点击45度。我认为问题出在相机.rotation.y上,但我是3J的初学者,我不知道发生了什么。

可能是这样的:


为什么你认为在空间单位上增加学位会有效?我是一个noob,这是我第一次使用webgl的东西,对不起,伙计。我只是想弄清楚如何做到这一点,因为我所做的一切都失败了。@KeanuJooste不客气。我很高兴,这有帮助:)
var axis = new THREE.Vector3(0, 1, 0);
var step = Math.PI * 0.25;

onRightClicked() {
  this.camera.position.applyAxisAngle(axis, step);
}

onLeftClicked() {
  this.camera.position.applyAxisAngle(axis, -step);
}