asc*_*isi 3 javascript 3d three.js raycasting
在一个Three.js应用程序中,我想获得透视摄像头所指向的对象,并且这样做我读了raycaster文档.我发现的所有文档都谈到了使用相机和来自鼠标坐标的Vector2进行光线投射,但我不想使用鼠标的2d坐标.相机可以出于任何原因旋转:点击并拖动屏幕,触摸控制甚至VR控制,我只想从透视摄像机的中心点进行光线投射,并将其设置为"选中"它所看到的对象.
有什么建议?
THREE.Raycaster.set()期望origin和direction矢量:
origin - 光线投射的原点矢量.
direction - 给出光线方向的方向向量.应该正常化.
将摄像机世界位置设置origin为其世界方向direction:
var raycaster = new THREE.Raycaster();
raycaster.set( camera.getWorldPosition(), camera.getWorldDirection() );
var intersects = raycaster.intersectObjects( objectsArray );
if ( intersects.length > 0 ) {
//...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
688 次 |
| 最近记录: |