2012-07-16 12 views
5

マウスをクリックすると、どのオブジェクトがクリックによって交差しているかを調べるための光線を投影します。私はこれで動作するMeshオブジェクトの束を持っています。ただし、オブジェクトのリストにスプライトを追加すると、スプライトは決して検出されません。スプライトと交差する光線を検出する

1)スプライトを検出する必要がありますか?それらを検出不能にする何かがありますか?彼らを「固い」ようにするために必要なことはありますか? 2)スプライトが検出されない場合、クリック可能にするにはどのような方法が最適ですか?それらの周りに目に見えないシリンダーを追加しますか?

ここに、メッシュで動作する部分コードの一部があります。

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) { 

答えて

関連する問題