【教程翻译】如何渲染和合成来自Autodesk Maya的zDepth深度贴图

文章来源:https://ravbuganimations.com/how-to-render-and-composite-a-zdepth-map-from-autodesk-maya/,欢迎转载,转载请注明出处。如有翻译问题欢迎批评指教。

注:在第二部分合成场景内容中,也可以直接打开NukeX,跳至第5步的内容,从windows资源管理器将序列拖入node graph节点图中,之后再继续按教程操作。

在本教程中,我将向您展示如何从Autodesk Maya 2016 Ext 2或更高版本渲染zDepth贴图以及如何在Nuke中合成它。

我已经在文章末尾提供了下面所有示例文件的下载链接,但我强烈建议您按照本教程进行操作,以便了解系统的工作原理并进行调整。

您需要的软件:

  • Autodesk Maya 2016 Extension 2或更高版本
  • Nuke 10或更高版本

设置场景

您不需要从空场景开始。如果场景中已经有动画/ 灯光 / 特效都无关紧要。

  1. 在Maya中打开3D场景并打开“渲染设置”窗口(位于Windows -> Rendering Editors -> Render Setup)
  2. 创建一个新的渲染图层,并将其重命名为“Color”
    1. 右键单击图层并添加新collection(集合)
    2. 将其命名为“Elements”(元素)
    3. 在大纲中,选择所有几何体和灯光
    4. 在“渲染设置”窗口的“属性编辑器”中,单击add按钮
  3. 创建一个新的渲染层并将其重命名为“zDepth”
    1. 创建一个新集合,将其重命名为“Geometry”并仅向其添加场景的几何体
    2. 创建一个新的集合,并将所有灯光添加到它
    3. 禁用包含灯光的集合(这样它们不会照亮并弄乱深度图
    4. 在“大纲视图”(Outliner)中,转到“显示”(Display) – >并取消选中“Show DAG shapes only”(仅显示DAG形状)
    5. 建一个新的渲染层并将其重命名为“zDepth”
    6. 在“属性编辑器”中,单击“Presets”(预设),然后单击“Luminance Depth”(亮度深度)
    7. Surface Shader会被自动创建,并且属性编辑器应该已切换到它。如果它没有自动切换,请转到Hypershade(Windows – > Rendering Editors – > Hypershade)并单击Surface Shader。单击[color]旁边的黑色三角形框
    8. 属性编辑器应该已切换到setRange节点屏幕。右键单击“Old Min”和“Old Max”并断开连接
    9. “Old Min”是决定物体靠近程度的值。保持这个价值
    10. “Old Max”是深度图变为完全黑色之前的单位数字。对于我自己的场景,我设置为t0 250
    11. 切换回“渲染设置”窗口。右键单击“Geometry”集合并选择“Create Material Override”(创建材质覆盖)
    12. 打开Hypershade窗口(Windows – > Rendering Editors – > Hypershade)
      1. 选择surfaceShader,然后用鼠标中键将其拖动到“Render Setup”(渲染设置)视图中的“覆盖材质”框
    13. 单击zDepth图层上的眼睛图标以使其可见。场景中的所有对象都应具有白色到黑色的渐变。移动相机以查看更新。
    14. 调整“Old Max”值并尝试使100%黑色区域位于场景的最边缘。
  4. (可选,但看起来非常好)创建另一个渲染层并将其重命名为“Fog”(雾)
    1. 要为Fog通道创建对象
      1. 创建一个volume cube(体积立方体)并用它包含整个场景。
      2. 在cubeFog属性中,将Cloud纹理指定给transparency属性。您无需更改fog通道的任何内容
    2. 为Fog图层创建两个集合:“Fog_Object”和“Disable_Lights”
    3. 将您的volume cube(体积立方体)添加到“Fog_Object”集合
    4. 将所有灯光添加到“Disable_Lights”集合,然后禁用集合。
    5. 单击“眼睛”以使Fog图层可见。您应该只看到volume框而不是其他内容。
  5. 在“渲染设置”窗口中,单击默认“sence”渲染层旁边的场记板以禁用它。(它应该不是蓝色才正确)
  6. 设置您喜欢的渲染设置(我发现Mental Ray可以创建最佳深度贴图),并渲染您的场景!
    1. 确保深度通道不呈现彩色背景(具有透明背景)
    2. 它应该在images目录中创建3个文件夹:“Color”“zDepth”和“Fog”,每个文件夹包含正确的数据。

合成场景

你现在已经完成了Maya步骤。在继续执行后续步骤之前,请确保您像上图那样有三个图像序列的输出。

如果您更喜欢不同的合成软件(fusion,flame等)并知道如何合成景深,那么您可以跳过本文档的其余部分。

Nuke的基础知识:
在nuke中创建节点: 右键单击节点视图 – >查找节点或按Tab键 – >搜索节点
连接节点:单击并拖动兼容节点顶部的箭头
编辑节点:双击节点打开属性面板,然后拖动滑块来修改值。
关闭节点:按节点属性面板右上角的[x](?和窗口按钮旁边)
禁用节点:单击节点并按键盘上的[D]键

  1. 启动NukeStudio,并创建一个新项目。
  2. 转到编辑 – >项目设置(或按键盘上的[S])
    1. 设置frame range(帧范围),使其与图像序列匹配,然后关闭面板
  3. 将图像序列从文件资源管理器拖到左上角的project viewer(项目查看器)中(或从File -> Import File(s)导入它们)
    1. 它们应该渲染到3个文件夹中:“rs_Color”“rs_zDepth”和“rs_Fog”
  4. 单击project viewer(项目查看器)面板下方第二项的“Node Graph”(节点图)选项卡
  5. 将序列从项目查看器拖到Node Graph(节点图)中
  6. 在节点图中,创建一个ShuffleCopy节点
  7. 将(1)连接到Color序列,将(2)连接到Depth序列
    1. 设置属性如下:
  8. 创建一个Constant节点,并将其设置为任何非黑色的颜色
  9. 创建一个AddMix节点,并将(A)连接到Constant,将(B)连接到Fog序列
  10. 创建一个ZMerge节点,并将(1)输入连接到AddMix节点,并将(2)输入连接到ShuffleCopy节点
    1. Z频道:depth.Z
    2. Alpha通道:depth.Z
    3. smaller Z =further away:打钩
  11. 创建ZDefocus节点,并将(Image)输入连接到ShuffleCopy节点
    1. math:depth
    2. blur inside: 不打勾
  12. 创建一个Merge节点,并将(A)输入连接到ZMerge节点,并将(B)输入连接到ZDefocus节点
    1. 降低mix值至0.225左右
  13. 将Viewer输入连接到Merge节点。
  14. 您的节点图已完成!将任何额外节点连接到Merge节点以进一步合成

调整设置

要更改不同节点的交互方式,请更改以下值:

Depth of Field distance(景深距离):在ZDefocus节点中,更改Focus Plane (焦平面)属性。较大的值=近处模糊
或者,您可以拖动查看器中的focal_point控制柄以交互方式设置焦平面。

Depth of Field strength(景深强度):更改ZDefocus节点的size(大小)值。

Depth of field end strength(景深末端强度):更改ZDefocus节点的maximum(最大)值。

Fog Color(雾气颜色):更改Constant节点的颜色。如果您希望是其他颜色,只需使用不同的设置替换Constant节点。只需确保该设置的最终输出连接到AddMix节点上的(A)输入。

Fog Density(雾气密度):更改AddMix节点的mix

Fog Distance/Intensity(雾气距离/强度):更改Merge节点的mix值(而不是ZMerge节点!)

渲染最终的合成

要将合成导出为视频文件或图像序列,请执行以下操作:

  1. 创建一个Write节点并将输入连接到Merge节点(如果已经连接了查看器,只需将Write节点拖到虚线上)
  2. 对于视频输出
    1. 文件类型:mov
    2. 编解码器:h.264(如果存在)或Apple ProRes 4444
  3. 用于图像序列输出
    1. 文件类型:选择任何图像格式(我建议.exr或.tiff用于保存ultrawhite(白色大于1)值,或.png用于常规压制。
    2. 要渲染Alpha通道,请将channels设置为rgba
  4. 按一下file旁边的文件夹图标,并选择一个文件夹写在文件(确保包含文件扩展名!)
  5. 要排除DOF,请禁用ZDefocus节点(可选)
  6. 转到中间的Render,点击(或按键盘上的F5)
  7. (可选)检查Frame Range——即将后台渲染的帧数,如果不正确则设置好正确的帧范围,然后按[OK]
  8. 等待渲染完成(在慢硬件上这可能需要一段时间)

恭喜!你已经使用Nuke从Maya成功合成了depth深度!

如果您想建议编辑或其他教程,请在下面对其进行评论(您无需注册即可发表评论)

下载示例文件(Google Drive)

下载示例文件(百度网盘)

注意:.mb文件要求Maya 2017无错误地打开。

发表评论

电子邮件地址不会被公开。 必填项已用*标注