本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com
Unity 引擎为了实现游戏场景的明暗和光影效果,提供了四种类型的光源,分别是方向光(Directional Lights)、点光源(Point Lights)、聚光灯(Spotlights)以及区域光(Area Light)。
-
方向光(Directional Lights):方向光模拟远离场景的光源,例如太阳光。这种光源的位置并不重要,因为其照射在物体上的光线是平行的。也就是说,在场景的任何位置摆放方向光,都不会影响它的照明效果。这种灯光能影响巨大的场景,是最常用也是最耗资源的一种灯光。在开发过程中,往往设置一到两个光源,设置太多则会影响性能。
-
点光源(Point Lights):点光源是具有位置且会朝各个方向发出光的光源,正如很小的灯泡或者蜡烛。在 Unity 中,点光源会向四面八方发出光线。这类光源对于制作类似于灯泡、蜡烛等小范围照明的情况非常有用。它消耗资源相对方向光来说较少,根据照明需求可以设置多个。
-
聚光灯(Spotlights):聚光灯有明确的位置,同时也有明确的照亮方向,发出的光束内的物体会被照亮,发出的光束外的物体则不会被照亮。比如,手电筒、台灯、舞台灯光等都是聚光灯。聚光灯在 Unity 中常常用来模仿现实生活中的聚光灯效果,资源消耗的多少与灯光范围大小直接相关。
-
区域光(Area Light):区域光是之前的三种灯光无法覆盖的一种灯光类型,它被广泛应用在环境照明和间接照明上,提供了对真实世界物体更精细的模拟。区域光能够发出软阴影,并得到效果更好、更现实的反射效果。在 Unity 中,区域光只能使用在使用 Path Tracing(路径追踪)和 Baked GI(烘培全局光照)的渲染场景中。由于其计算量相对较大,因此在实时渲染场景中,并不适合大面积使用。
对于 Unity 中的灯光,可以设置颜色、强度、照射角度等各种参数,同时可以应用在物理材质上,更为真实地模拟出现实中的光照条件。合理地使用灯光可以给游戏增加现实感、层次感和立体感,为玩家营造出沉浸式的游戏体验。