Unity中的灯光和渲染

Posted Hello Bug.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity中的灯光和渲染相关的知识,希望对你有一定的参考价值。

一:Unity中的灯光

——Directional Light:模拟太阳光。它与位置无关,是平行光,可以调整旋转角度模拟昼夜
——Spot Light:模拟车灯、手电筒的光、舞台灯光
——Point Light:模拟灯泡
——Area Light:该类型的光源无法应用于实时光照,仅适用于光照贴图烘焙,它只能作用于静态物体,通过烘焙来生成光照贴图,从而减少了性能的开销

灯光通用的参数设置
——Color:光的颜色
——Intensity:光的强度
——Shadow Type:阴影类型
——Cookie:光照下来的投影
——Culling Mask:跟Camera的类似,可以设置不同层的光照渲染
——Mode:实时渲染模式、混合渲染模式和烘焙模式,烘焙模式下只能作用于静态物体。通过烘焙来生成光照贴图,从而减少了性能的开销

实时全局光照和烘焙全局光照
全局光照简称GI,为了更加接近现实世界其实它是由全局光照和间接光照组成的
灯光模式有三种,实时渲染模式、混合渲染模式和烘焙模式,当一个灯光同时作用于静态物体和动态物体时,使用混合渲染模式更能减少性能的开销

选择灯光模式为混合渲染模式,这样就可以让静态物体使用烘焙模式进行光照贴图的计算,让动态物体继续使用实时光照计算
Subtractive是一种性能开销最小的模式,同时会有一些不支持的效果,Baked Indirect是效果最高级的一种模式
调整灯光效果是一个慢活,可以在Project Setting的Quality中设置阴影的各种参数(是否开启阴影,多少距离范围内显示阴影,阴影的类型等)或者添加灯光探针(Light Probe Group)


二: 天空盒

——自制天空盒

找一张正方体的展开图导入到Unity中,选择Texture Shape为Cube

新建一个材质,设置Shader和Cubemap,将材质赋给Lighting设置的Skybox Material

灯光的设置

Skybox Material:天空盒材质
Environment Lighting:环境光设置(环境光来源,环境光强度)
Environment Reflections:环境光反射


三:反射探针 

反射探针是用来模拟反射周边物体的光照信息的一种解决方案,让物体受周围物体的光照或材质进行影响的一种模拟光照效果
如果不使用反射探针物体只会反射天空盒,例如在一个室内中应该让物体反射墙壁和室内场景的信息而不是天空盒


四:PostProcessing

使用Package Manager可以安装PostProcessing插件
PostProcessing挂载到相机上可以实现各种效果


五:渲染路径设置


渲染路径决定了光照是如何应用到Unity Shader中的。因此,如果要和光源打交道,就要为每个Pass指定它的渲染路径
——Forward:前向渲染,一般都使用此渲染模式,使用此模式需要注意,场景中灯光越多,渲染性能越慢
——Deferred:延迟渲染,是一种效果最好的渲染模式,同时也需要强大的硬件支持,它不支持真正的抗锯齿功能,不能处理半透明物体
——Legacy Vertex Lit:这是一种顶点渲染,效果比较差性能较差的设备可以使用这个顶点级别的渲染

以上是关于Unity中的灯光和渲染的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D 中的灯光与渲染

Unity渲染路径 Rendering Paths_2_Forward Rendering 正向渲染

unity灯光渲染参数

Unity渲染路径 Rendering Paths_2_Forward Rendering 正向渲染

关于Unity中的光照

SIKI_UNITY_灯光与渲染