Unity 光照系统
Posted chenzirong1999
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 光照系统相关的知识,希望对你有一定的参考价值。
光照系统
在2017年以前光照贴图技术是游戏光照设置的主流方式,但由于光照贴图需要事先烘焙(baking)出来,且仅支持静态物体(Static Object)。而游戏场景几乎不可能全都是静态物体,所以通常游戏场景中的灯光照明是多种照明方式的混合作用。
对于静态物体来说,大多使用光照贴图来模拟间接光的照明效果,然后加上直接光源的动态照明效果;
对于运动物体来说,则仅用直接光源的动态照明效果,或者使用光照探针来模拟间接光的照明效果。
一、Direct Lighting :自然光
Unity3D中的直接照明主要来源于各种灯光物体,而灯光物体本质上是空物体加上灯光组件。直接照明可以产生阴影,但光线不会反射、也不会折射,可以穿透半透明材质物体。
- Type:灯光类型,所有类型的灯光都其实共用一个组件,本质上是一样的。
- Color:灯光颜色
- Mode:灯光照明模式,每种模式对应Lighting面板中一组设定
-
- Realtime:对应Realtime Lighting
-
- Mixed:对应Mixed Lighting
-
- Baked:对应Lightmapping Setting
- 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:剔除遮蔽图,选中层所关联的对象将受到光源的影响。
二、Point :点光源
点光源模拟一个小灯泡向四周发出光线的效果,点光源在其照亮范围内随距离增加而亮度衰减
- Range:光源的范围大小,从光源对象中心发射的距离Color:灯光颜色
- Mode:灯光照明模式,每种模式对应Lighting面板中一组设定
-
Realtime:对应Realtime Lighting
-
Mixed:对应Mixed Lighting
-
Baked:对应Lightmapping Setting
-
- Intensity:灯光强度,只有Point和Spotlight有该参数
- Indirect Multiplier:在计算该灯光所产生的间接光照时的强度倍乘
-
Shadow Type:阴影贴图的类型
-
No Shadows:无阴影贴图
-
Hard Shadows:硬阴影贴图
-
Soft Shadows:光滑阴影边缘(也就是阴影模糊效果)
-
-
Draw Halo:灯光是否显示辉光,不显示辉光的灯本身是看不见的
-
Flare:Flare可以使用一张黑白贴图来模拟灯光在镜头中的“星状辉光”效果
-
Render Mode:渲染模式。包含:自动,重要逐像素进行渲染,不重要(以最快速度渲染)
-
Culling Mask:剔除遮蔽图,选中层所关联的对象将受到光源照射的影响。
三、Spot :聚光灯
聚光灯模拟一个点光源仅沿着一个圆锥体方向发出光线的效果,聚光灯在其照亮范围内随距离增加而亮度衰减
-
Range:光源的范围大小,从光源对象中心发射的距离
-
Spot Angle:灯光射出的张角范围
-
Color:灯光颜色
-
Mode:灯光照明模式,每种模式对应Lighting面板中一组设定
-
Realtime:对应Realtime Lighting
-
Mixed:对应Mixed Lighting
-
Baked:对应Lightmapping Setting
-
-
Intensity:灯光强度,只有Point和Spotlight有该参数
-
Indirect Multiplier:在计算该灯光所产生的间接光照时的强度倍乘
-
Shadow Type:阴影贴图的类型
-
No Shadows:无阴影贴图
-
Hard Shadows:硬阴影贴图
-
Soft Shadows:光滑阴影边缘(也就是阴影模糊效果)
-
-
Draw Halo:灯光是否显示辉光,不显示辉光的灯本身是看不见的
-
Flare:Flare可以使用一张黑白贴图来模拟灯光在镜头中的“星状辉光”效果
-
Render Mode:渲染模式。包含:自动,重要逐像素进行渲染,不重要(以最快速度渲染)
-
Culling Mask:剔除遮蔽图,选中层所关联的对象将受到光源照射的影响
四、Area :区域光
模拟一个较大的发光表面对周围环境的照明效果,通常面积光的灯光亮度衰减很快,阴影非常柔和。
Unity3D的面积光仅在烘焙光照贴图时有效,并不像Maya的Area Lights一样能动态照亮场景。
-
width:面积光宽度
-
Height:面积光的高度
-
Color:灯光颜色
-
Intensity:灯光强度,只有Point和Spotlight有该参数
-
Indirect Multiplier:在计算该灯光所产生的间接光照时的强度倍乘
-
Draw Halo:灯光是否显示辉光,不显示辉光的灯本身是看不见的
-
Flare:Flare可以使用一张黑白贴图来模拟灯光在镜头中的“星状辉光”效果
-
Render Mode:渲染模式。包含:自动,重要逐像素进行渲染,不重要(以最快速度渲染)
-
Culling Mask:剔除遮蔽图,选中层所关联的对象将受到光源照射的影响。
以上是关于Unity 光照系统的主要内容,如果未能解决你的问题,请参考以下文章
Unity高级开发-光照系统(三)-使用Unity的Progressive工具去正确的烘焙光照