我想了解 Autodesk Forge 查看器如何将节点元素存储在多个 THREE.Scene 对象中。有几个场景:
viewer.impl.scene // The main scene
viewer.impl.overlayScenes // Three overlay scenes: selection, pivot and roll
每当在 Forge 查看器中选择一个元素时,它的 THREE.Mesh 对象就会添加到 viewer.impl.overlayScenes.selection.scene.children。然而它的边界几何总是为零,不像原始的 THREE.Mesh 对象在执行 geometry.computeBoundaryBox() 后会有边界
由于 Forge 元素的零边界,我不能使用 THREE.Raycaster 通过覆盖元素进行投影以在鼠标选择时获取它们的 dbId。我如何选择内部 dbId,因为它将获得外部 dbId?Forge 查看器不允许在单击外部对象时选择内部对象。如何在另一个元素中选择一个元素?
主要场景也有空的孩子。所有元素在哪里,它们如何在屏幕上呈现?
了解 Forge 查看器数据结构以获得完整的 API 控制将有更好的文档。我必须自己学习 Autodesk Forge 查看器的 viewer3D.js 和 wgs.js。