Przecięcie w Object3D
Mam kilka obiektów dodanych do Object3D (do grupowania elementów) i próbuję wykryć na nim kliknięcia. Moja scena ma rozmiar600x400
, mój aparat znajduje się w obrębie trzech obiektów, a kod mojej procedury obsługi zdarzeń wygląda jak poniżej:
function onDocumentMouseDown( event ) {
event.preventDefault();
var mouse = {};
mouse.x = ( event.clientX / 600 ) * 2 - 1;
mouse.y = - ( event.clientY / 400 ) * 2 + 1;
var vector = new THREE.Vector3( mouse.x, mouse.y, 1 );
projector.unprojectVector( vector, three.camera );
var ray = new THREE.Ray( three.camera.position, vector.subSelf( three.camera.position ).normalize() );
var intersects = ray.intersectObjects( group.children );
alert(intersects.length);
[...]
}
Właściwie powiadamiam o liczbie przeciętych obiektów. Ale pozostaje zero. Nie mógł znaleźć żadnych przeciętych obiektów. Grałem już trochę głośno z wartościami x, y i z mojego wektora projekcji - bez powodzenia.
Dodałem uproszczoną próbkę, aby pokazać ten problemjsfiddle. Może ktoś ma dla mnie krótką wskazówkę, co się z nią dzieje?