Unity2D光照 - Spot Light 2D和Shadow Caster 2D的实践
目录
前言
调整全局光照(环境光)
增加路灯的Spot Light 2D
增加地面的Shadow Caster 2D
增加道具的Spot Light 2D
增加红色路牌的自定义形状Light 2D
最终场景效果
前言
本文将基于一个基本Unity 2D的场景,对其进行光照的添加来美化场景,将会用到Spot Light 2D、Shadow Caster 2D等组件。下面两张图展示了本文将会进行光照美化的原始场景以及美化后的场景。
调整全局光照(环境光)
下图中的场景是本次光照实践的基础场景,只有一个白色灯,且intensity为1。
首先,考虑我们将场景的时间设定在夜晚,这样会营造出更有氛围的灯光。因此我们需要将全局的环境光调暗,并且可以将颜色往环境的蓝色去调来增加氛围,当我们调整了全局光的颜色后就会变为如下所示。

增加路灯的Spot Light 2D
给两个路灯增加Spot Light 2D,并设置颜色偏蓝,营造氛围。调整内半径为1,外半径到5.5,并调整角度内角度为50,外角度为60。最后勾选上阴影效果。

此时我们会发现一个问题就是灯光会穿透地面照亮下面的部分,这种光实际上不太合理,因为不会穿透照到地面下去,因此我们需要将光给截断,这里就会用到Shadow Caster 2D组件。
增加地面的Shadow Caster 2D
添加一个新的游戏物体,并添加一个Shadow Caster 2D的组件,并勾选上Self Shadows即自己也有阴影,遮挡住Spot Light 2D的光。然后点击Edit Shape编辑其形状符合关卡的地面形状。

此时我们就会发现,路灯的光背路面给截住了。
增加道具的Spot Light 2D
为了让场景中的道具在游戏过程中更加的明显,给玩家提示,我们也可以给道具增加一些聚焦的灯光凸显其重要性。
蓝色的票据可以增加一个圆形的蓝色光照。颜色取和票据相似,增加强度intensity为1.2,调整外圈半径为0.6。提高Falloff Strength为0.6。并勾选上Volumetric设置为0.1增加一点体积光的感觉。

绿色的钞票可以增加一个圆形的绿色光照。颜色取和票据相似,增加强度intensity为1.5,调整外圈半径为0.6。提高Falloff Strength为0.6。并勾选上Volumetric设置为0.1增加一点体积光的感觉。

增加红色路牌的自定义形状Light 2D
给红色路牌添加一个类型为Freeform的Light 2D组件,编辑其形状接近路牌形状,设置颜色为红色,调整intensity为1.2,设置Falloff为0.15,调整Falloff Strength为0.8。

最终场景效果
当添加完所有的灯光并完成设置后,我们的场景灯光实践就完成了,最终效果如下,游戏氛围和没有灯光时感觉是完全不同的。

