更新说明

4.22+版本引擎进行了更新,不再需要开发者手动进行合批。


Actor合并

对渲染有所了解的小伙伴一定知道,渲染耗时的瓶颈在于cpu频繁的向gpu发送数据,因此减少Draw Call的提交次数能够有效的提升性能。

《Unity Shader 入门精要》中提到了减少Draw Call的两种方式:

  1. 避免使用大量很小的网格。当不可避免地需要使用很小的网格结构时,考虑是否可以合并它们。
  2. 避免使用过多的材质。尽量在不同的网格之间共用同一个材质。

因此,在UE4关卡中,若存在多个使用同一材质或关联性较高的材质的静态网格体时,由于它们均是独立的StaticMeshActor个体,所以需要调用很多次绘制指令。为了减少Draw Call,可以使用Actor合并工具,该工具能够将多个静态网格体合并为一个新的actor。

【UE4 优化】使用“Actor合并”合批优化性能

合并方式

【UE4 优化】使用“Actor合并”合批优化性能
待合批的模型

选中场景中的多个静态网格体后,打开该工具,可以选择三种方式进行合并。

  • 第一种将多个Mesh合并为一个Mesh,相同的材质合并插槽,不同的材质放置在不同的插槽。

【UE4 优化】使用“Actor合并”合批优化性能

【UE4 优化】使用“Actor合并”合批优化性能

  •  第二种将多个Mesh合并为一个Mesh,将所有材质融合成一个材质,属于特殊的代理几何体

【UE4 优化】使用“Actor合并”合批优化性能

【UE4 优化】使用“Actor合并”合批优化性能

  •  第三种将多个Mesh合并为一个Actor,将同种材质的同种模型合并为实例化网格体组件,可对各个实例进行Transform调整。

【UE4 优化】使用“Actor合并”合批优化性能

【UE4 优化】使用“Actor合并”合批优化性能

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-30
  • 2022-12-23
  • 2021-06-29
  • 2021-05-12
  • 2022-12-23
  • 2021-04-04
猜你喜欢
  • 2021-12-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-25
  • 2021-05-23
相关资源
相似解决方案