如何从threejs中的raycaster中排除交叉点检查中的辅助对象?

sth*_*hag 2 intersection helper scene three.js raycasting

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

var intersects = raycaster.intersectObjects( scene.children );
Run Code Online (Sandbox Code Playgroud)

然后,我检查对象的颜色,并在与鼠标指针接触时更改它.

INTERSECTED.material.emissive.setHex( 0xff0000 );
Run Code Online (Sandbox Code Playgroud)

如果我向场景添加一个辅助对象,比如CameraHelper或GridHelper,我会得到常量错误,因为.getHex .setHex辅助对象是不可能的.

是否可以从此检查中排除辅助对象,我该怎么做?

它必须是scene.children- scene.helpers,但我无法想出办法.谢谢您的帮助.

Wes*_*ley 7

创建要Raycaster处理的对象数组.

var objects = [];

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

---

var intersects = raycaster.intersectObjects( objects, recursiveFlag );
Run Code Online (Sandbox Code Playgroud)

three.js r.73