javascript three.js raycaster不会选择克隆
我只是尝试将光线投射应用于屏幕上的对象,但这些模型是彼此的克隆: 我得到了两个长方体obj文件,每个文件在一个循环中克隆了5次,并插入一个数组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
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..我猜数组中有一个数组,有什么想法吗。你能粘贴复制对象的代码吗?