使用 Paint Effects 笔划渲染场景

“Paint Effects”笔划与场景其余部分无缝渲染。它们会受运动模糊、景深和雾的影响。

注: “Paint Effects”使用扫描线渲染器生成的深度缓冲区确定遮挡。

对于单个像素中多个曲面可见的渲染效果(例如透明度、抗锯齿边、运动模糊、灯光雾以及体积密度),该选项会产生问题,因为每像素仅有一个深度值和一个颜色可用于“Paint Effects”合成。

通过使用摄影机的“深度类型”(Depth Type)属性,可影响渲染器确定如何将每像素内可见的多个深度值减少为单个输出深度值。

如果使用“最近可见深度”(Closest Visible Depth)类型,渲染器将拾取像素和透明曲面内距离摄影机最近的曲面,或者拾取完全遮挡“Paint Effects”元素后方任何元素的运动模糊条纹。如果改为使用“最远可见”(Furthest Visible),位于这些元素后方的“Paint Effects”元素将穿出,效果完全如同于其位于前面。

针对这些情况的最佳解决方案如下:

使用 Paint Effects 笔划渲染场景

可从 Maya 内部渲染场景,也可从 Linux shell、DOS 窗口或终端中渲染场景。在渲染之前,请关闭所有应用程序(如果从 Linux shell、DOS 窗口或终端进行渲染,则还需关闭 Maya),以便最大程度增加可用于渲染的内存。

使用 Paint Effects 笔划渲染场景

  1. 设置灯光、渲染摄影机、渲染选项以及“Paint Effects”渲染选项。有关详细信息,请参见准备渲染具有“Paint Effects”的场景
  2. 使用与渲染 Maya 其他场景一样的方法渲染该场景。
注: 始终多重处理“Paint Effects”渲染。要禁用多重处理,请执行以下操作:
  • 退出 Maya(或停止批渲染)。
  • 将 MAYA_PAINT_EFFECTS_THREADS 环境变量设定为 1 到 3 之间的值,该值是要使用的处理器数量。
  • 启动 Maya(或重新开始批渲染)。
  • 重新渲染场景。

创建 Paint Effects 笔划和场景的合成

“Paint Effects”笔划的渲染操作可独立于场景的其余部分进行,然后再合成结果图像。

创建合成

  1. 使用 Paint Effects 笔划渲染场景或动画,操作如下:
    • 选择“窗口 > 渲染编辑器 > 渲染设置”(Windows > Rendering Editors > Render Settings)
    • 如果正在合成动画,请在“帧/动画扩展名”(Frame/Animation Ext)一侧选择 name.#.ext。
    • .iff 或 .rla 的图像格式将包含嵌入的深度信息。而其他的格式将创建一个独立的、包含深度信息的 .iff 文件。通常情况下会将该深度文件写入到项目深度目录中。在本示例中,将图像作为 .iff 进行渲染。
    • “文件输出”(Image File Output)区域中,启用“通道”(Channels)一侧的“深度通道(Z 深度)”(Depth Channel(Z Depth))
    • Paint Effects 渲染选项区域中,禁用“启用笔划渲染”(Enable Stroke Rendering)
    • 渲染场景或动画(例如,rainyday)。有关详细信息,请参见渲染单帧批渲染静止图像或动画
  2. 使用不同的文件名保存场景,确保已渲染的图像不会彼此覆盖(例如,rainydaywithstrokes)。
  3. 使用场景渲染笔划,操作如下:
    • 确保摄影机和灯光的设置与步骤 1 中的摄影机和灯光相匹配。
    • 选择“窗口 > 渲染编辑器 > 渲染设置”(Windows > Rendering Editors > Render Settings)
    • 如果正在合成动画,请在“帧/动画扩展名”(Frame/Animation Ext)一侧选择 name.#.ext。
    • “Paint Effects 渲染选项”(Paint Effects Rendering Options)区域中,启用“启用笔划渲染”(Enable Stroke Rendering) 和“仅渲染笔划”(Only Render Strokes)
    • “读取此深度文件”(Read This Depth File)的一侧,键入步骤 1 中已渲染图像深度文件的位置和名称。。确保该名称为绝对路径名称(例如,/h/pearce/rainyday.iffc:\pearce\rainyday.iff)。

    如果正在渲染动画,请使用文件名作为格式名称。#.iff(例如,rainyday.#.iff)。

    输出图像的创建与命名都使用了格式名称。#.iff(例如,rainydaywithstrokes.5.iff)。