javascript three.js raycaster不会选择克隆

javascript three.js raycaster不会选择克隆,javascript,arrays,three.js,Javascript,Arrays,Three.js,我只是尝试将光线投射应用于屏幕上的对象,但这些模型是彼此的克隆: 我得到了两个长方体obj文件,每个文件在一个循环中克隆了5次,并插入一个数组MyboxArray[] 在运行时,这些框将在另一个循环中添加材质。 示例:MyboxArray[i].children.material=where 然后将这些框添加到场景中 问题: 一旦所有的盒子都准备好了纹理,它们就被添加到场景中。添加(MyArray[j])也是在一个循环中 以下是问题所在: var intersects = raycaster.i

我只是尝试将光线投射应用于屏幕上的对象,但这些模型是彼此的克隆:

我得到了两个长方体obj文件,每个文件在一个循环中克隆了5次,并插入一个数组
MyboxArray[]

在运行时,这些框将在另一个循环中添加材质。 示例:
MyboxArray[i].children.material=where

然后将这些框添加到场景中

问题: 一旦所有的盒子都准备好了纹理,它们就被添加到
场景中。添加(MyArray[j])
也是在一个循环中

以下是问题所在:

var intersects = raycaster.intersectObjects(scene.children,true);// or MyArray, myArray.children

        if ( intersects.length > 0 ) {


           console.log( intersects[0].name);// returns undefined!
                       console.log( MyArray[0].name) // returns Good
         }
我的问题是,我无法与我选择的项目交互,因为它返回未定义的,但我知道它在那里,通常情况下,如果我只是将项目推送到一个数组中,它会工作,但这些项目是克隆的,然后推送到一个数组中,因此它不想捕获它们。任何帮助都将不胜感激

更新:我更接近解决方案,问题是光线投射器。相交对象(场景。子对象,真);
最初我可以做:
raycaster.intersectObjects(MyArray[i].children)//这将只选择2个项目对象…我需要知道如何增加myArray..我猜数组中有一个数组,有什么想法吗。

你能粘贴复制对象的代码吗?