查看者`rayIntersect`在

时间:2018-01-08 13:13:07

标签: autodesk-forge autodesk-viewer

由于某些原因,当我尝试使用viewer.rayIntersect投射光线时,它仍然会碰到透明物体。

查看rayIntersect实现时,_modelQueue.rayIntersect忽略透明对象,而avp.VBIntersector.intersectObject则忽略透明对象。

// ... rayIntersect implementation
var result = _modelQueue.rayIntersect(ray.origin, ray.direction, ignoreTransparent, dbIds, modelIds, intersections);

if (this.sceneAfter.children.length) {
    var raycaster = new THREE.Raycaster(ray.origin, ray.direction, this.camera.near, this.camera.far);
    var intersects = [];
    avp.VBIntersector.intersectObject(this.sceneAfter, raycaster, intersects, true);

    if (intersects.length) {
        if (!result || intersects[0].distance < result.distance) {
            result = intersects[0];
        }
    }
}

// ... rayIntersect implementation

是否有另一种投射光线的方法来解决这个问题?

编辑:

也许值得一提的是,射线撞击房间几何(虽然看不见):

Room Geometry

蓝点是光线的交点,你可以看到它“漂浮在空中”而不是在地板上。

我正在使用版本3.1

0 个答案:

没有答案