Three.js 在覆盖场景-Autodesk forge viewer中的自定义几何体上单击“侦听器”
我在forge viewer的2D屏幕上添加了一个自定义几何体Three.js 在覆盖场景-Autodesk forge viewer中的自定义几何体上单击“侦听器”,three.js,autodesk-forge,autodesk-viewer,forge,Three.js,Autodesk Forge,Autodesk Viewer,Forge,我在forge viewer的2D屏幕上添加了一个自定义几何体 const geom = new THREE.SphereGeometry(10, 8, 8); const material = new THREE.MeshBasicMaterial({ color: 0xff0000 }); const sphereMesh = new THREE.Mesh(geom, material); sphereMesh.position.set(1, 2, 3
const geom = new THREE.SphereGeometry(10, 8, 8);
const material = new THREE.MeshBasicMaterial({ color: 0xff0000 });
const sphereMesh = new THREE.Mesh(geom, material);
sphereMesh.position.set(1, 2, 3);
viewer.impl.createOverlayScene('custom-scene');
viewer.impl.addOverlay('custom-scene', sphereMesh);
viewer.impl.invalidate(true);
如何在此叠加场景的网格上添加单击侦听器。TL;TR:
由于Forge Viewer基于three.js,因此在定制查看器时,您要么依赖查看器的API,要么可以更深入地使用three.js API,或者更深入地使用WebGL
在您的例子中,您使用three.js创建了一个自定义几何体,它的级别低于查看器API,您不能期望查看器能够与它交互。
因此,由于(通过创建three.js几何体)您处于three.js级别,因此必须依赖three.js API来处理自定义几何体选择。
为了实现这一点,通常使用光线投射,并且有很多教程,其中一些是:
- )李>
- )李>
这些都是通用的,在Forge的一篇博客文章中,有一个在Forge Viewer环境下的光线投射的例子:请告诉我,我如何将几何体添加到查看器的API级别,而不是创建自定义几何体?