Instant Occlusion Culling;即时遮挡剔除

        遮挡剔除:当物体被送进渲染流水线前,将摄像机内看不到的物体进行遮挡剔除,从而减少每帧渲染数据量,从而提高渲染性能。

一、渲染管线

       定义: 图形数据在GPU上经过运算处理,最后输出到屏幕的过程。

        绘制调用Draw Call:每次引擎准备数据并通知GPU的过程。通俗讲,每帧调用显卡渲染物体的次数。

观察Draw call的情况:打开game面板的Stats,Batches(一批)代表其Draw Call的使用情况。一个物体一个Draw Call,但是场景中存在各种各样的光,会使Draw Call的的使用情况变得复杂。

Unity3D 渲染密度及渲染屏占比统计工具_环境光

 

Unity3D 渲染密度及渲染屏占比统计工具_深度缓存_02

深度缓存Z—buffer:判读是显示一车的像素还是二车的像素,需要深度值(物体到摄像机的距离)进行判断。光栅化时便计算各像素的深度值,如果新的深度值比现有的深度值更近,则像素颜色被写到帧缓存,替换深度缓存。

Unity3D 渲染密度及渲染屏占比统计工具_unity_03

 

        缺点:滥用会加大CPU的使用

        适用范围:物体在小范围内密集存在

LOD:根据物体模型的节点,在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。

Unity3D 渲染密度及渲染屏占比统计工具_unity_04

        为实现从远处到近处显示的物体的细节不同,减少不必要的渲染量,可将同一物体的不同建模放在不同位置处,再令其共用一个父物体。通过LOD的调节,使不同位置时显示出的物体模型精度不同从而达到远处低精度,近处高精度的效果。

        详细方法如下:compoent->Rendering->LOD Group点击,然后弹出LOD页面,将LOD界面摄像头移动至LOD0处,点击下方Add,将其设置为第一个物体,以此类推。

Unity3D 渲染密度及渲染屏占比统计工具_深度缓存_05

 

Unity3D 渲染密度及渲染屏占比统计工具_.net_06

        还可设置消失方式:cross fade(淡入淡出)、speed fade(直接消失)

Unity3D 渲染密度及渲染屏占比统计工具_学习_07

 

        缺点:占用内存大 

 二、光照系统

        Gobal Illumination:全局光照,能够计算直接光,间接光,环境光、反射光的光照的系统。

 

Unity3D 渲染密度及渲染屏占比统计工具_环境光_08

         通过选择Layer选择要照射的物体,可以通过extent层来选择物体边缘的光照效果。

Unity3D 渲染密度及渲染屏占比统计工具_深度缓存_09

  阴影:

Unity3D 渲染密度及渲染屏占比统计工具_unity_10

细节调节:Edit->Project Setting->Quality

Unity3D 渲染密度及渲染屏占比统计工具_unity_11

 

Unity3D 渲染密度及渲染屏占比统计工具_unity_12

Unity3D 渲染密度及渲染屏占比统计工具_深度缓存_13

 

环境光 :

Unity3D 渲染密度及渲染屏占比统计工具_unity_14

Unity3D 渲染密度及渲染屏占比统计工具_.net_15

 

Unity3D 渲染密度及渲染屏占比统计工具_深度缓存_16

 

Unity3D 渲染密度及渲染屏占比统计工具_unity_17

 

        间接光:将环境中不动的物体,标为静止

Unity3D 渲染密度及渲染屏占比统计工具_深度缓存_18

 实时GI:设置Lighting面板

Unity3D 渲染密度及渲染屏占比统计工具_.net_19

 烘焙:

Unity3D 渲染密度及渲染屏占比统计工具_环境光_20

        通过控制Light面板的Mode来进行控制

Unity3D 渲染密度及渲染屏占比统计工具_学习_21

 

         三、光源侦测

        场景中动态物体可检测光的变化

Unity3D 渲染密度及渲染屏占比统计工具_环境光_22