我正在尝试获取鼠标“附近”的对象,我正在使用以下内容:
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 属性,只让对象位于鼠标下方。
最佳答案
near
和 far
属性指示沿射线的距离,而不是距射线的距离。因此,在您的情况下,光线转换器将匹配距离相机 10 到 100 个单位的物体,而不是光线周围的半径。
据我所知,您正在寻找的公差值在 raycaster 中不可用。不过,您可以做的是仅为光线转换创建一个单独的场景。对于每个需要光线转换的对象,您将创建另一个对象(按某种因素放大)并将其添加到光线转换场景中。
关于javascript - Threejs 获取物体附近的光线转换器交点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40335056/