What & How & Why

Lighting Basics and Good Practices

Digital lighting and rendering Chapter 2 notes


场景打光是一个反复迭代的过程。

Starting The Creative Process

  • 什么时候开始打光取决于工作的公司和流程。通常来说,越小的公司这个过程越简单
  • 如果想更好的达到导演需求的效果,尽可能的准备实物图片(或 concept arts)来描述自己的目标。
  • 如果是 live-action shots,所有的灯光设置需要匹配 background plates(通常是 sequences,并带有 lighting matching 的参考球)
  • 如果是 animation 项目,art 部门通常会提前提供原画,灯光师的会根据原画来自主打光。

什么时候打光

  • animation 测试的过程中需要灯光来检测动画是否存在物理接触的错误(比如是否动画接触地面)
  • 真正的打光过程始于 layout 已经完成的情况下,包括:
    • 已知晓摄像机的位置
    • 已知晓 shot 是如何组成的
    • 动画已经完成
    • 材质与贴图已经完成

在未准备完毕的场景中打光是浪费时间。

The Feedback Loop

在打光的过程中,初始的渲染应该是 rough draft,而更多的时间会花在改进灯光(revising of lighting)上,直到获取自己满意的效果。这个过程被称为 feedback loop

feedback 提速技巧
  • 某些改动可以通过实时的反馈观察到(比如灯光的位置)
  • 在需要渲染才能观测到改动的情况下
    • 只渲染需要观测变化的物体
    • 使用较为简单的物体替代比较复杂的物体
    • 对指定灯光修改时,关闭其他灯光
    • 只渲染改动最多的一部分区域
    • 从较低的分辨率开始渲染(测试),直到通过后再进行高分辨率渲染。
    • 关闭任何与目前修改无关的选项(比如测试角色灯光时可以关闭其毛发,毛发可以单独用额外的鸡胗测试)
    • test rendering 中可以关闭某些耗时的选项(raytracing, global illumination, 抗锯齿等等)
  • Compositing (rendering passes)也非常重要

灯光的命名

在多人合作中,灯光的命名是需要表意的:包括类型,motivation 和其照亮的对象等等。比如如下的例子:

#Specular highlight
#Motivited by a match
#illuminates the character's eyes
Spec_fromMatch_onEyes
#lights bouncing off the red carpet onto the rest of the set
Bounce_fromRedCarpet_onSet
具体的命名规则根据具体的公司来指定。

灯光的管理

如果同时存在多个为相同对象服务的灯光,将其打组

版本管理

  • 每个版本的灯光设置与渲染结果都应该保存下来
  • 将对应版本的文件与渲染结果搁在同一个文件夹中
  • 将不同版本放置于同一个窗口中进行对比,更容易发现差别

灯光的类型

Point Lights

Point Lights,又被称为 omni 或者 omnidirectional light。该光源的特点是:

  • 所有的光线都来源于一个点
  • 所有的方向均匀的发射光线

可以将 Point Lights 想象为一个无限小的电灯泡。

Point Lights 在有遮挡的情况下可以模拟 SpotLights 的效果,但通常不这么做。

Spotlights

SpotlightsPoint lights 的不同之处在于其光线的发射方向被限制在指定的区域中(通常是一个圆锥体)。我们可以通过旋转 Spotlights 来控制光线发射的方向。该特性允许我们使用 Spotlights 来跟踪或是与指定物体绑定来达到某些特殊的艺术效果。



Spotlights 的重要属性
  • cone angle:控制光束的宽度
  • penumbra angle / falloff / spread angle:控制光束边缘的 softness
光束边缘的软硬与应用
  • 边缘较硬的 Spotlights 非常引人注目,可以用于模拟探照灯等光源。
  • 多个边缘较软的 Spotlights 会在其交界处混合,产生一种连续性的,无缝的组合效果:

barn door 选项

现实中的 spotlight 通常附带额外的四片活动的金属叶片来达到“切割”光束区域的效果:



经过 barn door 剪裁的光束通常呈现为矩形的光束。

在图形学中,Spotlights 可以瞄向(聚焦)指定的区域的特性导致其产生的阴影(depth map shadow)可以被精确并快速的计算。

