嗨我正在努力跟随相机,所以我可以实现步枪取景器的效果。我正在使用OrbitControl。当我检查camera.rotation.y时,它只显示范围是从-PI / 2到PI / 2,而我可以将相机旋转360度。我无法理解它,请帮忙!
到目前为止,我到了那里(它只是我代码的一部分):
pivot = new THREE.Object3D();
pivot.add(viewfinder);//adding viewfinder as a child of pivot
scene.add( pivot );
以及稍后
pivot.rotation.y = camera.rotation.y;
这允许旋转我的取景器但是由于某种原因它完全被Pi / 2移位所以我从当前的相机位置扣除它并且我有这个:
pivot.rotation.y = (camera.rotation.y - (Math.PI/2)) ;
这使我可以用相机旋转取景器,但只能在180度的范围内。如何旋转全360? 请帮我。 Thak You。
答案 0 :(得分:0)
我想你想让网格总是面向你的相机,对吧?您可以使用相机矩阵来设置网格旋转mesh.rotation.setRotationFromMatrix(camera.matrix)
,但是如果您的网格具有父实体,请小心。或者您可以使用lookAt()
函数mesh.lookAt(camera.position)
,或者正常工作。