检查物体是否在看位置

时间:2015-01-23 13:20:53

标签: javascript rotation three.js coordinates

我试图检查对象(this.target)是否正在查看特定位置(newPosition)。我现在所拥有的是:

new THREE.Matrix4().lookAt( newPosition, this.target.position, this.target.up ) == this.target.matrix

但出于某种原因,这不会起作用。您是如何检查Object3D是否正在查看特定位置?

1 个答案:

答案 0 :(得分:1)

这不会起作用,因为目标的矩阵不在同一个地方,并且可以按比例缩放各种各样的东西。

更好的技巧是从您的眼睛对象进行光线投射,看它是否会击中目标物体。

http://threejs.org/examples/#webgl_geometry_terrain_raycast

var raycaster = new THREE.Raycaster();

raycaster.setFromCamera( mouse, camera );

// See if the ray from the camera into the world hits one of our meshes
var intersects = raycaster.intersectObject( mesh );