trees three jthree framework examples select mouseevent webgl three.js collada

select - jthree - Seleccionar objetos Collada con el mouse Hacer clic en Three.JS



webgl javascript (1)

Necesito seleccionar objetos Collada en Three.JS con un clic del mouse. Sé que puedo seleccionar un objeto en función de su id y vi algunas muestras de que el usuario puede interactuar con objetos definidos por Geometry ( aquí ). Pero necesito tener acceso a los objetos en formato Collada.


Suponiendo que dae_scene es una escena COLLADA devuelta por ColladaLoader, esto es lo que puede hacer para verificar la intersección:

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

Esto obtiene todos los objetos Mesh dentro de la escena COLLADA. A continuación, puede usar esa matriz para buscar intersecciones de rayos, como esta:

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