在叠加场景中的自定义几何图形上单击侦听器 - Autodesk 锻造查看器



我在锻造查看器的 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);

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

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

由于 Forge Viewer 基于三个.js,因此在自定义查看器时,您要么依赖 Viewer 的 API,要么更深入地使用三个.js API 甚至更深入的 WebGL。

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

  • https://threejsfundamentals.org/threejs/lessons/threejs-picking.html;
  • https://riptutorial.com/three-js/example/17088/object-picking---raycasting;

这些是通用的,在Forge博客的一篇文章中,有一个在Forge Viewer上下文中投射的插图:https://forge.autodesk.com/blog/handling-custom-meshes-selection-along-model-components-forge-viewer

最新更新