Directional Lights

Driectional Lights,也被称为 distant, direct, infinite,或者是 sun light,主要用于模从非常远的地方射过来的光源(比如直射的阳光)。该类光源有如下特点:

  • 调整该光线只需旋转而无需移动,光源的位置不会影响照明。
  • 所有的光线都会按指定的方向平行的照明目标;也就是说光线的角度是统一

Sky Domes

Sky Dome 又被称为 environment sphere,是一种模拟环境光的手段。Sky dome 产生的光线通常非常柔和(也包括引用)。其主要用于:

  • 可模拟来自于天空的光
  • 可以做为 fill light
  • 通常与 directional light 一起使用对室外环境进行模拟

IBL

Sky Domes 使用图片进行照明的时候,渲染器会使用图片的颜色来决定光线的 Brightness颜色。这种技术被称为 Image-based Lighting(IBL)

Area Lights

Area LIghts (也称为 rect light)模拟的是面板类型的光源。这种类型的灯光会产生柔和的光线和阴影。常见的应用有:

  • 天花板灯的照明
  • 模拟来自窗户外部的柔和填充光
  • 任何需要柔和阴影的应用

Area Lights 的尺寸

与点光源不同,Area Lights 的尺寸影响其明亮度与软硬度。通常,越大的 Area lights 越亮越柔和。需要注意的是,尺寸越大的 Area Lights,会产生更多的阴影。如果不希望阴影呈现出颗粒状的样子,需要提高阴影的 sample。

Area Light 使用真实世界中的单位(比如 lumens)时,panel 的大小不会影响明亮度。

如果 Area Lights 的尺寸受 UV 控制,那么应该使用 UV 属性而不是 Area Lights 的长宽来控制其尺寸。

特殊应用

Area Lights 有一种很典型的应用:模拟来自窗户的室外填充光。这种灯光在某些软件中被特殊归类,称为 portal light。这种灯光会从 sky dome 的环境贴图中读取数据,可以更好的模拟来自于外部的填充光。

Physically Based Lights

Physically Based Light (也被称为 IES LIghts & photomertic Lights),是基于现实中的真实灯光的数据来创建的光源。其数据来自 IES(Illuminating Engineering Society),不同类型/品牌的灯泡会有不同的表现。此类型的光源通常使用色温color temperatures)与 Lumens 进行调整。

  • 色温的数值与颜色有关。越低越,越高越
  • 由于科技的发展,灯泡消耗的 Watts 不再是决定其灯光发射量的决定性标准,因此 Physically Based Light 普遍使用 Lumens 作为灯光强度的计量单位。
Physically Based Light 并不能保证渲染结果时真实的

要保证渲染结果的真实性,光有 Physically Based Light 是不够的,其配套的其他设置也需要保证物理正确,比如:

  • 场景的缩放
  • 材质 / Shader
  • 摄像机的曝光参数

Models Serving as Lights

