Object3D(要素をグループ化するため)にいくつかのオブジェクトを追加し、そのクリックを検出しようとしています。私のシーンのサイズは600x400
、カメラは3つのオブジェクト内にあり、イベントハンドラーコードは次のようになります。
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);
[...]
}
実際、交差するオブジェクトの数を警告しています。しかし、それはゼロのままです。交差するオブジェクトが見つかりませんでした。投影ベクトルのx、y、zの値を少し試しましたが、成功しませんでした。
jsfiddleでこの問題を示すために、簡略化されたサンプルを追加しました。たぶん誰かが私に短いヒントを持っているのでしょうか?