2

I need to select Collada objects in Three.JS by mouse click. I know that I can select object based on their id and I saw some samples that user can interact with Geometry defined objects (here). But I need to have access to the objects in Collada format.

4

1 に答える 1

2

ColladaLoader から返された COLLADA シーンであると仮定するとdae_scene、交差を確認するためにできることは次のとおりです。

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 );
于 2012-08-03T15:05:54.873 に答える