欢迎大家继续学习Unity游戏编程进阶 本节我们介绍Unity
渲染优化的方法
本节将采用PPT讲解加项目演示的方式,介绍Unity渲染优化的相关知识要点
在项目演示环节,我们演示了渲染优化方法在《慕课英雄2》项目中的具体应用
希望大家可以根据自己的专业基础和学习能力,从以下方法中选择一种来学习
第一种方法:先看PPT讲解,对相关知识有一个系统的了解 然后观看项目演示视频,学习知识点的应用
第二种方法:先看项目演示视频,了解知识点的具体应用 再回到PPT讲解阶段,有针对性的学习相关的知识要点
第三种方法,跳过PPT讲解,直接进入项目演示 通过理解项目中知识要点的运用,完成相关知识要点的学习,不去回顾PPT讲解
下面进入PPT讲解阶段
优化渲染系统的首要目的是: 提高渲染的效率,也就是保证游戏的帧率
其次是保证游戏画面的质量,通常PC游戏应该接近6帧每秒 手机游戏速率也不能低于3帧每秒。
下面我们讲解Unity渲染系统的具体优化方法
控制渲染的工作量是保证效率的根本
每帧渲染的顶点数量是衡量渲染工作量最直观的标准之一
Unity官方文档提到,每帧可渲染的顶点数量主要取决于设备的GPU
但是通常来说,PC游戏每帧渲染的顶点个数不宜超过几百万个
移动端游戏每帧渲染的顶点数量不宜超过十万个
感兴趣的同学,可以打开本页PPT下方的链接,查看Unity官方给出的渲染优化文档
我们可以通过Game视图的Statistics窗口 查看游戏当前帧渲染的顶点和三角形面片数量
在游戏画面允许的情况下
我们使用数量较少的三角形物体代替顶点个数较多的物体
减少游戏每帧渲染的顶点数量,例如Unity内置的球体有500多个顶点 如果不需要球体特别圆,我们可以考虑使用Sphere
Mesh等软件,生成一个顶点数量较少的球体 代替Unity内建的球体。
下面我们讲解Unity中查看物体顶点数量的一个方法 可以通过Mesh
Filter组件的Mesh属性 查看对象使用的模型资源。
单击Mesh属性值 Project项目视图会高亮显示该模型资源
在Project项目视图中单击该模型资源 可以在检视视图下方,查看模型的顶点和三角形面片数量
Unity每帧渲染的顶点数量
是当前摄像机视锥内的顶点数量 我们可以通过减少摄像机远平面的距离和摄像机的视角
缩小摄像机的视域,从而减少每帧绘制的顶点数量
降低场景中物体的摆放密度,也可以减少摄像机视域内的顶点数量
摄像机视域内有很多被遮挡的物体 没有渲染的必要,我们可以通过"Occlusion
Culling"遮挡剔除技术 剔除摄像机视锥内被遮挡的物体,提高渲染效率
在Unity中使用遮挡剔除技术的步骤,如本页PPT所视
第一步:标记参与遮挡剔除计算的静态物体;第二步
设置遮挡剔除参数;第三步:烘培遮挡剔除数据
下面我们讲解遮挡剔除技术的具体使用方法 首先
选中参与遮挡剔除的静态物体,在Inspector视图 右上角,点击Static右侧的黑色小三角
在弹出的列表中,勾选Occluder Static和Occludee Static
注意:对于场景中足够小,不太容易遮挡其他物体的对象 应当只勾选Occludee
Static 我们依次点击菜单栏中的Windows
Occlusion Culling,开启Occlusion Culling视图
点击Occlusion Culling
视图顶部中央的Bake按钮可以打开遮挡剔除参数 配置页面,其中Smallest
Occluder表示场景中能够成为Occluder遮挡的最小尺寸 Smallest
Hole表示物体上能够被遮挡穿透的最小空洞的尺寸 Backface Threshold表示背面峰值,通常情况下
点击Set default parameters按钮,使用Unity提供的默认参数即可
接着点击Occlusion Culling视图右下角的Bake按钮
开始烘焙遮挡剔除数据。
烘焙完成后, 点击Occlusion Culling视图顶部的Visualization按钮
在Scene场景视图中,预览烘焙结果 场景中只有被摄像机看到的物体才会显示
展开场景视图左上角的显示模式下拉列表
选择其中的Overdraw模式,场景中所有的物体都变成半透明物体
在该模式下观察场景,就好像观看场景的X光片 这种模式能够方便我们查看场景中被遮挡的物体。
本页PPT展示了Overdraw模式下 应用遮挡剔除技术前后的效果对比,蓝框中的箱子模型出现在摄像机视锥内部
但是应用遮挡剔除后,它们没有绘制 Unity提供的LOD,Level
of Details技术 能够提高渲染效率,LOD技术的基本思想是:为同一个物体准备多个精度不同的模型
如果物体距离摄像机比较近,使用高精度模型绘制物体 展现更多的细节。
如果物体距离摄像机比较远,玩家不需要观察到物体的细节 那么使用低精度模型绘制物体,提高渲染的效率
本页PPT中的两张图片展示了不同精度的房屋模型 左侧是高精度模型,具有房屋的细节,如窗户、
栏杆 右侧是低精度模型,缺少细节,但是顶点和三角形面片数量比较少,绘制速度很快
感兴趣的同学,可以访问本页PPT中的链接 在Unity官方文档中查看LOD技术的使用方法
下一节我们继续 介绍Unity渲染优化的方法