2012-08-03 4 views
2

J'ai besoin de sélectionner des objets Collada dans Three.JS par un clic de souris. Je sais que je peux sélectionner l'objet en fonction de leur identifiant et j'ai vu quelques exemples que l'utilisateur peut interagir avec des objets définis par géométrie (here). Mais j'ai besoin d'avoir accès aux objets au format Collada.Sélectionnez les objets Collada par la souris Cliquez dans Three.JS

Répondre

2

En supposant que dae_scene est une scène COLLADA est revenu de la ColladaLoader, voici ce que vous pouvez faire pour vérifier l'intersection:

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

Cela obtient tous les objets Mesh dans la scène COLLADA. Vous pouvez ensuite utiliser ce tableau pour rechercher des intersections de rayons, comme ceci:

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

Merci Jeff pour votre réponse rapide. – mbehnaam

Questions connexes