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 ビューアでは、外側のオブジェクトをクリックしても内側のオブジェクトを選択できません。別の要素内の要素を選択する方法は?
メイン シーンにも空の子がいます。すべての要素はどこにあり、画面上でどのようにレンダリングできますか?
API を完全に制御するには、Forge ビューアーのデータ構造を理解するためのより適切なドキュメントが必要です。Autodesk Forge ビューアの viewer3D.js と wgs.js を独学で習得する必要があります。