我有一个带有物体的场景和一个由轨迹球控制的相机。当我向根对象添加一个新对象时,我希望它在摄像机移动之前的方向上。例如,如果您不旋转相机,则会出现一个圆环,其中孔朝向屏幕,环在x,y屏幕平面上。
我尝试应用相机的逆矩阵,但这并不起作用。
var m = THREE.Matrix4()
m.getInverse(camera.matrixWorld)
obj.setRotationFromMatrix(m)
我错过了什么?
答案 0 :(得分:0)
解决方案只是应用相机旋转: obj.setRotationFromMatrix(camera.matrixWorld)
然后物体面向相机。
答案 1 :(得分:0)
您需要将对象声明为“新”,并对某些措辞重新排序。试试这个:
var m = new THREE.Matrix4();
m.getInverse( camera.matrixWorld );
obj.rotation.setFromRotationMatrix(m);