模型实例化和转换

Model instancing and transforming

假设我想将 100 个单独的模型(更大整体的组件)加载到查看器中,每个模型有 10 个实例。这1000个实例将根据一些规则进行定位、旋转和缩放,以形成最终的模型视图。

我知道如何使用查看器加载多个模型,所以我的问题是:

1) 将这么多模型加载到查看器中是否有意义?这些模型的尺寸会很小。

2) viewer3d.start 和 viewer3d.load 应该正常吗?实例化是如何工作的,我会 运行 遇到这么多模型的麻烦吗? 我会有 1000 次加载调用还是可以通过其他方式完成实例化?

3) 如何转换整个模型?我知道如何转换模型的片段。在转换整个模型的情况下,我是转换它的所有片段还是有一个层次结构,所以我可以只转换一个 "root fragment"?

关于 Q1 和 Q2:在一个场景中聚合多个模型是一个常见的用例,但是对于大量模型,您可能会开始达到性能限制,因为恐怕查看器不支持几何数据的内部共享模型之间。

关于Q3:据我所知,无法更改已加载模型的变换。有一个叫做 "placement transform" 的东西 可能 在加载模型之前是可配置的,但我认为它只是在幕后单独转换每个片段。我会与开发团队仔细核实。