我需要通过鼠标单击在 Three.JS 中选择 Collada 对象。我知道我可以根据对象的 id 选择对象,并且我看到了一些用户可以与几何定义的对象交互的示例(here http://mrdoob.github.com/three.js/examples/webgl_interactive_cubes.html)。但我需要访问 Collada 格式的对象。
假如说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 );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)