【问题标题】:Using Raycaster with an Orthographic Camera将 Raycaster 与正交相机一起使用
【发布时间】:2014-11-08 22:03:25
【问题描述】:

我正在使用正交相机来显示对象的尺寸。但问题是我不能再对这种类型的相机进行交叉检测了。我在网上搜索我发现pickray作为解决方案,但现在它已从r69中删除。有没有可能让它在没有 pikcingray 的情况下工作?提前谢谢你。

【问题讨论】:

    标签: three.js


    【解决方案1】:

    以下是将Raycaster 与透视相机或正交相机一起使用时要遵循的新模式:

    var raycaster = new THREE.Raycaster(); // create once
    var mouse = new THREE.Vector2(); // create once
    
    ...
    
    mouse.x = ( event.clientX / renderer.domElement.width ) * 2 - 1;
    mouse.y = - ( event.clientY / renderer.domElement.height ) * 2 + 1;
    
    raycaster.setFromCamera( mouse, camera );
    
    var intersects = raycaster.intersectObjects( objects, recursiveFlag );
    

    three.js r.73

    【讨论】:

    • 当整个窗口没有被画布填充或 devicePixelRatio 不是 1 时,您需要 (event.offsetX / rect.width) * 2 - 1const rect = renderer.domElement.getBoundingClientRect() 才能正确操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多