上一章:【Unity3D技术文档翻译】第3.4.1篇 灯光类型
本章原文所在章节:【Unity Manual】→【Graphics】→【Graphics Overview】→【Lighting】→【Light sources】→【The Light Inspector】
灯光检查器(The Light Inspector)
灯光决定了物体的明暗和它投下的阴影。因此是图形渲染的基础。
属性
属性 | 作用 |
---|---|
Type(类型) | 当前灯光的类型。可选项有: Directional(平行光)、 Point(点光源)、 Spot (聚光灯)与 Area (区域光)(关于这些灯光类型的详细内容情查看 lighting overview 一节)。 |
Range(范围) | 定义灯光从中心发射出去的距离(只有 Point(点光源)、 Spot (聚光灯)有该属性)。 |
Spot Angle(聚光灯角度) | 在聚光灯圆锥的基础上定义的角度(单位为度,只有 Spot (聚光灯)有该属性)。 |
Color | 使用颜色提取器设置发射光的颜色。 |
Mode | 指定灯光模式,决定灯光是否以及如果被烘焙的。可选项有:Realtime(实时)、Mixed(混合)和 Baked(烘焙)。想要了解更多信息,请看 Realtime Lighting、 Mixed Lighting 和 Baked Lighting 相关文档(后续章节有介绍)。 |
Intensity(亮度) | 设置灯光的亮度。对于平行光,默认值是0.5.对于点光源、聚光灯与区域光,默认值是1。 |
Indirect Multiplier(间接光亮度乘数因子) | 使用该值改变间接光的亮度。间接光是指在物体间反弹的灯光。Indirect Multiplier 定义了由 GI(全局照明) 系统计算后的反弹光的亮度。如果该属性值小于1,每次反弹后,灯光亮度将衰减;如果该属性值大于1,每次反弹后,灯光亮度将增强。这在某些情况下很有用,比如在一个阴影笼罩的黑暗场景中(比如洞穴内部),想要看见它的细节。 |
Shadow Type(阴影类型) | 决定灯光产生的是硬阴影(Hard Shadows)、软阴影(Soft Shadows)还是没有阴影(no shadows)。想要了解更多关于硬阴影和软阴影的信息,请查看 Shadows 一节。 |
Baked Shadow Angle(烘焙阴影角度) | 如果 Type 被设置为 Directional,并且 Shadow Type 被设置为 Soft Shadows,那么该属性将为阴影边缘添加柔化处理,让他们看起来更自然。 |
Baked Shadow Radius(烘焙阴影半径) | 如果 Type 被设置为 Point 或 Spot,并且 Shadow Type 被设置为 Soft Shadows,那么该属性将为阴影边缘添加柔化处理,让他们看起来更自然。 |
Realtime Shadows(实时阴影) | 当 Shadow Type 被设置为 Hard Shadows 或者 Soft Shadows,本属性及其子属性才可用。使用这些属性控制实时阴影渲染设置。 |
Strength | 使用滑动条控制该灯光制造的阴影有多黑,范围是0到1。默认设置为1。 |
Resolution | 控制阴影贴图的渲染分辨率。更高的分辨率将增加阴影的保真度,但是需要更多的GPU时间和内存占用。 |
Bias(偏移) | 使用滑动条控制来自灯光的阴影偏移的距离,范围是0到2。这有助于避免错误的投影产生。想了解更多信息,可以查看 Shadow mapping 和 bias 属性相关内容。默认设置为0.05。(简言之,是用于解决 shadow acne(阴影花纹)问题。) |
Normal Bias(法线偏移) | 使用滑动条控制阴影投射到表面后,随表面法线收缩的距离,范围是0到3。这有助于避免错误的投影产生。想了解更多信息,可以查看 Shadow mapping 和 bias 属性相关内容。默认设置为0.4。(同样用于解决 shadow acne(阴影花纹)问题。) |
Near Plane(近剪裁面) | 使用滑动条控制渲染阴影时近剪裁面的值,范围为0.1到10。该值会被转换为 0.1 units,或者灯光 Range 属性的1%,取两者中的较低值。默认设置为0.2。 |
Cookie(剪影) | 指定一个用于阴影投射的遮罩(比如创建轮廓阴影,或者灯光的图案照明)。 |
Draw Halo(绘制光晕) | 勾选该复选框后,将绘制一个直径与 Range 属性相等的球形光晕。你还可以通过使用 Halo 组件来产生光晕。注意,Halo 组件被绘制为 Light 组件的光晕,它的 Size 参数决定的是它的半径,而不是它的直径。 |
Flare(闪光) | 如果你想在灯光的位置设置一个闪光效果,请为该区域分配一个资源。 |
Render Mode(渲染模式) | 使用该下拉选项来设置灯光渲染的优先级。这将影响灯光的保真度和性能。 |
Auto | 渲染模式在运行时决定,取决于附近灯光的亮度及当前的 [Quality Settings]。(https://docs.unity3d.com/2018.1/Documentation/Manual/class-QualitySettings.html) |
Important | 灯光总是被逐像素级渲染。该模式只被用于最明显的视觉效果处(比如汽车的车前灯)。 |
Not Important | 灯光总是被快速的、逐顶点/对象的灯光模式渲染。 |
Culling Mask | 有选择的将某些对象组从灯光影响范围中剔除。想了解更多,请查看 Layers 一节。 |
更多细节(Details)
如果你为 Cookie 变量分配了一张包含 alpha 通道的纹理,就会产生灯光投影。Cookie 的 alpha 遮罩会调整灯光的亮度,在物体表面创建或明或暗的光斑。这是一个为场景添加复杂阴影和氛围的非常好的方法。
所有 built-in shaders(内置的着色器)都可以和任何灯光类型无缝合作,只有 VertexLit(顶点光照) 不能显示 Cookie 和阴影。
所有灯光投射的阴影都是可选择的。你可以为每个灯光的 Shadow Type 属性设置 Hard Shadows 或 Soft Shadows。想了解更多,请查看 Shadows 一节。
平行光阴影
Directional light shadows 一节中对平行光的工作原理有更深入的说明。注意,当使用正向渲染(forward rendering)时,具有 cookies 的平行光是没有阴影的。你可以写自定义着色器来开启阴影;更多关于编写着色器的内容,请看 writing surface shaders 一节。
提示
- 带有 cookies 的聚光灯对于创建从窗户照进来的灯光,能够产生极好的效果。
- 低亮度的点光源能够很好地为场景创建深度。
- 想要最简化的性能,可以使用 VertexLit(顶点光照)着色器。该着色器只处理注定点光照,在低端设备上具有非常高的吞吐量。
如果本文对你有帮助的话,点个赞或者评论一下吧!
网友评论