Unity3D入门(一) -- (补充材料)光照
在Unity3D, 广义上分为两种光照 dynamic lighting 和 baked lighting.
Dynamic lighting 是在游戏引擎运行时进行实时计算的, 而baked lighting 是预先计算好的光照,采用光照贴图(lighting texture map)的形式。
对于light component 共有4种不同的光照, spot light(聚光) , directional light(平行光), point light(点光或全向光), area light(面积光)(只用于baked lighting).
拉开Type下拉框, 可以进行选择, 其中:
点光源类似于一个灯泡, 光照的效果随着位置的变化而变化, 但是旋转对光照效果无影响。
平行光类似于太阳,即自然光。 光照效果与位置无光, 与旋转的方向有关
(这段取自《游戏引擎架构》P391)聚光(spot light),类似于手电筒, 等同于发射光线受限于一个圆锥(cone)范围的点光源,通常用内角和外角设置两个圆锥, 在内圆锥里光线以最高强度发射, 内外角之间,光线强度衰减直至0. 光照效果受位置和旋转的影响
面积光用于baked lighting, 对具有一定面积的平面进行投射
除此之外再介绍一些概念
环境光(ambient light), 掌控全局非平行光光照, 即可用于dynamic lighting, 也可用于baked lighting。
发光材料(emissive material), 只用于baked lighting。
如何设置光的属性?
(1) range: 决定光辐射的最远距离, 只在点光源和聚光中可以设置
(2) spot angle : 在聚光中,可以设置辐射的光锥角度大小
(3) intensity: 设置光的强度
(4) cookies: (理解不知道对不对) 类似于给光源外套一个mask,来制造patterned shadow, 对于聚光和平行光, cookies是一个2D纹理,对于点光源, cookies是3D的纹理。 cookies利用纹理的alpha通道来制造patterned shadow。
(5) shadow: 有两种:hard shadow 更有效率, soft shadow通常会更真实,但cost更高。strength 设置shadow的灰度。 bias决定离物体多远的位置开始生成shadow,。
(6) Draw Halo: 光环
(7)flare: 类似于Halo, 单是模拟通过光学玻璃的光源(不太懂....)