2015-10-09 5 views
0

Я пытаюсь найти точку пересекаться между лучом от «ребенка» и сетчатой ​​(child2), используя Raycaster:Как извлечь точку пересечения (Vector3) объектов intersectObjects?

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 (пересекает [0] .distance)): «TypeError: undefined не является объектом (оценка« пересекает [0] .point »)».

Как извлечь точку пересечения между лучом и сеткой 'child2'?

ответ

0

Тест, чтобы убедиться, что на самом деле были результаты!

var intersects = raycaster.intersectObjects(meshList); 
if (intersects.length) { 
    console.log(intersects[0].point); 
} else { 
    console.log('ha, you missed me'); 
} 
Смежные вопросы