【Maya】Arnold渲染器的学习(4): Maya灯光

【Light Filters】灯光过滤器

将灯光的输出信息进行后加工的组件,由aiLightBlocker(挡光对象)、aiLightDecay(灯光衰减)、Gobo(遮光片)、Barndoor(挡光板)组成。aiLightDecay(灯光衰减)不会出现在Directional Light方向光和Skydome Light天穹光的过滤器中,而Gobo和Barndoor是Spot Light聚光灯特有


【aiLightBlocker】挡光对象

用于模拟复杂灯光外壳或者创建特殊阴影。添加aiLightBlocker后,场景会出现一个立方体线框(Outliner中是一个transform节点),可对其进行移动旋转缩放。

Geometry Type(几何体类型):有box(长方体)、sphere(球体)、plane(平面)、cylinder(圆柱体)四种类型,定义了灯光被遮挡的形状。

除了plane类型可直接阻挡光线,其他类型的作用范围只在体积范围内,也就是必须将场景模型包裹住才能起到遮光效果。

*当密度为负数时候作用范围是体积外。

Density(密度):挡光的强度,默认值是0。值不为0才产生效果,1为完全遮挡,-1为体积外完全遮挡(除了包裹的区域,其他区域不受该灯光影响)。

Shader(着色器):几何体类型设置为box的时候才起作用。虽然参数名称叫着色器,但其实连接的是作为遮罩的纹理贴图。这个功能所产生的投影只和过滤器几何体轮廓的大小、位置、朝向有关,不因灯光的变换而改变,也不影响其他物体的间接照明,要注意和聚光灯专用的Gobo过滤器的区别。

一般要将贴图的放置节点place2dTexture的WrapU和WrapV关闭,否则整个场景会是连续不断的纹理阴影。

*通常使用灰度图,白色表示遮挡,黑色表示透过;如果带色彩信息,阴影的色彩是反向的,需要使用reverse(翻转)节点进行校正。Axis(轴向):基于XYZ三个方向进行的灯光衰减渐变,需要Ramp数值不为0才有效。

*对于box类型+贴图,设置为Z才能得到正确的初始阴影投射,否则要旋转方体到一定角度。

Ramp(渐变):沿着衰减方向的倍增值。从0到1是轴向上逐渐增强,负数则是反向效果。

Height Edge(高度边):对挡光对象高度的边进行衰减。增大该值,会增加投影的高度。

Width Edge(宽度边):对挡光对象宽度的边进行衰减。增大该值,会增加投影的宽度。

Roundness(圆度):值为0是方形,1是圆形,同灯光的Roundness。该参数只对plane类型有效。

以下是几点需要注意的地方:

1.和使用真实几何体进行挡光的效果不同,所有的挡光对象只影响连接到的灯光,不会影响其他灯光或物体的间接照明效果,也不会产生阴影;

2.事实上,体积类型的挡光对象并没有真的挡住光线,如果体积内没有几何体完全挡住光线,灯光发出的光线会在穿透体积后保持原有强度照亮体积另一侧的物体;

  1. 在大气体积环境中产生体积阴影时,使用带贴图的box类型的挡光对象,效果很糟糕。
  2. 连接了纹理或贴图节点后,使用非box类型的挡光对象的挡光效果会失效。

因为aiLightBlocker的限制比较多,效果简单,除了带贴图的box类型较为实用(一般建议使用聚光灯的Gobo来替代),其他类型很少有机会使用到。毕竟arnold基于物理光照的理念中,并不建议在一个场景中弄出几个非现实光照的区域。


【aiLightDecay】灯光衰减

Arnold灯光默认是基于物理衰减的,当用户想使用更丰富的衰减效果进行艺术加工,则需要加入aiLightDecay组件。aiLightDecay是在物理衰减的基础上进行的再衰减加工,只会保持或者降低原亮度。

Use Near Attenuation(使用近距衰减):从灯光四周向中心衰减(反向衰减)。

Near Start(近距开始):灯光从光源发出后开始产生亮度的距离(相当于截断光源处发出的一定距离的灯光),值为0表示从光源处开始衰减。

Near End(近距结束):灯光从四周向光源处衰减的最远距离,增大该值会在保持四周亮度的情况下降低光源点的亮度,值为0则不进行灯光的反向衰减。

Use Far Attenuation(使用远距衰减):从灯光中心向四周衰减(常规衰减)。

Far Start(远距开始):灯光从光源发出后保持最大亮度的距离,值为0表示从光源处开始衰减。

Far End(远距结束):灯光减弱到0时能达到的最远距离,值为0则完全关闭灯光。

