2012-07-16 110 views
5

在鼠標單擊上,我投射光線以查看點擊與哪些對象相交。我有一堆這樣的Mesh對象。然而,當我將一個Sprite添加到對象列表中時,Sprite永遠不會被檢測到。檢測與精靈相交的光線

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

回答