マウスをクリックすると、光線を投影して、クリックによってどのオブジェクトが交差するかを確認します。これが機能するメッシュオブジェクトがたくさんあります。ただし、スプライトをオブジェクトのリストに追加すると、スプライトが検出されません。
1) スプライトを検出する必要がありますか? それらを検出できないようにするものはありますか?それらを「堅実」に見せるために何かする必要がありますか? 2) スプライトを検出できない場合、スプライトをクリック可能にする最善の方法は何ですか? それらの周りに目に見えない円柱を追加しますか?
Mesh で動作するコードの一部を次に示します。
var containerPosition = $container.position();
var vector = new THREE.Vector3(((event.clientX - containerPosition.left) / scene.WIDTH) * 2 - 1, - ((event.clientY - containerPosition.top) / scene.HEIGHT) * 2 + 1, 0.5);
new THREE.Projector().unprojectVector(vector, scene.camera);
var ray = new THREE.Ray(scene.camera.position, vector.subSelf(scene.camera.position).normalize());
var intersects = ray.intersectObjects(scene.solidObjects);
if (intersects.length > 0) {