Near Attenuation的应用场景:光源发出光线覆盖的区域满足了照明需求,需要降低光源点的亮度。

Far Attenuation的应用场景:光源点的亮度满足了照明需求,需要对光线覆盖区域进行亮度调节。

这两个功能可以同时使用。


【Gobo】

Gobo是个舞台照明的专业术语,也称为Flags或者Cucoloris。指安装在聚光灯前或者反光面上带镂空图案的薄板,作用是在物体上投射出带有形状的光影,材料有金属、玻璃和塑料。例如舞台剧上做出斑驳的树影。

*图片来源于维基百科。

和aiLightBlocker的效果不同,Gobo会影响到场景的间接照明并可产生新的阴影,并且Gobo投射的图案和聚光灯的变换有关,是更真实的存在。

Filter Mode(过滤器模式):Slide Map(滑动贴图)和灯光强度的混合方式。参考官方提供的效果图。

Blend(混合):默认效果,滑动贴图直接影响灯光强度。这是最理想的模式。其他模式的效果主要体现在一些艺术上的需求。

Replace(替换):倍增滑动贴图效果,灯光会被减弱。

Add(相加):倍增灯光的亮度,滑动贴图效果会被减弱。

Sub(相减):反转滑动贴图的 RGB 值,会减弱灯光的亮度。

Mix(融合):在灯光和滑动贴图之间对结果进行均匀地平均处理,相当于滑动贴图的权重值。Density值要大于0滑动贴图才能起到效果。

Slide Map(滑动贴图):和aiLightBlocker的灰度图相反,贴图的白色部分表示穿透,黑色部分才是遮挡,彩色图案带半透明效果。

Density(密度):值越高gobo越不透明。默认值为0,表示Gobo的透光度是以滑动贴图的RGB为参考,不增加额外的不透明度。根据过滤器模式的不同,增大该值会产生不同的效果。

Blend模式下,该值应该小于1,否则灯光会完全被遮挡而无法透过镂空图案。

Replace模式下,该值越大,光线越弱,减弱程度比blend模式大,同blend 模式,该值小于1才能显示滑动贴图的效果。

Add模式下,该值越大,滑动贴图效果越弱;值为1的时候只有灯光效果;值大于1,灯光和滑动贴图分别以反相的效果逐渐增强。

Sub模式下,该值越大,滑动贴图反相的效果越弱;值为1的时候只有灯光效果;值大于1,灯光和滑动贴图的原有效果逐渐增强。

Mix模式下,值为0时,只有灯光起作用;增大该值,贴图效果逐渐明显;值为1的时候,滑动贴图完全影响灯光的照明效果,和密度为0的blend模式是一样的;值大于1,滑动贴图的色彩对比度会变得更强烈(过高的数值会引起色溢失真)。

偏移(Offset):用来偏移滑动贴图方向的 UV 坐标值。

横向比例(S Scale):在 S 方向缩放用于滑动贴图的纹理。

纵向比例(T Scale):在 T 方向缩放用于滑动贴图的纹理。

横向包裹(S Wrap):控制 2D 纹理贴图如何在曲面的 S 方向上重复。

纵向包裹(T Wrap):控制 2D 纹理贴图如何在曲面的 T 方向上重复。


【Barndoor】

在表现细节的拍摄布景中,例如产品、人像摄影,经常会用到方形聚光灯,Barndoor挡光板的作用就是通过挡光片来制作出方形照明区域的效果。

由方位和边相关的参数组成,方位表示四个挡光板的朝向情况,边(带Edge单词的)控制灯光边缘的柔和度。一般同一侧的挡光板数值应相同,例如Top Left和Top Right。


【Arnold灯光总结】

室外:天穹光。

室内:区域光。

室内室外:天穹光+灯光引导。

真实灯光:导入IES数据。

自发光物体:使用网格灯光(用于网格灯光的几何体不支持渲染细分功能)。

球形发光源:球形几何体网格灯光+具有半径的点光源。

控制灯光衰减:添加aiLightDecay组件(天穹光和方向光无法使用aiLightDecay组件)。

使用几何体对灯光进行遮罩(不受灯光位置改变的影响):添加aiLightBlocker。

制作各种图案投影和舞台灯光效果(跟随灯光位置改变):仅限聚光灯的Gobo和Barndoor。

你也可能喜欢阅读这些文章:

1 评论
Inline Feedbacks
View all comments

很棒的分享 ,非常受用 感谢!

Copyright© VIVICG 版权所有 粤ICP备 17111516号 粤公网安备 44011102000879