1、Unity引擎中提供的光照系统叫EnLighten,作为引擎渲染的一部分,负责构建场景中的灯光。
(1)Light组件简介
Unity的灯光组件大致分为:光源组件和烘焙组件
光源:自己能发光,分为Directional Light,Point Lignt,Spot Light。
(2)常见光源类型
a、Directional Light
平行光,模仿太阳光,没有真正的“源”,整个场景中任何一个角落的光照强度是相等的。
b、Point Lignt
点光源,从中心呈球形向四周扩散,例如火把,室内灯具。Point Light的效果受到范围(Range)和强度(Intensity)的影响。和Directional Light不同,点光源的效果受到位置的影响。
c、Spot Light
聚光灯,从中心呈扇形向某一个方向发出,受扇形角度(Angle)和范围(Range)的影响。一般模拟手电筒和车灯。
d、Area Light
区域光,与上面3个最大的不同在于只能在烘焙的情况下使用。而Directional Light,Point Lignt,Spot Light能在实时(RealTime)和烘焙(Bake)两种情况下使用。
2、全局光照
实际开发中,大多数情况下灯光都是相互作用的,如灯光照射到物体A上,A反射的光会照射到物体B,这种关联关系是通过全局光照(Global Illumination,GI)系统来进行处理的。
全局光照简介:
全局光照极大提升了场景中光照的真实性,但是这种程度的实时计算是非常消耗资源的。但从另外一个方面说,我们只需要对场景中的动态物体进行实时计算,保证光照效果,但是对于固定的物体,不应该浪费太多资源。
这种技术在Unity中称为烘焙。当对场景进行灯光烘焙后,场景中的光照信息就会存储在Lightmap中,当场景运行时,Unity就会读取Lightmap中的数据,无需再次进行计算,避免了不必要的性能消耗。
原文地址:https://www.cnblogs.com/jiaxinli/p/11725005.html