欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

light Mode:real-time\mixed\Baked

程序员文章站 2022-03-26 08:56:01
...

Real-time lighting

将实时模式用于需要更改其属性或在游戏过程中通过脚本生成的灯光。 Unity在运行时每帧计算并更新这些灯光的照明。 它们可以根据玩家的动作或场景中发生的事件而变化。 例如,您可以将它们设置为打开和关闭(如闪烁的灯光),更改其“变形”(如在暗室中手持火炬)或更改其视觉属性(如颜色和强度)。
实时灯光可以在静态和动态GameObjects上照亮并投射逼真的阴影。 他们将阴影投射到Shadow Distance (defined in Edit > Project Settings > Quality).
您还可以将实时光源与实时全局照明(Realtime GI)结合使用,以便它们为静态和动态GameObjects提供间接照明。

Mixed lighting

混合光可以在运行时更改其Transform和视觉属性(例如颜色或强度),但只能在严格的限制内进行。 它们可以照亮静态和动态GameObjects,始终提供direct lighting,并且可以选择提供indirect lighting。 混合光照明的动态GameObject始终会在其他动态GameObject上投射实时阴影。
场景中的所有混合光都使用相同的混合照明模式。 要设置照明模式,请打开“照明”窗口(菜单:“窗口”>“照明”),单击“场景”选项卡,然后导航到“混合照明”部分。
混合照明对于 不属于gameplay但 照亮静态环境(例如,天空中不移动的太阳)的照明很有用。 混合光的直接照明仍在运行时进行计算,因此静态网格物体上的材质保持其视觉保真度,包括完全基于物理的阴影(PBS)支持。

Baked lighting

烘焙光是将其“模式”属性设置为“烘焙”的光源组件。
对用于局部环境的灯光(而不是功能齐全的灯光)使用“烘焙”模式。  Unity会在运行前从这些Lights预先计算照明度,并且不将它们包含在任何运行时照明计算中。 这意味着烘焙的Lights没有运行时开销。
Unity将烘焙的Lights中的直接和间接光照烘焙到光照贴图(以照亮静态GameObject)和Light Probes(以照亮动态Light GameObjects)中。 烤光甚至在动态GameObjects上也不能发出镜面照明(有关更多信息,请参见Wikipedia:镜面高光)。 烤灯不会根据玩家的动作或场景中发生的事件而改变。 它们主要用于增加黑暗区域的亮度,而无需调整场景中的所有照明。
烘焙光还是动态游戏对象无法在其他动态游戏对象上投射阴影的唯一光源类型。
烘焙照明的优点
光照图中静态游戏对象上的静态游戏对象上的高质量阴影,无需额外费用。
提供间接照明。
静态GameObjects的所有光照只能是从“着色器”(Shader)的光照贴图获取的一个Texture。
烘焙照明的缺点
没有实时直接照明(即没有镜面照明效果)。
静态GameObjects上的不会出现动态GameObjects的阴影。(移动的cube在realtime光源的照射下地面(静态物体)有影子,但在模式为Baked光源照射下地面没有影子)
使用“光探测器”只能从静态GameObjects上获得动态GameObjects的低分辨率阴影。
与实时光照相比,由于光照贴图纹理集(light map texture),内存需求增加了,因为光照贴图需要更详细地包含直接光照信息。