所以我跟在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 intersects = raycaster.intersectObjects( scene.children );
它将相交这些对象。 但是,如果我先创建一个“子场景”就像这样:
var subScene = new THREE.Object3D();
scene.add(subScene);
然后添加所有这些对象子场景,而不是现场的,将不再发生交集。
它是在所有可能的交叉场景和子场景中的所有对象(在最后的项目,我想有嵌套子场景的许多层)或者我应该尝试,如果我使用光线投射,以保持所有对象在同一场景?
预先感谢您的宝贵时间,
艾萨克