设置场景时,您可能希望将类似对象引用到同一名称空间中(例如,效果、头发、集等)。这样您就可以创建类似对象的集合来覆盖其属性并控制其可见性。
可以通过名称空间使用表达式轻松填充集合。
例如,创建一个名为 chr 的名称空间来引用角色。
然后,在 chr 名称空间中,分别创建一个 crowd、hero 和 hair 名称空间。
对象中的引用如下所示:
chr:crowd:chr_crowd_verA
chr:hero:chr_nik
chr:hair:chr_mike_hairgroom
然后,可以使用表达式 chr::* 填充角色集合。
填充集合时,结果将在首次执行计算后缓存,且第二次将层设为可见时,处理将会更快。更改集合或场景时,缓存将失效(并重新进行计算)。
为了提高性能,可以在该层之外另外创建一个层;也就是说,主层可以在您使用集合填充渲染层和创建覆盖时保持可见。
还可以为尚不存在的数据创建集合。例如,在构建包含大量建筑的城市场景时,请遵循一致的建筑命名约定(例如,citybldg1、citybldg2,依此类推),然后使用 citybl* 等表达式将所有建筑添加到一个集合中。
当您创建一个新场景并导入渲染设置模板,然后将建筑添加到场景中之后,可以通过单击 图标重新应用表达式,建筑会因此自动添加到集合中。
如果无需可视化场景,请在加载复杂场景之前暂停视口。暂停允许您在场景中进行更改(例如,导入 .json 模板文件),而不必等待视口更新。请参见在 Hypershade 中暂停 Viewport 2.0 和材质查看器
同样,对无需即时提供可视反馈的复杂场景执行多个操作时,也请暂停视口。
创建集合时,精确声明表达式将有助于减少计算时间;例如:|Set|Building|*,而不仅仅是 |Set|*,因为这可以减少集合中的节点数。