常见的 3D 软件中都支持自定义的几何体作为光源。此类光源主要通过两种方式来实现:

  • 使用超过白光(通常是 RGB{1,1,1})的颜色来作为几何体的材质颜色。
  • 使用渲染器自带的发光材质(比如 VRay 的 Light Material



需要注意的是,即便几何体自身可以作为光源,但软件自带的光源是进行过渲染器优化的,并拥有更多的选项。因此,几何体自发光尽量用于特定的场合,而可以用默认光源替代的场合尽量使用默认光源。

Ambient Light

Ambient LIght 指环绕在我们周围的光源。这种光源来源于各种地方,在不同的角度呈现出不同的照明强度与颜色。真实环境中,Ambient Lights 并不是“平” 且 “均匀” 的。

然而在计算机中, Ambient Light 是非常均匀的。其照明下的所有的表面颜色,强度都一致,导致了场景多样性的缺失。因此,不推荐使用

Adjust Controls and Options

Soloing and Testing Lights

Soloing light 指将其他光源隐藏,只测试当前光源的调整手段。其要点在于:

  • 一次只测试一个光源,这样可以清楚的认识到每个光源的照明区域
  • 添加多个类似的光源时,也应该优先测试单个光源,调整设置得到满意结果后在进行复制

Decay

Decay 指光线的强度在传输的过程中会衰减的现象。3D 软件中通常提供了各种不同的 Decay 设置供我们使用。Decay 通常会带一个数值参数(通常被称为 decay 或是 exponent),指光的衰减程度。常用的有三种:

  • No decay, 0
  • Linear, 1
  • Quadratic,2
  • Cubic, 3
Inverse Square Decay

Decay 值等于 2 时,Decay 被称为 Inverse Square Decay(也称 Quadratic decay)。这种 Decay 是最接近物理正确Decay。在这种情况下,光源与目标物体的距离每增加一倍,光线的强度就会衰减四倍。

真实生活中,Decay 主要原因并不是光的能量衰减,而是光的散射造成的。

Inverse Square Decay 的应用场景

Decay 通常用于可见的光源,以及应用全局光照的场景中。Inverse Square Decay 作为间接光反射的一部分,可以很好的模拟 indirect light 在场景中反射的现象。

Inverse Square Decay 的使用注意事项
  • 由于 Inverse Square Decay 的衰减程度较高,通常设置光源的时候都会提供一个很高的初始光照强度,尤其是在光线需要进行长距离传送的时候。
  • 如果出现光源足够亮,但在远距离的物体依然非常暗淡,这种情况需要考虑是否使用了 Linear Workflow
No decay

在两种情况下光线不需要 Decay

  • 模拟来自非常远的光源
  • 模拟 directional light
其他的 Decay 设定注意事项
  • Cubic Decay 可以用于模拟光穿过浓厚的雾,或是光穿过阴暗的水下
  • 高衰减的 Decay 光源可以用于只有光源旁边的物体需要照明的情况
  • Linear Decay 某些时候可以作为 No DecayInverse square decay 的中间值使用
  • 某些 3D 程序允许我们指定 Decay 的最小 / 最大距离,也就是超出范围外的光线就不再显示。这种设定并不是物理正确的,但某些场景中使用起来非常方便。

Diffuse and Specular Refection

真实世界中,反射分为两种:

  • 漫反射(Diffuse refection):这种反射下,光线的反射方向是全方位的
  • 高光反射(Specular refection):这种反射下,光线的反射是平行的,反射会呈现出类似镜面的效果

光线在场景中会综合上述两种方式进行反射。Diffuse 主要呈现的是物体表面的着色;而 Specular 主要呈现的是模拟光源反射的高光

反射的途径

有两个因素决定了反射的最终效果:

  • 物体的材质
  • 某些灯光设置允许设定只对 Diffuse 或是 Specular 照明起作用

一个常用的技巧是复制光源,并设置其中一个只发射 Diffuse,而另外一个只发射 Specular。这种手法称为 splitting out,允许我们对不同反射的明度,颜色,以及高光的位置或表现进行独立的调整。

常见的 specular level
  • sun: 1.0-1.2
  • fill lights repersenting the sky specular: 0.3-0.5
  • 地面的反射光: 0-0.25
3D 中的点光源高光不是真实的

点光源在 3D 中表现为一个点(一个点的像素)。如果是真实的高光,那么高光表现上也只应该有一个点(无限小)。但这样带来的问题是,过于小的高光点是无法进行渲染的。为了修正这个问题,shader 中提供了选项允许我们设置高光反射的尺寸和 softness,使得高光渲染的结果看起来像是高光一样;但这样的结果并不是真实的。

Light Linking

Light Linking 指可以将指定的灯光与指定的物体绑定,使场景中未链接的物体不受该灯光的技术。该技术的好处有:

  • 保证链接物体上始终存在需要的照明(比如专门链接一个高光灯作为人眼的高光)
  • 可以对链接的物体做更加精细的修改
  • 对场景中某些照明不佳的部分进行增强

某些软件会将灯光与阴影关联起来;当取消了 Light Linking 的时候,对应的光源不再对未链接的物体产生阴影。使用 split out 进行灯光的微调时,应设置 shadow linking 不随着 light linking 而改变。

Cookies