Forge Viewer - 如何访问(或获取 render/fragment 代理)场景中的克隆网格?

Forge Viewer - How to access (or get render/fragment proxy of) cloned Meshes in scene?

我在将克隆对象添加到场景时遇到 Forge Viewer 问题,我可以看到它,但 select 它或对其进行任何更改都看不到。

我有这个伪代码。

// get first selected Mesh
let selected = Object.values(viewer.impl.selectionMeshes)[0];

// clone it
let clone = selected.clone();

// add it to scene
viewer.impl.scene.add(clone);

// update scene
viewer.impl.sceneUpdated(true);

我错过了什么吗?或者我是否需要将克隆对象作为模型的一部分?

您可以通过多种方式将自定义网格添加到 Forge Viewer,例如:

  • 像您一样,将 three.js 网格插入 viewer.impl.sceneviewer.impl.sceneAfter
  • 使用 overlay manager
  • 使用新的 scene builder 扩展程序

请注意,前两种方法通常仅用于“叠加”,这意味着网格的行为(与查看器交互)与实际加载的模型不同。然而,使用场景生成器可以悬停、选择自定义网格等。