×

利用表达式控制灯光阵列

发布时间:2018-11-17 19:57:24

 

 

导言:

本教程是一套比较老的教程,不过个人觉得方法很好,讲述了在LightWave中设置灯光阵列来模拟日光下环境的方法,简单易用,适合大多数场景。虽然现在有HDRI和全局光等更真实的照明技术,但灯光阵列在大场景及动画的渲染速度上还是具有相当的优势。

 

下面教程开始

 

Luxigons

LightWave一个非常值得注意的功能,就是可以通过Luxigons把多边形转换为灯光,这样一来我们就可以在modller中随意的来布置灯光了。

 

首先,创建一个三角形,中心位置在x=0、y=0、z=1,然后array阵列(使用radial选项),Axis为y轴,中心为原点,数量随意(我的阵列数量是16,这对于我的三菱汽车场景来说已经足够了,如果你想获得更高的阴影质量,可以采用更高的阵列数量)。(图01)

 

图01

 

选择所有多边形,点击执行Construct->Additional->Add Luxigons命令,在弹出的选项窗口中保持默认设置,点击OK。

 

现在你已经创建了自己的Luxigons,保存模型为Luxigons.lwo,并启动Layout。在Layout中创建两个null物体,分别命名为LightRigTarget和LightRigParent。

 

下面导入Luxigons.lwo物体,运行Layout->Plug-ins->Generic Plug-ins->Convert Luxigons插件,在弹出的窗口中将新灯光命名为 SkLight。

 

删除场景中原有的默认灯光(一般名为Light)和Luxigons物体,同时将SkyLight(1) 重命名为ControlSkyLight。(图02)

 

图02

 

表达式控制多个物体属性

打开Spreadsheet,将Property Bank设为“Light Properties: Basic”,按住Shift点击ControlSkyLight和SkyLight(15)的Intensity通道,选择所有灯光,点击边上的E按钮,并点击Yes为所有灯光添加Evelope包络。对灯光的Color通道重复该步骤。

 

在Spreadsheet,选择Item栏的所有灯光名称,并在任意选择灯光的高亮区双击,即可在Layout视图区选择所有灯光。(图03)

 

图03

 #p#e#

 

保持灯光选中状态,关闭Spreadsheet并打开Graph Editor,执行Graph Editor窗口最上方的Selection->Get Layout Selected,并在相同菜单中选择Filter Curves并输入:*.Intensity。

 

这将去掉我们不想看到的所有通道。通过Channels->Create Favourite Set将这个设置保存为Rig Intensity。重复这个步骤(从 Selection->Get Layout Selected 开始算起),创建下列Filter:

 

Rig Red:*.Color.R

Rig Green:*.Color.G

Rig Blue:*.Color.B

 

现在我们已经创建了一套灯光,并为它们的强度及颜色通道添加了Envelope,下面我们要通过表达式来对其进行控制。

 

在Graph Editor中,选择之前保存的Rig Intensity过滤设置,以读取所有灯光的Intensity通道,选择图像窗口下方的表达式面板,点击New,在Name中输入Intensity Follow,删除Value栏中的内容。

 

点击ControlSkyLight.Intensity通道,在右键菜单中选择Append to Expression选项。现在选则除了ControlSkyLight.Intensity之外的所有灯光强度通道,点击Apply将表达式应用到这些灯光上。

 

对刚才保存的其它通道过滤重复上述步骤,表达式名称分别为Red Follow、Green Follow和Blue Follow(记住在为新表达式命名时要先点击New按钮)。

 

完成后,Graph Editor应为下图所示样子。(图04)

 

图04

 

设置父物体和目标物体

返回Spreadsheet,将Property Bank改为Motion Options:General,在Parent栏中选择所有灯光,点击任意一个灯光的下拉黑箭头,选择LightRigParent作为所有灯光的父物体,同理设LightRigTarget为所有灯光的目标物体。(图05)

 

图05

 

接下来,将Property Bank改为Light Properties: Basic,把16盏灯的Light Type设为Spotlight,然后将Property Bank改为Light Properties: Shadow,把Shadow Type设为Shadow Map。

 

你还可以将LightRigParent设为LightRigTarget的父物体(除非你想让灯光追踪一个物体)。你也可以继续添加表达式控制灯光的cone angle、soft edge angle等通道。

 

最后,为ControlSkyLight的各通道添加Slider以更方便控制。(图06)

 

图06

 

下图为使用该灯光阵列渲染的三菱汽车效果图(156.072 三角形,15秒渲染时间)。(图07)

 

图07

 

这个设置最大的用途就是来替代环境光,然后再使用一个强光来投射主阴影,就可以得到非常好的效果。(图08)

 

图08

SketchUp · 小白到大佬的极速转变 · 必听课

SketchUp · 小白到大佬的极速转变 · 必听课

返回列表>
关于我们
关于我们