UE4 模型简化
LOD 分组
通过自定义LOD组,设置减面百分比及LOD层级个数。
StaticMeshes LOD
遮挡剔除简化
虚幻编辑器提供了一个流程,可以扫描关卡中静态网格体Actor并确定哪些会被完全遮挡——换句话说,哪些Actor是完全看不到的。一旦找到这些Actor,就可以在图层中隔离它们,或将它们从关卡中删除,或者简化它们的几何体以删除内部细节。这个过程被称为 抽壳(jacketing)。
关卡目标
针对Actor操作,对关卡目标使用抽壳工具时,工具会对选定的一组静态网格体Actor进行遮挡测试。它会从各个角度分析这些Actor的几何体,确定哪些Actor完全无法看到。稍后,它会列出所有被遮挡的Actor。接着,可以选择如何处理它们。
- 用一个新的组件标签 包壳隐藏(Jacketing Hidden) 来标记被遮挡的Actor。
- 将被遮挡的Actor放在名为 抽壳(Jacketing) 的新图层中。
- 通过关闭 隐藏在游戏中的Actor(Actor Hidden in Game) 设置来隐藏被遮挡的Actor。
- 在关卡中移除被遮挡的Actor。
注意:
如果在蓝图或Python脚本中以关卡目标模式运行该工具,它只返回被遮挡的Actor列表,以便你的脚本确定要采取的操作。
如果有许多小部件,每个部件都由一个单独的静态网格体Actor表示,并且位于具有相对简单的几何体或外壳中,则关卡目标模式是一个不错的选择。
在关卡目标模式中,包壳工具从不修改任何静态网格体资源。它只运行遮挡测试并确定完全遮挡的Actor。
网格体目标
当在网格体目标(Mesh Target)模式下使用抽壳工具时,它会以三角形为基本单位来处理遮挡。在执行遮挡测试后,它会删除静态网格体资产中的所有被遮挡三角形。这能有效地将遮挡网格体删减成一个空壳,删除其内部细节。
当外壳或遮挡物拥有复杂的内表面时,或者有多个Actor(几何体相互重叠)时,这是个合适的方案。重叠区域内的所有几何体都会被充分简化。
为避免减损外观品质,包壳工具采用的识别方法相对保守,只会在确保无误的情况下移除三角形。所有可见三角形都会保持原样不变。抽壳工具不会对三角形进行二次三角划分或简化。它只会删除不必要的三角形。
其他简化
网格体合并剔除体积
网格体合并剔除体积(Mesh Merge Culling Volume) 标记它们包含的网格体对象,以使这些对象合并成单个网格体。通过将合并区域内的一系列小型网格体作为一个网格体进行剔除或引起HLOD生成以通过更优的方式减少几何体的数量,它可以提高性能。
层级LOD体积
层级LOD体积(Hierarchical LOD Volume) 被层级细节(HLOD)系统用来将Actor划分到单个HLOD群集。生成群集时,虚幻引擎将覆盖常规的生成过程,转而遵循手动放置的体积。
剔除距离体积
剔除距离体积(Cull Distance Volume) 是一种优化工具,可根据对象距摄像机的距离及其尺寸,对对象进行剔除(即不绘制到屏幕上)。当对象小到可被视为不重要时,即可不绘制对象,从而优化场景。尺寸是按照边界框的最长边计算的,而剔除距离是根据与该尺寸最接近的距离计算的。剔除距离体积(Cull Distance Volume)设置取决于 剔除距离(Cull Distances) 属性,如以下图中的 细节(Details) 面板截图所示。
上图中,属性定义了下列行为:
● 体积内大小最接近50单位的对象会在它们距摄像机500单位或更远时被剔除(消失)。
● 体积内大小最接近120单位的对象会在它们距摄像机1000单位或更远时被剔除(消失)。
● 体积内大小最接近300单位的对象将永不会被剔除,因为在这种情况下,0被当作无穷大,这意味着永远不可能距摄像机足够远。
设置时,请先向"剔除距离(Cull Distances)"数组中添加一个新元素,填入给定对象的大小以及希望该尺寸或小于该尺寸的对象被剔除时所处的距离。无需按照特定的顺序创建这些属性。同时设置网格体允许剔除距离体积。
CullDistanceVolume