2017-01-24 104 views
0

嗨,我想让一个贱民跟着相机,所以我可以实现步枪取景器的效果。我正在使用OrbitControl。当我检查camera.rotation.y时,它只显示范围从-PI/2到PI/2,而我可以将相机旋转360度。我无法绕过它,请帮助!如何用相机旋转物体three.js

到目前为止,我到了那里(这只是我的代码的一部分):

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你。

+0

也许[this](http://stackoverflow.com/questions/31831425/static-object-in-scene-three-js/31835326#31835326)就是你所指的。 – WestLangley

回答

0

我想你想让网格始终面对你的相机,对吧?您可以使用相机矩阵来设置网格旋转,但如果您的网格具有父实体,请注意。或者你可以使用lookAt()函数,mesh.lookAt(camera.position),要么工作正常。