假设dae_scene从ColladaLoader一个COLLADA现场回来,这里是你可以做什么检查交集: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 );
是这样一个思路。。