Unity 常见优化方法

本文详细介绍了Unity引擎的多个优化方法,包括CPU层面的减少draw call、GPU性能提升、光照优化、LOD和剔除技术,以及实时阴影的处理。建议通过合并mesh、使用GPU instancing、优化模型几何、压缩纹理、编写高性能着色器等方式来提升游戏性能,特别是关注移动设备的GPU和内存使用。同时,强调了避免过多的实时光照和阴影以减少渲染开销,利用Lightmapping和LOD系统平衡视觉效果和性能。
摘要由CSDN通过智能技术生成

CPU:减少draw call

  • 手动合并mesh或使用unity的批处理(一个mesh中有1000三角面优于1000个只有1个面的mesh)。

    • 静态合批
    • 动态合批
    • GPU Instancing
  • 在物体中使用更少的材质,把不同的纹理放到一个更大的纹理图集中。

  • 使用更少导致对象被渲染多次的效果(如反射,阴影和像素光)。

请注意,合并两个不同材质的的对象无法提升性能。需要多种材质的最常见原因是两个mesh没有共享相同纹理。为了优化CPU性能,请确保合并的所有对象共享相同纹理。

当在Forward rendering path中使用多个像素灯时,可能会出现合并对象没有意义的情况。请参阅下面的光照性能部分,以了解如何管理它。

GPU:优化模型几何形状

  • 尽量减少不必要的三角面

  • 尽量减少UV贴图接缝和硬边(硬边处顶点数翻倍)

请注意,图形硬件必须处理的顶点的实际数目通常与3D应用程序报告的数目不同。建模应用程序通常显示组成模型的不同角点的数量(称为几何顶点数)。然而,对于一个显卡,为了渲染的目的,一些几何顶点需要被分割成两个或更多的逻辑顶点。如果一个顶点有多个法线、UV坐标或顶点颜色,则必须对其进行分割。因此,Unity中的顶点数通常高于3D应用程序给出的顶点数。

虽然模型中的几何图形数量主要与GPU相关,但Unity中的一些功能也在CPU上处理模型(例如mesh skinning)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值