如果我使用像
这样的代码移动对象dx = [not important];
dy = [not important];
dz = [not important];
d = new THREE.Vector3(dx,dy,dz);
mesh.postion.add(d);
如何让我的网状物显示它的位置?我试过了
mesh.lookAt(d); // fails
mesh.lookAt(copyOfMeshPosition.add(d)) // fails
并将mesh.up设置为(1,0,0),(0,1,0)和(0,0,1)。
答案 0 :(得分:0)
你的问题是lookAt方法在 world 空间中采用坐标,而不是局部空间。
如果您希望(3,5,0)处的物体朝(dx,dy,dz)方向看,您需要在世界中查看该方向上的一个点坐标。
即。点(3,5,0)+(dx,dy,dz)
e.g。
d = new THREE.Vector3(dx, dy, dz);
mesh.postion.add(d);
mesh.lookAt(new THREE.Vector3().addVectors(mesh.position, d));