Global Illumination简称GI,即全局光照。
用来模拟光的互动和反弹等复杂行为的算法。包含直接光、间接光、环境光以及反射光、自发光材质的光照系统。
间接光是从一个对象弹射到另一个对象的光。
环境光是场景周围存在的光,并非来自任何特定的光源对象。
通过GI算法可以使渲染出来的光照效果更为真实丰富。
从光源直接发出的光,通过Light组件实现。
Type 类型: 灯光对象的当前类型
Directional Light 平行光:平行发射光线,可以照射场景里所有物体,用于模拟太阳。不受位置影响,旋转可以模拟白天黑夜效果。
Point Light 点光源:在灯光位置上向四周发射光线,可以照射其范围内的所有对象,用于模拟灯泡。
Spot Light 聚光灯:在灯光位置上向圆锥区域内发射光线,只有在这个区域内的物体才会受到光线照射,用于模拟探照灯。
Area Light区域光:由一个面向一个方向发射光线,只照射该区域内物体,仅烘焙时有效,用在光线较为集中的区域。(片光注意要关闭实时GI,打开bake GI)
Range 范围:光从物体的中心发射的范围。仅适用于点光源和聚光灯。
Spot Angle 聚光角度:灯光的聚光角度。只适用于聚光灯。
Color 颜色:光线的颜色。
Intensity 强度:光线的明亮程度。
Culling Mask 选择遮蔽层 : 选择要照射的层Layer。
Shadow Type 阴影类型: Hard 硬阴影 、Soft 软阴影
-- Strength 硬度:阴影的黑暗程度。
-- Resolution 分辨率: 设置阴影的细节程度。
-- Bias 偏移 :物体与阴影的偏移。
通过 Mesh Renderer 组件启用禁用阴影
-- Cast / Receive Shadows 当前物体是否投射/接收阴影。
-- Off 不投射阴影,On 投射阴影,Two Sided 双面阴影,
Shadows Only 隐藏物体只投射阴影
阴影剔除:设置显示阴影的距离
Edit->Project Settings->Quality->Shadows Distance
技巧:
灯光作为相机的子物体,灯光会随着相机移动,实现拿着火把进入山洞的效果。
建立模型,或者导入模型后,直接添加light组件,这个游戏物体就变成了一盏灯。还可以对游戏物体添加自发光材质。
灯光可以营造氛围,模拟夜晚效果,添加动画可以模拟火焰跳动、闪电的效果。
利用cookie,可以模拟天空中流动的云在地面投射阴影的效果(在ps中制作带alpha通道的图片,存储为tga格式,选中图片的Texture Type为Cookie,根据赋给的灯光类型改变Light Type)。
使用CubeMap贴图可以制作镜子反射的效果。
物体表面在接受光照后反射出来的光。
通过 Light 组件中 Intensity 反弹强度控制。
可以通过 Scene 面板 Indirect 模式查看间接光照。
注意:
只有标记 Lightmaping Static 的物体才能产生间接反弹光照。
作用于场景内所有物体的光照,通过 Environment Lighting中Ambient 控制。
Ambient Source 环境光源
-- Skybox 通过天空盒颜色设置环境光照
-- Gradient 梯度颜色
Sky 天空颜色、Equator 地平线颜色、Ground 地面颜色
-- Ambient Color 纯色
intensity multiplier 强度倍数
Ambient Mode 环境光GI模式
-- Realtime 实时更新,环境光源会改变选择此项。
-- Backed 烘焙,环境光源不会改变选择此项。
根据天空盒或立方体贴图计算的作用于所有物体的反射效果,通过 Environment Lighting 中 Reflection 控制。
Reflection Source 反射源
-- Skybox 天空盒
Resolution 分辨率
Compression 是否压缩
intensity multiplier 强度倍增
Reflection Bounces 使用 Reflection Probe 后允许不同游戏对象间来回反弹的次数。