所以我正在使用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);
然后将所有这些对象添加到 subScene 而不是场景中,将不再发生交集。
是否有可能使场景和子场景中的所有对象相交(在最终项目中,我希望有多层嵌套的子场景)或者如果我使用光线投射,我应该尝试将所有对象保持在同一个场景中?
提前感谢您的时间,
艾萨克