在覆盖场景中的自定义几何体上单击侦听器-Autodesk Forge Viewer

时间:2019-09-20 11:45:24

标签: three.js autodesk-forge autodesk-viewer forge

我在伪造查看器的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);
     viewer.impl.createOverlayScene('custom-scene');
     viewer.impl.addOverlay('custom-scene', sphereMesh);
     viewer.impl.invalidate(true);

如何在此叠加层场景的网格上添加点击侦听器。

1 个答案:

答案 0 :(得分:1)

TL; TR:https://forge.autodesk.com/blog/handling-custom-meshes-selection-along-model-components-forge-viewer

由于Forge Viewer基于three.js,因此自定义Viewer时,您可以依靠Viewer的API,也可以更深入地使用Three.js API或更深层次的WebGL。

在您的情况下,您使用three.js创建了一个自定义几何图形,该几何图形的级别比Viewer API低,并且您不能期望Viewer可以与其交互。 因此,由于(通过创建three.js几何图形)您处于three.js级别,因此,您将不得不依靠three.js API来处理自定义几何图形选择。 为此,通常使用光线投射,并且周围有许多教程,其中一些是:

这些是通用的,在Forge博客文章之一中,有一个在Forge Viewer上下文中进行光线投射的示例:https://forge.autodesk.com/blog/handling-custom-meshes-selection-along-model-components-forge-viewer