使用相机位置和方向获取交叉点数据

时间:2019-06-18 08:05:00

标签: javascript point-clouds

在Potree中,我可以使用nodesOnRay获取相交的节点,但是我会循环遍历所有节点中的所有点,这会降低性能。我想获得最近的命中节点,而不是射线上的所有节点。

我尝试使用pointCloud.pick()方法,但它取决于2d点,当我尝试使用摄像机的位置和方向获取屏幕上的投影点时,它给我错误的结果

let raycaster = new THREE.Raycaster(cameraPosition, cameraDirection, 1, 3);
raycaster.linePrecision = 0.1;
let ray = raycaster.ray;
let pixelPosition1 = computeScreenSpaceBoundingBox(volume.box, 
viewer.scene.getActiveCamera());
pickParams.x = pixelPosition1.x; 
pickParams.y = pixelPosition1.y;
let inter = viewer.scene.pointclouds[0].pick(viewer, 
viewer.scene.getActiveCamera(), ray, pickParams);

0 个答案:

没有答案