Html 对three.js中的“子场景”进行光线投射

Html 对three.js中的“子场景”进行光线投射,html,three.js,webgl,raycasting,Html,Three.js,Webgl,Raycasting,因此,我正在使用three.js示例中的webgl_interactive_cubes.html,我有一个相对简单的问题:是否可以测试光线与对象子对象的相交 例如,如果我做了如下操作: for ( var i = 0; i < 2000; i ++ ) { var object = new THREE.Mesh( geometry, new THREE.MeshLambertMaterial( { color: Math.random() * 0xffffff } ) ); scene.

因此,我正在使用three.js示例中的webgl_interactive_cubes.html,我有一个相对简单的问题:是否可以测试光线与对象子对象的相交

例如,如果我做了如下操作:

for ( var i = 0; i < 2000; i ++ ) {

var object = new THREE.Mesh( geometry, new THREE.MeshLambertMaterial( { color: Math.random() * 0xffffff } ) );
scene.add( object );

}
它将与这些对象相交。但是,如果我首先创建一个类似这样的“子场景”:

var subScene = new THREE.Object3D();
scene.add(subScene);
然后将所有这些对象添加到子场景而不是场景中,相交将不再发生

在最终项目中,是否有可能将场景中的所有对象和子场景相交?我希望有多个嵌套子场景层,或者如果使用光线投射,是否应尝试将所有对象保持在同一场景中

提前感谢您抽出时间

Isaac

您只需设置递归标志:


three.js r.58

非常感谢。我正要把所有的东西都变成同一个网格的一部分!
var subScene = new THREE.Object3D();
scene.add(subScene);
var intersects = raycaster.intersectObjects( scene.children, true );