three.js - 反转相机旋转矩阵

时间:2016-12-15 17:02:00

标签: javascript three.js

我有一个带有物体的场景和一个由轨迹球控制的相机。当我向根对象添加一个新对象时,我希望它在摄像机移动之前的方向上。例如,如果您不旋转相机,则会出现一个圆环,其中孔朝向屏幕,环在x,y屏幕平面上。

我尝试应用相机的逆矩阵,但这并不起作用。

var m = THREE.Matrix4()
m.getInverse(camera.matrixWorld)
obj.setRotationFromMatrix(m)

我错过了什么?

2 个答案:

答案 0 :(得分:0)

解决方案只是应用相机旋转:     obj.setRotationFromMatrix(camera.matrixWorld)

然后物体面向相机。

答案 1 :(得分:0)

您需要将对象声明为“新”,并对某些措辞重新排序。试试这个:

var m = new THREE.Matrix4();
m.getInverse( camera.matrixWorld );
obj.rotation.setFromRotationMatrix(m);