2015-10-09 19 views
0

我試圖找到「孩子」和一個網格(的child2)射線之間的交點,使用Raycaster:如何提取intersectObjects的相交點(Vector3)?

var raycaster = new THREE.Raycaster(); 
var meshList = []; 
meshList.push(child2); 
for (var i = 0; i < child.geometry.vertices.length; i++) { 
    var diff = new THREE.Vector3(); 
    diff.subVectors (child.geometry.vertices[i],child2.position); 
    raycaster.set(child.geometry.vertices[i],diff.normalize()); 
    var intersects = raycaster.intersectObjects(meshList); 
    console.log(intersects[0].point); 
} 

但上面的代碼是給我的最後一行的錯誤(的console.log (intersects [0] .distance)):「TypeError:undefined不是一個對象(評估'intersects [0] .point')」。

如何提取光線和'child2'網格之間的相交點?

回答

0

測試以確保實際上有結果!

var intersects = raycaster.intersectObjects(meshList); 
if (intersects.length) { 
    console.log(intersects[0].point); 
} else { 
    console.log('ha, you missed me'); 
}