UnrealEngine减少DrawCall有很多种方法,今天分享一种使用材质自定义基元数据的方式有效减少DrawCall,优化虚幻4运行性能。
使用自定义基元数据(CPD)工作流时,利用材质将自定义的数据存储在索引中,可以通过蓝图和代码访问并修改,功能类似与动态材质实例,可用在运行时通过标量和向量参数动态控制材质。区别在于,CPD的优势是数据存储在基元自身而非材质实例上,减少了重复几何体的绘制调用次数,减少DrawCall的数量,优化UE4游戏运行。
本文参考官方文档https://docs.unrealengine.com/zh-CN/Engine/Rendering/Materials/CustomPrimitiveData/index.html
本案例通过对比基元存储自定义数据 和 动态材质实例两中方案,反映使用自定义基元数据优化DrawCall,优化游戏性能方面的作用。
范例一、
创建材质、向量节点,如图,将Use Custom Primitive Data 选项勾选——使用自定义基元数据