Houdini 中文帮助文档

渲染额外的颜色通道

Overview

你可以在包含额外的颜色面(也叫深度栅格),这些颜色通道包含着代表VEX全局变量的图像,或从曲面/雾材质上导出的变量/参数。

你甚至可以每灯光方式输出额外的颜色面(如果在一个照明循环中指定导出的变量)。

当渲染为一个pic(Houdini的图像格式)或exr(OpenEXR)格式图像,你可以在同样的多个颜色面中包含额外的颜色面。你也可以指定将额外的颜色面放入不同的文件中(或将多个颜色面放在分离文件中)。

Examples

例如,你可以导出用于每个像素的全局变量N(曲面法线)到一个图像上。

被渲染的颜色面:是从顶部开始被照亮的圆环。%image_alt%
法线面,以颜色方式显示曲面的法线。%image_alt%

你可以在MPlay中,使用工具栏下,左侧的弹出菜单查看额外的颜色通道。

另外一个例子:Houdini的基本曲面材质会导出一个名为diffuse_color_noshading的变量,其包含着在照明前材质漫反射颜色的贡献值。此在合成中可能是一个非常有用的信息。

颜色面:从各个角度照明的圆环,带有顶点颜色。%image_alt%
diffuse_color_noshading 颜色通道显示了在照明和阴影前,曲面材质的原始颜色贡献值。%image_alt%

 

How to

To…Do this
设置一个渲染节点来导出额外的颜色通道选择Mantra的渲染输出节点。

在参数编辑器中,点击属性选项卡,然后点击输出子选项卡。

向下滑动到额外颜色通道参数,点击旁边的加号按钮,添加一个新的颜色通道。

你可以通过增加额外图像颜色面参数来添加很多你需要的颜色通道。查看下面的,获取如何设置颜色面参数。

输出一个全局或导出变量。用上面方式创建一个额外的颜色面。

点击VEX变量参数右侧的弹出菜单按钮,选择一个变量。

输出一个材质变量对于VOP网络,设置一个用于变量的Bind Export node节点,并设置输出参数为“总是”方式。对于VEX节点,将变量标记为要被导出的即可。

用上面方式创建一个额外的颜色面。

在Mantra渲染节点的额外颜色面参数上,设置VEX变量参数为你要导出的参数名。

输出一个每灯光的变量在渲染节点上,设置灯光导出参数为“为每个灯光导出变量”,它会创建相应的每灯光输出数据。

如果你只想要一个灯光,你可以在mantra输出驱动节点的物体选项卡中设置“Solo Light”参数为想要的灯光。

Parameters

Extra Image Planes可创建任意数量的颜色通道。如果初始的图像格式支持多图像通道,通道名会用于定义深度栅格颜色面的名称。如果初始的输出设备不支持多通道颜色,每个图像通道就会被输出到单个文件中,且通道名会定义文件名。支持多通道颜色面的格式有OpenEXR,Houdini的pic。
Image Plane颜色面(通道,就像法线通道这样的概率)的名称。
VEX Variable要输出到颜色平面的中的变量名。变量名必须是全局变量,或导出的参数(如法线,点速度)。

当输出法线N变量时,它的数值可能不会被规格化,这样会导致要么非常小,要么非常大的数值。

VEX Type变量的校正类型必须也被指定。
Channel Name用于将变量数据输出到输出文件中的通道名(如果文件格式支持多通道)。保留此区域空白,会使用VEX变量名作为通道名。
Different File开启此参数旁边的勾选框,会将数据输出到一个文件中,而非渲染的图像中。
Quantize用于输出的存储方式。
Sample Filter
Opacity Filtering透明的曲面会使用Of合成。
Closest Surface只有曲面附近的数值会被输出,不会考虑曲面的不透明度。
Pixel Filter指定用合并子像素采样质量(用于给单个像素生成一个数值)的过滤。
Gamma指定用于图像的Gamma校正。
Gain在栅格化前,每个颜色值会被增益值所乘。
Dither所运用的抖动数量。抖动可以作为量化步幅的分数值(如,0.5会使用量化步幅的一半)。对于浮点的输出胡忽略此项。
White Point在量化过程中会使用图像的白点。
Export variable for each component启用每元素导出通道方式(用于支持该特性的变量)。当启用时,会产生多个通道平面—–每个的vm_components 都会在ROP上被指定。每元素导出方式可以配合每灯光导出使用,来基于每元素或每灯光方式将照明元素拆分。
Light Exports控制是否会进行灯光导出。
Export variable for each light给每个匹配该标准(由Light Mask 和 Light Selection参数定义)的灯光创建一个分离的深度栅格面。
Merge all lights into single channel创建单个深度栅格通道,存储着所有用于灯光(这些灯光必须匹配由Light Mask 和Light Selection参数定义的标准)的导出变量总和。
Light Mask按名称/集的灯光对象的一个列表。
Light Selection按种类标签的一个灯光对象列表(查看灯光上的种类参数)。

Exporting components as separate image planes

mantra节点的输出选项卡有一个“导出元素”参数。此是一个用空格分隔的元素名列表。材质中,元素是使用生成BSDF的VOPs上的标签参数来命名的。在Houdini中的这些材质会使用这些元素名,如漫反射,反射,coat(表面覆盖)。

当你添加了一个额外颜色面时,在VEX变量旁边的弹出菜单中,你可以给每元素类型选择灯光类型。此会给在“导出元素”参数中列出的每个元素导出分离的通道。

如果你设置“灯光导出”参数为“给每个灯光导出变量”,你会得到每灯光,每元素的分离的颜色通道(极大提高了合成的灵活性)。

Intrinsic exports

下面是一些深度栅格通道,你可以指定它们来获取额外的内在信息。它们处于用于深度栅格颜色面(以及PBR颜色面)的默认菜单中。

NameTypeDescription
Render_TimeFloat以浮点方式值输出渲染块所花费的秒数。
Op_IdFloat以浮点值方式输出物体的Id值。此颜色面存储着物体的级别下设置的物体ID值。值为-1的像素不会被任何Primitive所覆盖。
Prim_IdFloat以浮点值方式输出Primitive的Id值。此颜色面存储着几何体的Primitive标号。
Shading_SamplesFloat 输出被着色的每像素采样中,透明度的采样数量。此数值可以用于调试体积对象和精灵对象渲染,来决定着色半透明采样所花费的时间。
Opacity_SamplesFloat 输出被着色的每像素采样中,不透明度的采样数量。也可以用于调试采样不透明度所花费的时间。
Pixel_SamplesFloat输出已经计算的每像素的像素采样数量。此可以用于IPR来检测在图像不同区域的完成度。

Compositing

在合成中,你可以通过使用Layer COP节点(将全局操作设为Add方式),将直接,间接光照,SSS通道相加来重新生成Cf颜色面。

The shadow matte planes can be combined by multiplying the unshadowed plane by the complement (Invert COP) of the shadow matte.

阴影遮罩通道可以通过和雾阴影的颜色面(由Invert COP创建)相乘来合并。

Tip

当处理多通道的pic或exr图像时,使用Channel Copy COP节点来提取一个名为C的颜色通道,这样COP会只作用于C通道上。设置“目标”参数为C,“源”参数为你想要拷贝的颜色面。

点击分享到: