使用raycaster时如何防止背景色?

时间:2017-01-07 16:40:20

标签: javascript three.js raycasting

我正在用地面,天空和一些物体做简单的三j场景。当鼠标悬停时,某些对象应该是红色的,但不是全部。我得到了它的工作方式它为我触摸的所有红色着色,但我如何防止它,只是画我想画的物体?例如,不是地面,天空或房屋,而只是汽车。

我应该为这条线做些什么吗?

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

其余部分就像:

for ( i = 0; i < intersects.length; i++ ) {
                intersects[ i ].object.material.color.set( 0xff0000 );
                }

我不会在这里再添加任何代码,但它很简单,我打赌你明白我在做什么。基于threejs.org的例子制作的基本几何东西和raycaster。

1 个答案:

答案 0 :(得分:0)

如果您想对场景对象的子集进行光线投射,请遵循以下模式:

var objects = [];

...

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

...

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

three.js r.83