由于材质基于物理的特性(无论光照如何变化,材质特性保持不变),商业引擎也为此引入具有物理单位的灯光参数,游戏引擎使用基于物理的渲染和遵循真实光的传播,以全局光照为目标,而我们艺术家需要使用这些功能,帮我我们完成艺术创作;无论是摄影、影视、游戏,在打光的造诣方面都有异曲同工之处,讨论了什么是物理渲染和物理材质,本文将从什么是光开始,以及灯的物理单位,其中将通过摄影打光的方法映射到游戏引擎中,还会穿插游戏角色/场景如何打光,从而协助大家科学的使用游戏中的灯光,从灯光效果提升游戏品质。
无论你创作的游戏是在移动端平台,还是PC或者主机端,灯光在游戏开发过程中都是必不可少的,为你的游戏设定好合适环境效果,取决于灯光的选择,灯光是你游戏世界中最有感召力的一部分,它可以给我带来视觉冲击,和故事引导甚至沉浸式体验。
第一部分大自然的光
光虽然不难理解,但因为平常你很少主动留意它对物体的影响,所以这就要求你付出努力,有意识的进行观察,不过一旦你掌握了这些有光有关的知识,你将会发掘出这个世界新的一面,并因而强化你的视觉理解和审美敏感度。
在游戏引擎中模拟了一个晴天午后的光传播的环境(你可以尝试下自己拍照,也是这个结果)
主光源来自模拟太阳(Directional Light),这种从小光源发出的白色光,会投射出清晰的边缘阴影。
次光源是天光(SkyLight),来自模拟蓝色天空,是个极大的光源,因此它形成的阴影非常柔和,以至于在太阳的直接光下完全看不见。来自蓝色的光线具有很强的色彩特性,对场景种的一切都有影响。在风格化明显的项目中建议大胆的尝试。
总结下,一个完整的光的传播包含了:直接光(太阳,天光)+ 间接光(反弹) = 图形学种比较酷的概念:全局光照(Global Illumination),因为我们基于物理的渲染,才能使全局光照变得更真实,正因为全局光照,PBR材质在引擎中和全局光照是密不可分的存在。
第二部分引擎中的光
游戏引擎为我们提供了丰富的灯光类型,UE4和Unity都支持方向光,天光,点光,聚光灯
Directional Light中的Light shaft:通常称为God Ray,UE4中分两种实现:Occlusion和Bloom
面光在UE4中点光源和聚光灯除了颜色/衰减灯属性外,还有“Source Radius”和“Soft Source Radius”以及“Source Length”属性
这个三个属性是用于设置光源的半径,半径的软硬,和长度,会对高光形状产生影响
UE4和Unity还支持面光,可以模拟灯管灯,其中可以调整,面光的形状,以及模拟外部灯盒形效果
UE4中的天光作用是:自动获取远处的入射光信息,包括远景、天空盒、云雾等。它的实现方式是先将远处的入射光信息渲染到Cube Map中,即IBL。在Unity中也可以在Lighting设置中采用Sky Box作为环境光的输入,但是Unity没有将其作为单独可放入场景的光源。
UE4中的光源属性中Mobility的三种类型与Unity分别对应,用于标识灯光在运行时的状态,以及几种全局光照方案都与灯光的设置有关,分别是:
Static---Baked:运行时不可移动,可以用于烘焙全局光照,包含直接光,间接光,阴影,保存于Lightmap中
Stationary--Mixed:运行时不可移动,但可修改光照强度和颜色。其直接光照是实时计算,间接光照是预计算好的,阴影动态物体Shadow Map,静态物体则烘焙好。
Movable---Realtime:运行时可修改可以移动,但只包含直接光,和阴影,间接光预烘焙好,UE对这种光源ShadowMap进行了缓存,当光不动时,静态模型的ShadowMap被保存下一帧继续使用。
先了解一个概念色温:色温是一个可测量的物理计量单位,是指绝对黑体从绝对零度开始加温后呈现的颜色,计量单位为:K;UnrealEngine4在Directional Light中可以开启,Unity在HDRP中才能使用
游戏室外场景中,我们主要使用Directional Light和Sky Light,大自然中的主光源太阳,次光源天光。
物理单位
光通量(光源)lum图上黄色灯泡散发的各个角度的光的总和即为为光通量(注意这是一个能量概念),它的单位是流明lm(lumen)
光强(cd):红色线条图示的是光强度(注意这是一个强度概念),是指光源在指定方向的单位立体角内发出的光通量,它的单位是坎德拉cd(candela)
照度lux(被照物体的亮度)光照度是描述落在某个表面上的光的总和,surface承载的部分就是,它的单位是勒克斯lx(Lux)
亮度cd(每单位面积光源的亮度)亮度:单位光源面积在法线方向 上,单位立体角内所发出的光流;接收面上一平方表面的光反射的强度,指的是物体反射出来的强度。
DirectionalLight: lux
SkyLight: cd/m²
PointLigh/SpotLight/RectLight使用:lm,cd
以上这些参数在我们生活中可以测量的,我们灯管的生产厂家也是以这些单位作为标准。
IES
UE4中的IES光源描述文件 是一条曲线。该曲线在一段弧线中定义了光源强度,并使得 聚光源 投射出的光照更加真实。形成灯具的反射表面、灯泡的外形和透镜之类的美妙效果,且无纹理开销。