【渲染教程】使用Arnold进行Multi-Pass Rendering

19 十一月, 2014
225
0

使用Arnold进行Multi-Pass Rendering    

这个范例场景非常简单,我们有四个犹他壶物体,地面和墙以及三个Area Light。所有的材质都是aiStandard。几个壶的不同材质设置请参看本文提供的源文件。

    需要稍加注意的是在Arnold中的灯光对象都使用Arnold自己的参数来控制,在灯光的Attributes Editor下找到Arnold栏,选择适当的灯光色温,衰减模式,以及暴光度(可理解为亮度),来进行灯光设计。如果你有合适的灯光版HDRI文件,也可以直接连接到灯光的color属性中,用以产生更真实的光照效果。

    在渲染全局设置中,找到AOVsAOVArbitrary output variable,也叫做Secondary outputs。在RenderMan标准的渲染器以及Arnold中,Multi-Pass输出都被称为AOV(s)Arnold提供了<builtin>aiHairaiStandard几个组。同时也允许用户通过材质创建自己的AOV 。在这个范例中,我们需要以下这些Pass:

<builtin>

    • N (全局法线)

    • P (像素空间坐标映射)

    • Z (深度Z通道)

aiStandard

    • direct_diffuse (直接光照产生的漫反射)

    • direct_specular (直接光照产生的高光)

    • indirect_diffuse (间接光照产生的漫反射)

    • indirect_specular (简介光照产生的高光)

    • reflection (反射)

    • refraction (折射)

    • sss (次表面反射)

    在设置中选择创建好的任意一个Pass,选择Select Driver。并在Advanced Output中勾选Merge AOVs选项。如果不选择这里的合并VOAArnold会默认把每一个Pass输出成单独的序列帧。如果我们的合成平台是Nuke,并且是OpenEXR工作流程,那分开每一个Pass是不需要的,我们只需要一个带有多重Pass通道的exr文件序列即可,这也是OpenEXR规范很显著的一个优势特性。

    保存并渲染以后我们得到RenderPasses.exr文件。直接用Linux的文件预览只能看到BeautyPass本身,而其他的Pass需要在后期合成软件中才能看到例如NukeFusion等。

    以下是从exr中直接剥离出来的通道

使用Arnold进行Multi-Pass Rendering
Beauty Pass

使用Arnold进行Multi-Pass Rendering
Direct Diffuse

使用Arnold进行Multi-Pass Rendering
Direct Specular

使用Arnold进行Multi-Pass Rendering
Indirect Diffuse

使用Arnold进行Multi-Pass Rendering
Indirect Specular

使用Arnold进行Multi-Pass Rendering
World Normal

使用Arnold进行Multi-Pass Rendering
World Point Position

使用Arnold进行Multi-Pass Rendering
Referaction Pass

使用Arnold进行Multi-Pass Rendering
SSS Pass

使用Arnold进行Multi-Pass Rendering
Z-Depth Pass

转载于:chaoskids.org