深度生成器

DepthGenerator节点(NukeXNuke Studio仅)允许您从素材生成深度图。该节点使用来自跟踪摄像机的信息来创建一个显示深度变化的通道。

深度图是使用每个像素的亮度来指定3D场景点和用于捕获场景的虚拟相机之间的距离的图像。

DepthGenerator还允许您在法线和位置经过时输出深度,并创建卡3D节点位于3D空间中,并根据深度通道进行位移。

输入和控制

连接类型

连接名称

功能

输入值

面具

用于忽略源图像区域的蒙版。DepthGenerator期望alpha值为0(供使用的区域)或1(供忽略的区域)。

只能在对象的真实3D位置不变的情况下计算深度。如果您的物体中有运动物体Source素材,DepthGenerator可能很难为这些区域创建准确的深度图。为避免这种情况,您可以通过将遮罩连接到此输入并进行设置,从深度计算中排除移动的前景区域Ignore Mask在DepthGenerator属性中找到包含遮罩的通道。

Mask输入只有在连接了其他两个输入后才会出现。

相机

与源素材相匹配的跟踪摄像机。如有必要,您可以使用CameraTracker节点。

资源

摄像机轨迹的来源素材。

Control (UI)

Knob (Scripting)

Default Value

功能

DepthGenerator Tab

Ignore Mask

ignoreMask

None

设置遮罩类型以排除遮罩区域Source深度计算过程中的素材。DepthGenerator期望值为0(供使用的区域)或1(供忽略的区域)。

只能在真实3D位置不变的情况下计算深度。如果你的Source素材中包括移动的前景对象,最好提供一个遮罩以防止移动区域中的失真:

None -所有素材都不会被忽略。

Source Alpha -使用的Alpha通道Source剪辑以定义要忽略的区域。

Source Inverted Alpha -使用反向的Alpha通道Source剪辑以定义要忽略的区域。

Mask Luminance -使用的亮度Mask输入以定义要忽略的区域。

Mask Inverted Luminance -使用反向亮度Mask输入以定义要忽略的区域。

Mask Alpha - 使用Mask输入Alpha通道以定义要忽略的区域。

Mask Inverted Alpha -使用倒置Mask输入Alpha通道以定义要忽略的区域。

另外,您可以尝试使用较小的Frame Separation捕获移动物体。

Output

Depth Output

outputType

Depth (1/Z)

设置产生的输出类型:

Depth 1/Z -输出1 / Z,其中Z是沿相机Z轴的距离。这与深度输出匹配扫描线渲染节点。

Distance -输出从相机中心到3D曲面点沿光线的距离。

Create Card

createCard

N/A

单击以创建一个包含位移的Card的组,以将深度可视化为3D空间中的表面。

注意:  DepthOutput控制必须设置为Depth (1/Z)

Surface Point

P_channel

none

设置通道以输出深度作为位置传递。

位置传递包括图像中每个像素的X,Y和Z坐标。您可以将其与重新点亮节点或PositionToPoints节点将深度可视化为3D点云。

Surface Normal

N_channel

none

将通道设置为在法线通过时输出深度。使用NormalDetail控制影响法线通过的平滑度。

法线通道包含图像中每个像素的三个信息矢量:X方向,Y方向和Z方向。换句话说,它存储图像中每个点所面对的方向。您可以对重新点亮节点。

Frame Separation

Analyze Sequence

analyzeSequence

N/A

单击以自动计算FrameSeparation按顺序使用。

为此,相机中的Camera必须为帧范围内的所有帧定义输入。

注意:  如果您分析序列,然后才决定添加忽略蒙版,则应在添加蒙版之后再次分析序列。

Analyze Frame

analyzeFrame

N/A

点击计算Frame Separation用于播放头框架。

这给了您比Analyze Sequence,因为您可以遍历时间轴,分析特定帧,并在必要时进行调整Frame Separation手动值。

相机在Camera必须为帧范围内的所有帧定义输入。

Frame Separation

frameSeparation

1

调整当前帧和要根据其计算输入深度的帧之间的偏移。

对于快速的摄像机移动,请使用较小的间隔值;对于慢速的摄像机移动,请使用较大的间隔值。

增加间隔可以得到更大的基线和更准确的深度。但是,高分离度会降低图像匹配的质量,并给出不正确的3D点。

动画FrameSeparation补偿可变的相机速度。

相机在Camera必须为帧范围内的所有帧定义输入。

注意:  Analyse SequenceAnalyse Frame按钮尝试计算最佳间隔。

Calculated Accuracy

accuracy

N/A

显示分析帧分离时计算出的深度精度。接近1的值被认为是准确的,接近0的值不正确。

在3D中放置元素时(例如,通过单击Create Card或使用PositionToPoints节点)。

如果未获得准确的深度值,请尝试调整Frame Separation或使用Ignore Mask.

Depth Generation

Depth Detail

vectorDetail

0.5

调整此项以改变用于计算深度图的图像的分辨率。默认值0.5等于图像分辨率的一半。较低的值可加快处理速度并提供更平滑的结果。值越高,细节越细,但处理时间也会增加。

Normal Detail

normalDetail

0.25

调整表面法线的分辨率。减少细节以平滑法线。

默认值0.25导致法线通过以四分之一分辨率进行计算。

Noise

noiseLevel

0.01

设置在计算深度图时在输入素材中忽略的噪声量。

尝试增加此值以平滑平面图像区域的深度。

Strength

strength

1

设置帧之间匹配像素的强度。增大此值可强制进行匹配,例如在缺少精细细节的地方,或减小到平滑深度。

在大多数情况下,您可以将其保留为默认值。

Sharpness

sharpness

0.5

定义不同的对象边界。增加锐度以分离对象并将其减小到平滑深度。

Smoothness

smoothness

0.5

调整视差计算的平滑度权重。不会影响深度计算,而是对结果施加智能模糊。

高平滑度会丢失很多局部细节,但不太可能产生嘈杂的深度值。低平滑度将集中在细节匹配上,即使结果深度图参差不齐。

Depth Limits

Near Clip Plane

near

0.1

设置最小的z深度。所有低于此数字的深度值都将设置为此值。

Far Clip Plane

far

10000

设置最大z深度。所有高于此数字的深度值都将设置为此值。

Mark Bad Regions

markRegions

disabled

启用后,深度计算不明确的区域会在深度图中标记为非常大的值。

分步指南

生成深度图

影片教学

NUKE 7.0-来自Foundry的DepthGenerator Vimeo