分类: 信息化
2014-07-16 16:18:11
装饰组图形代表一个实例化对象空间组。 这些对象可以是植被对象,或其他需要在场景中大量实例化的低多边形数对象。
在运行库侧,引擎使用一种优化的渲染方式,所以,和使用单个实体相比,使用实例化对象有很大的性能优势。 当一组图形被创建后,即可鼠标点击场景、创建单个实例。
装饰组图形
装饰组图形位于几何体图形组,从图形创建面板将装饰组图形实例拖拽到场景中即可完成添加。
当某个实例被添加到场景中后,您会看到一个对话框,选择合适的低多边形几何网格并点击 OK。
装饰组工具框
当装饰组图形被添加到场景中时,会显示一个装饰组工具框,让您进行多种选项的编辑。
New Instance(新实例)模式,可将选中的新几何网格实例放置到场景中(CTRL + 鼠标左键)
Re-centre Pivot(重新中置中心点): 选择该选项让组中心点重新居中。
Drop to Floor(掉落到地面): 选择该选项使所有实例掉落到地面。
Relax Position(逐步扩大): 选中该选项,改组所有实例间的距离会略微拉大,在几何网格之间创造更多空间。
Remove Overlaps(移除重叠): 该选项可移除一切边界与其他实例重叠的实例。
其余工具框控制选项:
Relative Scaling(相对缩放比例)该值设定了组内所有实例的相对基底缩放比例。
Randomness(随机值)该滑块值设定了实例缩放的变量值。
在实践中,装饰组图形使用起来非常快捷,只需选中”新实例图标”,设定相对缩放比例和随机值,然后在您需要放置新实例的位置按 CTRL + 。
一个实例被创建后,将会在场景图形列表的装饰组根目录中列出。 任何实例均可单独选中并按您的需要随普通几何网格转化。
装饰组相关操作菜单
大部分添加到场景列表视图中的图形都有相关操作菜单,该图形也不例外。 相关操作菜单中的可用选项与上文介绍的工具框相同。
每个装饰组实例都有其自己的相关操作菜单。
装饰组选项
除了位置、朝向等基本属性,装饰组还有若干专用属性。
物理属性选项
装饰实例仅支持一种碰撞几何体类型,即每个实例中心点周围的碰撞胶囊。 胶囊半径可调,也可在 vForge 中预览。
隐式组分裂
vForge 中创建的组的大小也许并不适合运行库,可能是性能原因导致,也可能是因为每组对象数量的硬性限制。 所以,组图形有一个名为‘Runtime Group Splitting’(运行库组分裂)的属性类别,允许将组隐式分裂成多个运行库组。 其分裂标准直白易懂:
值得花时间对这些值的设定进行尝试,以找到性能最佳组合。
烘培模式
装饰组可通过‘relevant operations’(相关操作)切换成‘baked mode’(烘培模式)。 在该模式下,该组所有子项实例都被保存为一个二进制文件。 随后,所有子项图形都被移除。 也就是说,单个实例无法被编辑、添加或移除。 不过,其好处在于场景载入速度会大大加快,而且该场景的内存占用会显著减少。 所以,当某组已完成创建,或估计长期不会修改时,建议使用烘培模式。
相关操作中的‘Un-bake’(去烘培)可取消烘培模式。 该操作将二进制文件内容恢复成组的子项图形。 这一流程可无限次往复进行,但恢复到图形的转换会有所损失。 例如,子项的图形名称不会保留。 但每个实例的所有运行库相关信息都会保留。
二进制文件的文件名可手动指定,也可(推荐)让程序在场景层文件夹中自动生成唯一的文件名。 如让程序自动命名,当使用‘Save as’(另存为)指令将场景保存到新位置时,这些文件也会被一同复制。
所产生的 .vgroup 二进制文件必须放入版本控制,使其能够被 vForge 场景获取。 但运行库侧不需要该文件,因为导出的 .vscene 场景文件已将实例序列化。 所以烘培在运行库侧没有任何好处,但在 vForge 内非常有帮助,尤其是对大型场景或大型组。 此外还有一个用来对 .vgroup 二进制文件进行程序读写的 API。
转自:projectanarchy中文社区