资源优化

Mesh

动态模型:面片数<3000
材质数<3
骨骼数<50
静态模型:顶点数<500

上述是在手游中模型优化的参考标准,

Audio:

长时间音乐(背景音乐):使用mp3的压缩格式,主要是减少了安装包的大小

短时间音乐(音效):使用wav的格式 ,经常性的播放,不需要频繁加载,使用mp3则是会频繁的解压缩操作

推荐博客:unity优化—资源优化_unity发布exe时很慢-CSDN博客

有对Unity中音频资源导入的详细讲解

Texture

贴图长宽<1024,Unity最高支持2048

Shader

尽量减少复杂的数学运算

减少discard操作

资源冗余

Resources目录下的所有文件最后都会被打包到安装包中

同样的资源建议存在唯一路径

资源检测与分析

AB包上的分析

Unity官方自带的UPR分析工具,第三方工具UWA

UWA | 致力于游戏VR和AR应用提供项目研发解决方案 | 简单优化、优化简单 | 侑虎科技 (uwa4d.com)

性能优化

LOD

image-20240926154122602

模型贴图精度调整,原糊近清,直接的参照是图中的组件,在assets文件夹中将对应的模型拖拽到该组件不同颜色的色框内就可以使用

需要和美术配合使用

静态选项

在Unity的检视窗口中的可勾选项,static下,存在以下选项,是接下来遮挡剔除和光照贴图应用的前提

image-20240926155018707

unity 性能优化之遮挡剔除_unity occludee-CSDN博客

Nothing 对于任何系统,都不将游戏对象包含在预计算中。
Everything 对于下方的任何系统,都将游戏对象包含在预计算中。
Contribute GI When you enable this property, Unity includes the target Mesh Renderer in global illumination calculations. These calculations take place while precomputing lighting data at bake time. The ContributeGI property exposes the ReceiveGI property. The ContributeGI property only takes effect if you enable a global illumination setting such as Baked Global Illumination or Enlighten Realtime Global Illumination for the target Scene. A Unity Blog post about static lighting with Light Probes provides guidance for using this flag. For additional context, see this tutorial for setting up the Built-in Render Pipeline and lighting in Unity.。启用该选项就是支持全局光照的光照贴图
Occluder Static 在遮挡剔除系统中,将游戏对象标记为静态遮挡物。有关更多信息,请参阅有关遮挡剔除系统的文档。
Occludee Static 在遮挡剔除系统中,将游戏对象标记为静态被遮挡物。有关更多信息,请参阅有关遮挡剔除系统的文档。
Batching Static 将游戏对象的网格与其他符合条件的网格组合起来,有可能降低运行时渲染成本。有关更多信息,请参阅有关静态批处理的文档。
Navigation Static 在预计算导航数据时包含游戏对象。有关更多信息,请参阅有关导航系统的文档。
Off Mesh Link Generation Attempt to generate an OffMesh Link that starts from this GameObject when precomputing navigation data. For more information, see the documentation on automatically building OffMesh Links.
Reflection Probe Type 属性设置为 Baked反射探针预计算数据时,包含此游戏对象。有关更多信息,请参阅有关反射探针的文档。

Contribute GI:光照贴图应用选项

Navigation static的选项似乎已经被

遮挡剔除

只渲染在视野内的游戏对象

在Unity 2017 版本中,将要使用这项技术的游戏对象在静态层级选中为 Occluder Static,随后需要指定一个接收 Occlusion Culling 功能的摄像机

不过在2023附近的版本中,这项功能被相机中的一个选项所取代,如下图所示,并且新增两个遮挡剔除的组件,同时在windows窗口中的位置也被放入到Rendering框体中

image-20240926160740641

image-20240926160956027

光照贴图

在Unity2017版本中,该功能的使用是将要使用光照贴图的游戏对象在静态层级上选择为 lighting static ,将要烘焙的光源在mode选为 bake,然后去windows窗口选择lighting 窗口,进行光照贴图的烘焙,bake

模型合并

多个模型合并为一个模型

提前调整好父子关系

img