2017-01-24 8 views
0

こんにちは私はライフルのビューファインダーの効果を達成するために暴力をカメラに従わせようとしています。 OrbitControlを使用しています。私がcamera.rotation.yをチェックすると、360度だけカメラを回転させることができる範囲が-PI/2からPI/2までであることがわかります。私はそれの周りに私の頭を得ることができない!カメラでオブジェクトを回転させる方法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をシフトして現在のカメラ位置から差し引いて、私はこれを持っています:

そして、ファインダーをカメラで180度の範囲で回転させることができます。フル360でどのように回転できますか? 私を助けてください。タク・ユー。

+0

おそらく[this](http://stackoverflow.com/questions/31831425/static-object-in-scene-three-js/31835326#31835326)はあなたが参照しているものです。 – WestLangley

答えて

0

メッシュを常にカメラに向かわせたいと思っていますね。カメラの行列を使用してメッシュの回転を設定することができます。mesh.rotation.setRotationFromMatrix(camera.matrix)ですが、メッシュに親エンティティがある場合は注意が必要です。またはlookAt()機能、mesh.lookAt(camera.position)を使用すると、正常に動作します。

関連する問題