一、目录
【Unity3D从入门到进阶】文章目录及设置这个专栏的初衷
二、灯光类型(Lights)
Unity3D中默认可以创建这么几种灯光:聚光灯、点光源、平行光、面积光,另外还可以创建两种探针(Probe):反射探针(Reflection Probe)和光照探针组(Light Probe Group)。
平行光
平行光通常用来做阳光,Unity3D新建场景后会默认在场景中放置一盏平行光。平行光不会衰减。
- Type:灯光类型,所有类型的灯光都其实共用一个组件,本质上是一样的。
- Color:灯光颜色
- Mode:灯光照明模式,每种模式对应Lighting面板中一组设定
- Realtime:对应Realtime Lighting
- Mixed:对应Mixed Lighting
- Baked:对应Lightmapping Setting
Realtime Lighting是新出现的一种烘焙光照技术,它并不像传统的烘焙技术一样直接烘焙间接光照颜色和亮度信息到光照贴图上,而是烘焙物体和物体之间的关系信息,比如A面对B面有漫反射效果,B面对C面有漫反射效果等等。这样一来,只要物体之间的关系不变(也就是所有的静态物体都不移动位置),就不需要重新烘焙,从而使得我们可以在场景中随意运用动态光源(dynamic lights)。而传统的Lightmapping光照贴图方式则不支持动态光源效果(改变光源不会改变场景光照)。Realtime Lighting比Lightmapping要更耗费系统资源,所以手游上就不要考虑了。
- Intensity:灯光强度
- Indirect Multiplier:在计算该灯光所产生的间接光照时的强度倍乘
- Shadow Type:阴影贴图的类型
- No Shadows:无阴影贴图
- Hard Shadows:硬阴影贴图
- Soft Shadows:光滑阴影边缘(也就是阴影模糊效果)
- Baked Shadow Angle:烘焙阴影的角度
- Realtime Shadows Strength:实时阴影强度
- Resolution:阴影贴图分辨率
- Bias:阴影偏移,通常适当增加这个值来修正一些阴影的artifact
- Normal Bias:法线偏移,通常适当减少这个值来修正一些阴影的artifact(不同于Bias的使用场合)
- Near Plane:阴影剪切平面,对于与摄影机距离小于这个距离的场景物体不产生阴影
- Cookie:Cookie相当于在灯光上贴黑白图,用来模拟一些阴影效果,比如贴上网格图模拟窗户栅格效果
- Cookie Size:调整Cookie贴图大小
- Draw Halo:灯光是否显示辉光,不显示辉光的灯本身是看不见的
- Flare:Flare可以使用一张黑白贴图来模拟灯光在镜头中的“星状辉光”效果
- Render Mode:渲染模式
- Culling Mask:剔除遮罩
点光源
点光源模拟一个小灯泡向四周发出光线的效果,点光源在其照亮范围内随距离增加而亮度衰减
- Range:光线射出的范围,超出这个范围则不会照亮物体
聚光灯
聚光灯模拟一个点光源仅沿着一个圆锥体方向发出光线的效果,聚光灯在其照亮范围内随距离增加而亮度衰减
- Spot Angle:灯光射出的张角范围
面积光
面积光模拟一个较大的发光表面对周围环境的照明效果,通常面积光的灯光亮度衰减很快,阴影非常柔和。
Unity3D的面积光仅在烘焙光照贴图时有效,并不像Maya的Area Lights一样能动态照亮场景。
- Width:面积光宽度
- Height:面积光的高度
总的来说,Unity3D中自带灯光比较简单,根据我们在Maya中使用灯光的经验,可以很快熟悉这些灯光类型的使用。