2012-08-03 58 views
2

我需要通過鼠標單擊來選擇Three.JS中的Collada對象。我知道我可以根據他們的id選擇對象,並且我看到一些用戶可以與幾何定義對象(here)交互的樣本。但我需要訪問Collada格式的對象。通過鼠標選擇Collada對象點擊Three.JS

回答

2

假設dae_scene是COLLADA場景從ColladaLoader回來,這裏是你可以做什麼檢查路口:

var toIntersect = []; 
THREE.SceneUtils.traverseHierarchy(dae_scene, function (child) { 
    if (child instanceof THREE.Mesh) { 
     toIntersect.push(child); 
    } 
}); 

這得到了COLLADA場景內的所有網格對象。然後,您可以使用該陣列來查找射線相交,如下所示:

var ray = new THREE.Ray(camera.position, 
         vector.subSelf(camera.position).normalize()); 
var intersects = ray.intersectObjects(toIntersect); 
+0

感謝Jeff的快速回復。 – mbehnaam 2012-08-06 11:00:42