【发布时间】:2014-11-08 22:03:25
【问题描述】:
我正在使用正交相机来显示对象的尺寸。但问题是我不能再对这种类型的相机进行交叉检测了。我在网上搜索我发现pickray作为解决方案,但现在它已从r69中删除。有没有可能让它在没有 pikcingray 的情况下工作?提前谢谢你。
【问题讨论】:
标签: three.js
我正在使用正交相机来显示对象的尺寸。但问题是我不能再对这种类型的相机进行交叉检测了。我在网上搜索我发现pickray作为解决方案,但现在它已从r69中删除。有没有可能让它在没有 pikcingray 的情况下工作?提前谢谢你。
【问题讨论】:
标签: three.js
以下是将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
【讨论】:
(event.offsetX / rect.width) * 2 - 1 和 const rect = renderer.domElement.getBoundingClientRect() 才能正确操作。