javascript - Three.js 从子对象获取父对象(一组)

标签 javascript three.js html5-canvas

在我的场景中,有许多对象组(Object3D),并且我设置了一个系统,用于单击/悬停在它们上方以执行某些操作。当它使用光线转换器查找鼠标下方的对象时,它返回单个对象,而不是组(我需要的)。

我用来获取光标下的对象的代码如下所示:

raycaster.setFromCamera(mouse, camera);
clickobjstore = raycaster.intersectObjects(objects, true);

// The following doesn't work because intersects[0] is not the group, it's the object within the group!
for (j = 0; j < intersects[0].object.children.length; j++) {
    intersects[0].object.children[j].material.color.setHex(0x1A75FF);
}

最佳答案

Object3D class为您存储对parent-对象的引用:

var objectGroup = intersects[0].parent;

for (j = 0; j < objectGroup.children.length; j++) {
    objectGroup.children[j].material.color.setHex(0x1A75FF);
}

关于javascript - Three.js 从子对象获取父对象(一组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33724800/

相关文章:

javascript - 在几何线之间创建中断,Three.JS

javascript - 盒子几何边

canvas - 在 Canvas 单词搜索游戏中创建行

javascript - 如何在 Canvas 上同时绘制图像和草图

javascript - 按值分组到数组、includes()、自定义结构

javascript - 是否有一种 DRY(er) 方法将项目添加到数组中?

javascript - 使用 jquery mobile 的动态 ListView

javascript - 使用 javascript 分页 <li> 不起作用?

javascript - 为什么在 Three.js 中这个旋转速度会降低 (1/2) 倍?

javascript - 多个 Javascript 时钟