Как извлечь точку пересечения (Вектор3) объектов пересечения?

Я пытаюсь найти точку пересечения между лучом от «ребенка» и сеткой (ребенок2), используя Raycaster:

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»?


person Community    schedule 09.10.2015    source источник


Ответы (1)


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

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