光照策略

原文链接:Unity - Manual: Lighting strategy

        当开始为一个场景创建最终的资源以及光照途径之前,您需要去指定您的光照策略。如果后面在开发中再改变光照策略那将会对您的工作流有很大影响。总的来说在进入您的开发之前花时间把光照策略制定对会节省时间,并且使您能达到一个更好的性能和跟高的视觉保真度。

        对于所有的开发工作来说,对于一个选择和另外一个选择的优势和影响之间总会有取舍。然而,有时候某些技术可以给您选择来在某些特定限制下缓和这些取舍。了解这些功能的取舍是您可以选择对您的项目最好的选项。

        一个典型的有室外区域的白天场景有下面的光照组件:

        ·半球光照(天空作用)

       ·直射光照(太阳+本地光)

       ·间接光照(反弹和反射光)


        这似乎是三个简单的组件,但是由于你可以混合搭配实时光照、混合光照、烘焙光照,静态游戏物体和动态游戏物体,您的光照选择范围是非常多种多样的。

        Unity支持多种不同的光照策略和项目使用场景。要了解光照模式并且设置,请看文档光照模式Unity - Manual: Lighting Modes。

        对于新手来说,找出什么样的设置工作对他们的场景最有利以及什么是需要权衡的,这是他们所无法完成的。所以让我们来考虑最通用的使用光照设置:

        ·基础实时光照,光源的镜面高光反射是可见的,但是没有间接光照。

        ·烘焙光照,软烘焙的阴影是可见的,在高分辨率下间接光照也是可见的,但是没有光照的镜面高光反射,并且动态光照游戏物体不会投射阴影。

        ·混合光照,类似于烘焙光照,但是会有光照的镜面高光反射,并且动态光照游戏物体也会留下阴影。

        ·实时光照与GI,合适的间接光照反射和高光反射是可见的,光照时可自由移动和不断更新的,但是没有柔和棱角的阴影。

        ·所有选项启用,取决于每个光照的设置,您可以得到上面所有选项的结合。

        下面的图片显示了这些设置之间明显的不同:


没有环境光吸收或者烘焙灯光启用情况下的五种不同的光照模式  


有环境光吸收或者烘焙灯光启用情况下的四种不同的光照模式  

        请注意:实时GI(Global Illumination)不能烘焙静态环境光吸收,所以它没有包含在内。


基础实时光照和环境(没有实时GI或是烘焙的GI)

        基础实时光照通常用于风格的视觉项目和原型阶段。

基础实时照明

        典型的目标平台:控制台和PC

        优势:

        ·所有的直接光照和阴影都是实时应用的,因而可以移动。

        ·允许快速迭代,因为没有预计算,烘焙,或是网格准备。

        ·静态和动态游戏物体使用同样的方法被照亮的,所以不需要光照探头。

        劣势:

        ·没有半球吸收,只有天空盒/环境值,并且这个区域内的颜色不会被直接光照照亮。

        ·没有GI或者间接光照组件,场景也许不会有最佳的视觉效果。


全部烘焙光照和光照探头

        烘焙光照通常用于那些在运行时性能是问题但是有富余内存的游戏,比如说自上而下等距移动游戏和高帧率的VR游戏。

对于没有环境光遮挡的全部烘焙光照的比较  

        典型的平台目标:移动平台,VR,控制台和低端PC

        优势:

        ·所有光照都为静态物体烘焙。他们产生环境光遮挡和间接照明。

        ·Unity可以将区域光照烘焙支持和柔和的阴影角烘焙到静态的光照物体上。

        ·这里列出的常规设置中最快的运行时性能。

        劣势:

        ·会降低光照迭代速度,因为光照是烘焙的,这意味着当场景改变时Unity需要重新计算光照(除非你正在使用进步的光照映射器)。

        ·动态光照游戏物体只能使用光照探头照亮。

        ·镜面高光反射只依赖于立方体贴图和反射,不再依赖于光源。

        ·动态游戏物体没有阴影。

        ·会需要很多运行时内存,取决于场景中使用了多少光照贴图纹理。

        ·如果游戏物体的纹理图表重叠,可能会需要编写纹理坐标通道2(光照贴图的UV2)。


混合阴影遮罩和光照探头的混合光照

        混合光照在一天不同时间的光照(比如说太阳移动)不重要的游戏中非常有用。


把有与没有环境光遮挡的阴影遮罩混合光照相比较

        典型的目标平台:VR,控制台和PC

        优势:

        ·类似于烘焙光照,但是是混合的光照。动态游戏物体具有实时高光反射,同时静态游戏物体得到烘焙的阴影遮罩,最终得到比较好的视觉质量。

        劣势:

        ·游戏物体被限制有四个阴影遮罩。额外的阴影投射光照得到烘焙的。

        ·在运行时渲染实时光照更是性能密集型的。

        ·在某些特定设置下,混合光照会剧烈的影响性能。

        对于阴影遮罩光照的更多信息,请看阴影遮罩Unity - Manual: Shadowmask


有实时GI和光照探针的实时光照

        这个设置用于开放区域的游戏,你需要一天不同时间光照的更新(比如说太阳移动)以及动态光照效果。


实时GI,使用直接光照改变来改变间接光照更新。

        典型目标平台:控制台和PC

        优势:

        ·实时间接光照使光照迭代非常迅速

        ·动态和静态游戏物体都会有实时高光反射和阴影

        ·比烘焙的间接光照使用更少的内存

        ·对更新全局照明有一个固定的CPU性能影响

        劣势:

        ·遮挡不会再像烘焙光照那么具有细节,并且通常需要用屏幕空间环境遮挡(SSAO)和逐对象纹理烘焙AO来增强。

        ·静态游戏物体没有区域/光照角柔和的阴影。

        ·在某些特定的步骤中实时光照会剧烈的影响性能。

        ·如果有太多的游戏物体影响到静态光照的话,那会花费巨大的时间进行预计算,尤其是没有一个优化的UV设置的情况下。寻求更多信息,请看全局光照UVUnity - Manual: Global Illumination UVs

        要想获取优化实时GI更深入的信息,请看Unity的教程:介绍实时GI的预计算Precomputed Realtime GI (Global Illumination) - Unity Learn


所有选项启用

        通常,如果你想要在游戏中启用所有光照选项,肯定是想在紧凑的控制内存使用和性能限制下达到高保真度的要求。你应该在完全理解了每个独立系统,以及知道怎样去处理每个光照合并的情况下才这么做。

所有选项启动,可以使用Unity光照技术的所有可能性。

        典型目标平台:控制台和PC

        优势:

        ·这是一整套光照的特性,给予你全部的功能。

        劣势:

        ·在运行时有高性能要求,并且有高内存使用。

        ·增加了工作流时间,需要更多的UV编写和烘焙的时间

        为了帮助您学习光照,探照灯地下通道场景使用实时GI的实时光照。这提供了一个高光反射的不同范围,效果好的反射光照,并且允许您快速迭代光照。

你可能感兴趣的:(光照策略)