2012-08-03 3 views
2

마우스 클릭으로 Three.JS에서 Collada 객체를 선택해야합니다. ID를 기반으로 객체를 선택할 수 있다는 것을 알고 있으며 사용자가 기하학 정의 객체 (here)와 상호 작용할 수있는 샘플을 보았습니다. 하지만 Collada 형식의 개체에 액세스 할 수 있어야합니다.Collada 객체를 마우스로 선택 Three.JS에서 클릭

답변

2

dae_scene 여기하는 COLLADA 장면이 ColladaLoader에서 반환이라고 가정하면 교차로를 확인 할 수있는 작업은 다음과 같습니다 이것은 COLLADA 현장 내부의 모든 메쉬 개체를 가져

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

. 다음과 같이 해당 배열을 사용하여 광선 교차를 검색 할 수 있습니다.

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

빠른 답장을 보내 주신 Jeff에게 감사드립니다. – mbehnaam

관련 문제