文章目录
- 光照系统
- 全局光照 Global Illumination
- 直接光照
- 间接光照
- 环境光照
- 反射光照
- 实时 GI
- 烘焙 GI
- 光源侦测 Light Probes
- 声音
光照系统
全局光照 Global Illumination
Global Illumination 简称 GI ,即全局光照。全局光照指能够计算直接光、间接光、环境光以及反射光(四光缺一不可)的光照系统。即通过 GI 算法可以是渲染出来的光照效果更为真实丰富。
直接光照
直接光照指从光源直接发出的光,通过 Light 组件实现。
Type 类型:灯光对象的当前类型
– Directional Light 平行光:平行发射光线,可以照射场景里所有物体,用于模拟太阳;
– Point Light 点光源:在灯光位置上向四周发射光线,可以照射其(球形)范围内的所有对象,用于模拟灯泡;
– Spot Light 聚光灯:在灯光位置上向圆锥区域内发射光线,只有在这个区域内**(锥形内)的物体才会受到光线照射**,用于模拟探照灯;
– Area Light 区域光:由一个面向一个方向发射光线,只照射该区域内物体,仅烘焙时有效,用在光线较为集中的区域。
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 Disdance
间接光照
间接光照指物体表面在接受光照后反弹出来的光。通过 Light 组件中的 Bounce Intensity 反弹强度控制。还可以通过 Scene 面板 Irradiance 模式查看间接光照。
注意:只有标记 Lightmaping Static 的物体才能产生间接反弹光照。
环境光照
环境光照是作用于场景内所有物体的光照,通过 Environment Lighting 中的 Ambient 控制。
Ambient Source 环境光源
– Skybox 通过天空盒颜色设置环境光照
– Gradient 梯度颜色:Sky 天空颜色、Equator 地平线颜色、Ground 地面颜色
– Ambient Color 纯色
Ambient Intensity 环境光强度
Ambient GI 环境光 GI 模式
– Realtime 实时更新,环境光源会改变选择此项。
– Backed 烘焙,环境光源不会改变选择此项。
反射光照
发射光照是根据天空盒或立方体贴图计算的作用于所有物体的反射效果,通过 Environment Lighting 中的 Reflection 控制。
Reflection Source 反射源
– Skybox 天空盒
Resolution 分辨率 Compression 是否压缩
-- Custom 自定义
Cubemap 立方体贴图
Reflection Intensity 反射强度
Reflection Bounces 使用 Reflection Probe 后允许不同游戏对象间来回反弹的次数。
实时 GI
Realtime GI ,所谓“实时”是指在运行期间任意修改光源,而所有的变化可以立即更新。正是Unity 5引入了行业领先的实时全局光照技术 Enlighten 系统,才可以在运行时产生间接光照,使场景更为真实丰富。
操作步骤:
1、游戏对象设置为 Lightmaping Static
2、启用 Lighting 面板的 Precomputed Realtime GI
3、点击 Build 按钮(如果勾选 Auto 编辑器会自动检测场景的改动修复光照效果)
烘焙 GI
烘焙 Lightmap,当场景包含大量物体时,实时光照和阴影对游戏性能有很大影响。使用烘焙技术,可以将光线效果预渲染成贴图再作用到物体上模拟光影,从而提高性能。适用于在性能较低的设备(手机)上运行的程序。
步骤:
1、游戏对象设置为 Lightmaping Static
2、设置 Light 组件 Baking(Mode) 属性
3、启用 Lighting 面板的 Baked GI
4、点击 Build 按钮(如果勾选 Auto 编辑器会自动检测场景的改动修复光照效果)
Light 组件 Baking 属性:烘焙模式
– Realtime 仅实时光照时起作用
– Baked 仅烘焙时起作用
– Mixed 混合,烘焙与实时光照都起作用。
可以通过 Scene 面板 Baked 模式查看光照贴图。
光源侦测 Light Probes
由于 Lightmapping 只能作用于 Static 物体,所以导致运动的物体与场景中的光线无法融合在一起,显得非常不真实。而 Light Probes 组件可以通过 Probe 收集光影信息,然后对运动物体临近的几个 Probe 进行插值运算,最后将光照作用到物体上。
步骤:
1、创建游戏对象 Light Probe Group
2、添加侦测小球 Add Probe
3、点击 Build 按钮(如果勾选 Auto 编辑器会自动检测场景的改动修复光照效果)
4、勾选需要侦测物体的 Mesh Renderer 组件的 Use Light Probes 属性
声音
Unity 支持的音频文件格式:mp3、ogg、wav、aif、mod、it、s3m、xm。
声音分为 2D、3D两类:3D声音 — 有空间感,近大远小;2D声音 — 适合背景音乐。
在场景中产生声音,主要依靠两个重要组件:Audio Listener 音频监听器——接收场景中音频源 Audio Source 发出的声音,通过计算机的扬声器播放声音; Audio Source 音频源。
Audio Source 音频源:
– Audio Clip 音频剪辑:需要播放的音频资源。
– Mute 静音:如果启用,播放音频没有声音。
– Play On Awake 唤醒播放:勾选后场景启动时自动播放。
– Loop 循环:循环播放音频。
– Volume 音量:音量大小。
– Pitch 音调:通过改变音调值调节音频播放速度。1 是正常播放。
– Stereo Pan:2D 声音设置左右声道。
– Spatial Blend:2D 与 3D 声音切换。
3D 声音设置:
– Volume Rolloff 音量衰减方式
– Min Distance 开始衰减距离
– Max Distance 结束衰减距离