Threejs在物体附近获得raycaster交叉点

时间:2016-10-31 00:16:31

标签: javascript jquery three.js

我正在尝试获取鼠标附近的物体,我正在使用以下内容:

raycaster.near = 10;
raycaster.far = 100;
var intersects = raycaster.intersectObjects( scene.children );

if ( intersects.length > 0 ) {

    if ( INTERSECTED != intersects[ 0 ].object ) {

        console.log(intersects);

    }

} else {

    //Manage mouse out

}

它忽略了near和far属性,只是将对象放在鼠标下方。

1 个答案:

答案 0 :(得分:1)

nearfar属性表示沿光线的距离,而不是距离光线的距离。所以在你的情况下,raycaster将匹配距离相机10到100个单位的物体,而不是光线周围的半径。

据我所知,raycaster中没有像你一样的容差值。但是,您可以做的是仅为光线投射创建单独的场景。对于需要光线投射的每个对象,您将创建另一个对象(按某个因子放大)并将其添加到光线投射场景中。