我正在用地面,天空和一些物体做简单的三j场景。当鼠标悬停时,某些对象应该是红色的,但不是全部。我得到了它的工作方式它为我触摸的所有红色着色,但我如何防止它,只是画我想画的物体?例如,不是地面,天空或房屋,而只是汽车。
我应该为这条线做些什么吗?
var intersects = raycaster.intersectObjects( scene.children );
其余部分就像:
for ( i = 0; i < intersects.length; i++ ) {
intersects[ i ].object.material.color.set( 0xff0000 );
}
我不会在这里再添加任何代码,但它很简单,我打赌你明白我在做什么。基于threejs.org的例子制作的基本几何东西和raycaster。
答案 0 :(得分:0)
如果您想对场景对象的子集进行光线投射,请遵循以下模式:
var objects = [];
...
objects.push( mesh1 );
objects.push( mesh2 );
...
var intersects = raycaster.intersectObjects( objects, true );
three.js r.83