three.js - 如何在threejs中通过raycaster从交叉检查中排除辅助对象?

标签 three.js helper intersection scene raycasting

我有一个带交叉检查对象的 Threejs 场景。我将每个场景对象添加到数组中,然后由 raycaster 检查。

var intersects = raycaster.intersectObjects( scene.children );

然后我检查对象的颜色并在与鼠标指针接触时更改它。
INTERSECTED.material.emissive.setHex( 0xff0000 );

如果我添加一个辅助对象,例如 CameraHelperGridHelper , 到现场我得到不断的错误,因为 .getHex .setHex辅助对象是不可能的。

是否可以从此检查中排除辅助对象,我将如何执行此操作?

它必须类似于 scene.children -scene.helpers 但我想不出办法来做到这一点。
谢谢您的帮助。

最佳答案

创建您想要的对象数组 Raycaster处理。

var objects = [];

objects.push( mesh1 );
objects.push( mesh2 );

---

var intersects = raycaster.intersectObjects( objects, recursiveFlag );

三.js r.73

关于three.js - 如何在threejs中通过raycaster从交叉检查中排除辅助对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21605344/

相关文章:

ios - NSSet 的 NSArray 在 NSLog 中不显示任何内容

javascript - 如何隐藏从其他(复杂)3D 对象背面伸出的 3D 对象部分?

javascript - Three.js 中几何体的缩放动画

javascript - 三.JS:根据不同的tilesets渲染大 map (Texture Atlas)

javascript - 三个js : computing the bounding box of rotated text

ruby-on-rails - 如何干燥这段代码?

javascript - 三.OrbitControls 不是构造函数

php - 如何在 Action 助手中捕获异常?

xcode - OSX 上适用于 Apple Sandbox 的代码签名帮助程序应用程序

Python - 字典相交列表