使用VectorBlur添加运动模糊

Nuke的VectorBlur节点通过使用运动矢量通道(u和v通道)中的值确定模糊方向,将每个像素模糊成一条直线,从而生成运动模糊。与使用ScanlineRender节点的生成运动模糊相比MultiSample控件,准确性较低,但渲染速度更快。

您可以通过几种方式创建与VectorBlur一起使用所需的运动矢量:

使用ScanlineRender或RayRender节点。这通常比使用MotionBlur3D节点(如下所述)更为准确,并且与静态和动态摄像机以及线性和非线性摄像机运动均适用。看到将VectorBlur与ScanlineRender一起使用要么将VectorBlur与RayRender一起使用

另外,如果您的3D场景是静态的或接近静态的,并且相机在快门时间内的移动几乎是线性的,则也可以使用Filter > MotionBlur3D节点。但是,请注意,MotionBlur3D仅使用相机信息来生成运动矢量。如果场景中有移动的对象,但是相机是静态的,则MotionBlur3D无法产生任何输出。看到要将VectorBlur与MotionBlur3D一起使用

多个第三方3D应用程序还可以将运动矢量信息生成为可与VectorBlur一起使用的两通道浮点图像。如果可能,您应该将这些图像预乘。看到将VectorBlur与第三方运动矢量一起使用

将VectorBlur与ScanlineRender一起使用

1.   在3D场景中,打开ScanlineRender属性,然后转到Shader标签。
2.   确保motion vectors设置为以下之一(不是off):

classic -渲染经典的运动矢量(Nuke 6.1)方式。提供此选项仅是为了向后兼容,并不总是准确的。

velocity -将每个像素的速度存储在运动矢量通道中(预先Nuke 7.0)。仅提供此选项是为了向后兼容。为了具有与Nuke 6.3,设定samples到1。

distance -对于每个像素,存储运动矢量通道中样本之间的距离(以像素为单位)。这是通常会产生最佳结果的推荐选项。它还允许VectorBlur节点产生弯曲的矢量模糊,其中两个帧之间的插值是根据曲线而不是线性进行的。

3.   采用motion vector channels选择将生成的运动矢量存储在何处。

如果查看选定的通道,则应该看到它们现在包含运动矢量。

3d场面回报。

由产生的运动矢量
ScanlineRender。

4.   MultiSample标签,离开samples设置为1。如果使用VectorBlur的线性方法无法很好地近似非线性运动,则可以稍后增加该值。
5.   选择Filter > VectorBlur在ScanlineRender之后插入VectorBlur节点。

具有ScanlineRender和VectorBlur的节点树。

6.   在VectorBlur属性中,使用channels下拉菜单以选择要模糊的通道。
7.   从菜单中选择运动矢量通道uv channels下拉式菜单。这些通道应该与您在步骤3中选择创建的通道相同。
8.   设置mv presets下拉菜单以设置要应用于运动矢量的渲染器格式。每个预设都包含特定于渲染器的比例尺和偏移量,因此矢量的格式应为Nuke
9.   使用blur uv下拉菜单以在模糊图像之前对运动矢量本身进行模糊处理,以使运动差异很大的区域之间的结果平滑。选择以下任一项:

uniform -应用小的均匀模糊以柔化UV贴图中的边缘,或

linear -应用线性加权模糊以在具有不同运动的区域之间进行混合。这具有比uniform选项。

小费:  uniform选项可用于创建类似于pre-Nuke 10个结果。

10.   shutter offset到0。这意味着快门在当前帧处打开。
11.   选择blur type使用下拉菜单。
12.   要调整模糊量,请调整motion blur控件。

原始图像。

运动模糊产生者
VectorBlur。

将VectorBlur与RayRender一起使用

1.   在3D场景中,打开RayRender属性,然后转到AOVs标签。
2.   启用output AOV然后使用motion vector下拉菜单,选择将生成的运动矢量存储在何处。

如果查看选定的通道,则应该看到它们现在包含运动矢量。

3d场面回报。

由产生的运动矢量
ScanlineRender。

3.   MultiSample标签,离开samples设置为1。如果使用VectorBlur的线性方法无法很好地近似非线性运动,则可以稍后增加该值。
4.   选择Filter > VectorBlur在RayRender之后插入VectorBlur节点。

具有RayRender和VectorBlur的节点树。

5.   在VectorBlur属性中,使用channels下拉菜单以选择要模糊的通道。
6.   从菜单中选择运动矢量通道uv channels下拉式菜单。这些通道应该与您在步骤2中选择创建的通道相同。
7.   设置mv presets下拉菜单以设置要应用于运动矢量的渲染器格式。每个预设都包含特定于渲染器的比例尺和偏移量,因此矢量的格式应为Nuke
8.   使用blur uv下拉菜单以在模糊图像之前对运动矢量本身进行模糊处理,以使运动差异很大的区域之间的结果平滑。选择以下任一项:

uniform -应用小的均匀模糊以柔化UV贴图中的边缘,或

linear -应用线性加权模糊以在具有不同运动的区域之间进行混合。这具有比uniform选项。

小费:  uniform选项可用于创建类似于pre-Nuke 10个结果。

9.   shutter offset到0。这意味着快门在当前帧处打开。
10.   选择blur type使用下拉菜单。
11.   要调整模糊量,请调整motion blur控件。

原始图像。

运动模糊产生者
VectorBlur。

要将VectorBlur与MotionBlur3D一起使用

1.   在您的3D场景(应该是静态或接近静态)中,打开ScanlineRender属性,然后转到Shader标签,并设置motion vectorsoff

这告诉ScanlineRender不要生成运动矢量,如果要使用MotionBlur3D生成矢量,这就是您想要的。

2.   选择Filter > MotionBlur3D插入该节点并将其连接到ScanlineRender节点的输出。
3.   将渲染相机连接到cam MotionBlur3D节点的输入。请注意,这必须是移动摄像机。相机在快门时间内的移动应为线性或接近线性。
4.   在MotionBlur3D属性中,使用Output UV选择将生成的运动矢量存储在何处。

如果查看选定的通道,则应该看到它们现在包含运动矢量。

5.   选择Filter > VectorBlur插入该节点并将其连接到MotionBlur3D节点。

具有MotionBlur3D和VectorBlur的节点树。

6.   在VectorBlur属性中,从uv channels下拉式菜单。
7.   使用blur uv下拉菜单以在模糊图像之前对运动矢量本身进行模糊处理,以使运动差异很大的区域之间的结果平滑。选择以下任一项:

uniform -应用小的均匀模糊以柔化UV贴图中的边缘,或

linear -应用线性加权模糊以在具有不同运动的区域之间进行混合。这具有比uniform选项。

小费:  uniform选项可用于创建类似于pre-Nuke 10个结果。

8.   选择blur type使用下拉菜单。
9.   要调整模糊量,请调整motion blur控件。
10.   要调整模糊的长度,请调整Shutter在MotionBlur3D中设置Properties面板。

Shutter值。

Shutter值。

将VectorBlur与第三方运动矢量一起使用

1.   选择Filter > VectorBlur在包含运动矢量通道的2D图像之后插入VectorBlur节点。
2.   在VectorBlur属性中,使用channels下拉菜单以选择要模糊的通道。
3.   从菜单中选择运动矢量通道uv channels下拉式菜单。
4.   设置mv presets下拉菜单,以应用与所选渲染器默认设置关联的预设(如果存在)。
5.   如果您的运动矢量已预乘,请检查uv alpha并指定用于预乘图像的通道。
6.   选择blur type以及使用motion blur控件。