Unity 优化之灯光

灯光

Shadow Type 阴影的类型:

1,No Shadows:无阴影,不显示阴影

2,Soft Shadows:软的阴影,比较耗性能,抗锯齿较小

3,Hard Shadows:硬的阴影,耗性能较小,抗锯齿较大

Lightmapping

Windowns->Rendering->Lighting(Scnen)

Mixed Lighting

Lighting Mode

这里要先说明下Project Setting->Quality->Shadow Distance这里设置的模型到摄像机的距离。

其次在模型能产生阴影和灯光产生阴影时,灯光设置Baked模式时都会在lightmapping产生阴影。

最后:以下模式是在灯光设置成Mixed 时生效

  • Baked Indirect 模式时

在Shadow Distance距离内静态模型用实时光,否则使用lightmapping阴影。

  • Shadowmask与Subtractive

不受Shadow Distance距离影响都采用lightmapping阴影。

区别参考下图:Subtractive

Lightmapping Settings

  • Lightmapper 使用什么硬件渲染分GPU 和 CPU ,默认是CPU ,但是CPU 慢,我们这里一般选择 GPU 。GPU 一般能比CPU 快10-50倍,具体要看显卡的性能。

  • Prioritize View: 勾选后会优先渲染视窗内看到的部分(通过这个方式,我们可以快速预览Scene窗口当前画面的间接光照信息,及时做出相应修改)

  • Multiple ImportanceSampling:(默认是禁用状态)这是针对环境光采样的设置。如果开启,可以缩短光照贴图的生成时间,但是在场景中某些较暗的地方会产生明显的噪点。

  • Direct Samples:用于设置从每一个纹素(Texel)射出的采样路径数(针对直接光照)。数值越大效果越好,烘焙时间也越长。

  • 间接光采样数 ,影响间接光照烘焙质量,数值越大效果越好,烘焙越慢,这个值一般是 DirectSamples 的10倍,建议预览时用小值,最终烘焙时用大值

  • Environment Samples:针对环境光的采样数。数值越大效果越好,烘焙时间也越长。默认数值为500。

  • Light Probe SampleMultiplier:如要使用此功能,必须在Project Settings > Editor> Graphics中禁用Use legacy Light Probe sample counts,如下图所示:

此数值会被用于分别乘以Direct Samples,Indirect Samples和Environment Samples这三个数值。这三个数值会被应用于LightProbes采样。数值越大效果越好,烘焙时间也越长。

  • Bounces:此数值用于控制计算光子弹射时的反弹次数,一般2次可以满足普通场景的需求。

  • Filtering 降噪

  • Lightmap Resolution 分辨率大小,值越大效果越好但内存占用也会越高

  • Lightmap Padding 光照贴图间距

  • Max Lightmap Size 贴图大小

  • Compress Lightmaps 压缩灯光贴图

  • AmbientOcclusion 环境遮蔽除噪器

  • Directional Mode(方向模式):

Directional:此模式下会生成第二套光照贴图,专门用于保存入射光的主要方向信息。使用法线贴图的材质可以利用这张光照贴图上的方向信息,在计算法线贴图时加入光照贴图中保存的全局光照信息。不过此模式下生成的光照贴图通常比Non-Directional模式下生成的光照贴图大一倍。(此模式下生成的光照贴图无法在SM2.0和GLES2.0硬件上解码使用。在这些硬件上会回退到Non-Directional模式)。

Non-Directional:禁止烘焙时生成第二套用于保存入射光主要方向信息的光照贴图。

  • Indirect Intensity(间接光强度):用于控制光照贴图中保存的间接光强度。数值限定在0到5之间。默认数值为1。数值大于1会增强间接光强度,小于1会减弱间接光强度。

  • Albedo Boost(反射率增强):用于控制物体表面之间光子弹射的数量。默认数值为1。数值限定在1到10之间。数值越大,物体表面的反射率越趋向于白色。

猜你喜欢

转载自blog.csdn.net/st75033562/article/details/129565693