扫描线渲染
当连接到现场节点,“ ScanlineRender”节点从“视角”的角度渲染连接到该场景的所有对象和灯光。 相机连接到cam输入(或默认输入) cam输入存在)。然后,将渲染的2D图像传递到合成树中的下一个节点,您可以将结果用作脚本中其他节点的输入。
如果下游有Deep节点,则ScanlineRender节点也会输出深度数据。
也可以看看PrmanRender, 现场和相机
输入和控制
连接类型 |
连接名称 |
功能 |
输入值 |
obj / scn |
要么: • 连接到要渲染的对象和光源的“场景”节点,或者 • 3D对象或MergeGeo节点。 |
凸轮 |
可选的摄像机输入。场景是从此摄像机的角度渲染的。如果未连接摄像头输入,则ScanlineRender使用默认摄像头,该摄像头位于原点并面向负Z方向。 |
|
bg |
可选的背景输入。这可用于将背景图像合成到场景中并确定输出分辨率。如果不使用,则默认为root.format要么root.proxy_format在定义ProjectSettings。 如果此输入包含深度通道,则在进行Z缓冲区和Z混合计算时,ScanlineRender会考虑它。 |
Control (UI) |
Knob (Scripting) |
Default Value |
功能 |
ScanlineRender Tab |
|||
transparency |
transparency |
enabled |
启用后,对象的Alpha值小于1时将显示为透明。 |
Z-buffer |
ztest_enabled |
enabled |
启用或禁用用于比较场景中对象Z深度的Z缓冲区,以帮助遮挡。 |
filter |
filter |
Cubic |
选择将像素从其原始位置重新映射到新位置时要使用的过滤算法。这样可以避免图像质量出现问题,特别是在帧的高对比度区域(如果未过滤像素并保留其原始值,则边缘可能会出现高度锯齿或锯齿状)。 • Impulse -重新映射的像素保留其原始值。 • Cubic -重新映射的像素会有些平滑。 • Keys -重新映射的像素会得到一些平滑,再加上一点锐化(如曲线的负-y部分所示)。 • Simon -重新映射的像素会得到一些平滑,再加上中等的锐化(如曲线的负-y部分所示)。 • Rifman -重新映射的像素会得到一些平滑,再加上明显的锐化(如曲线的负-y部分所示)。 • Mitchell -重新映射的像素会进行一些平滑处理,再加上模糊处理以隐藏像素化。 • Parzen -重新映射的像素在所有滤镜中获得最大的平滑度。 • Notch -重新映射的像素会得到平滑平滑(这往往会掩盖波纹)。 • Lanczos4, Lanczos6和Sinc4 -重新映射的像素会锐化,这对于缩小图像很有用。Lanczos4提供最少的锐化和Sinc4最多。 • Nearest -最快,最粗略,从相应的Mip贴图中采样最近的texel。 • Bilinear -从适当的Mipmap级别中消除块状,采样并内插四个最近的纹理像素。 • Trilinear -根据距离平滑插值纹理质量,在两个最接近的mipmap级别之间进行双线性插值。 • Anisotropic -最高质量的过滤,在相对于相机成大角度的阴影表面时,可获得更好的效果。 |
antialiasing |
antialiasing |
none |
设置抗锯齿级别,以减少渲染中的任何锯齿失真。从中选择none, low , medium和high。 |
Z-blend mode |
zblend_mode |
none |
用于混合两个曲面的坡道类型Z-blend range彼此的。平滑看起来更好,但是提供了线性特性以实现向后兼容。 |
Z-blend range |
zblend_range |
0.1 |
在Z轴上比该距离更近的任意两个曲面将融合在一起,以平滑相交对象之间的过渡。 |
projection mode |
projection_mode |
render camera |
投影模式为: • perspective -让相机的焦距和光圈定义相机前方物体的深度幻觉。 • orthographic -使用正交投影(使用平行射线投影到投影平面上)。 • uv -让每个对象将其UV空间渲染为输出格式。您可以使用此选项来制作纹理贴图。 • spherical -将整个360度世界渲染为球形地图。你可以增加tessellationmax以提高对象边缘变形时的精度,但这需要更长的渲染时间。 • rendercamera -使用渲染相机的投影类型。 |
tessellation max |
max_tessellation |
3 |
通过屏幕空间距离百分比限制多边形的递归细分。 此控件在spherical投影模式,有时会扭曲对象边缘。如果看到这种变形,可以尝试增加此值以将多边形细分(细分)为较小的多边形。这样可以产生更精确的对象边缘,但渲染时间也更长。 |
overscan |
overscan |
0 |
超出帧的左/右和上/下渲染的最大额外像素。如果后续节点需要在框架外部进行访问,则超出框架边缘的像素渲染会很有用。例如,如果使用过扫描,则节点树下方的模糊节点可能会在帧的边缘周围产生更好的结果。类似地,后续的LensDistortion节点可能需要使用过扫描。 |
ambient |
ambient |
0 |
输入介于0(黑色)和1(白色)之间的值以更改全局环境颜色。 |
MultiSample Tab |
|||
samples |
samples |
1 |
设置每个像素渲染的样本数,以产生运动模糊和抗锯齿。如果使用此功能,则在大多数情况下,您可以关闭计算机上的抗锯齿和过滤器控件ScanlineRender标签。 |
shutter |
shutter |
0.5 |
输入运动模糊时快门保持打开状态的帧数。例如,值为0.5对应于半帧。 |
shutter offset |
shutteroffset |
start |
此值控制快门相对于当前帧值的行为。它有四个选项: • centred -将快门对准当前帧。例如,如果将快门值设置为1且当前帧为30,则快门从第29,5帧到30,5帧保持打开状态。 • start -打开当前帧的快门。例如,如果将快门值设置为1且当前帧为30,则快门从帧30到31保持打开状态。 • end -在当前帧关闭快门。例如,如果将快门值设置为1且当前帧为30,则快门从第29帧到30保持打开状态。 • custom -在指定的时间打开快门。在下拉菜单旁边的字段中,输入要添加到当前帧的值(以帧为单位)。要在当前帧之前打开快门,请输入一个负值。例如,值-0.5将在当前帧之前半帧打开快门。 |
shuttercustom |
shuttercustomoffset |
0 |
如果shutter offset参数设置为custom,此参数用于通过将快门添加到当前帧来设置快门打开的时间。值以帧为单位,因此-0.5将在当前帧之前半帧打开快门。 |
randomize time |
temporal_jitter |
0 |
随时间增加样本分布的随机性,因此它们不会产生规则间隔的图像。值越大,样本之间的时间差越大。 |
sample diameter |
spacial_jitter |
1 |
每个像素的样本放置在其中以进行抗锯齿的圆的直径。值越大,抖动的像素越多。 |
focus diameter |
focal_jitter |
0 |
随机使相机绕着某个点旋转focal distance在每个样本的前面,以从多个样本产生景深效果。 注意: 的focal distance是在“相机”节点的控件中设置的Projection标签。 |
stochastic |
stochastic_samples |
0 |
设置用于随机估计的每个像素的样本数(禁用零)。较低的值可加快渲染速度,而较高的值可提高最终图像的质量。 随机抽样基于Robert L. Cook的计算机图形学中的随机抽样,在图形上的ACM事务 ,第6卷,第1期,1996年1月。 注意: 对于运动模糊,建议将samples控制已调整。这还可以通过抖动采样点来提供抗锯齿功能。 |
uniform |
uniform_distribution |
disabled |
启用后,请使用场景的均匀时间分布进行采样。这将为随机多重采样生成更准确的结果。 |
Shader Tab |
|||
motion vectors |
motion_vectors_type |
distance |
选择如何渲染运动矢量: • off -不渲染运动矢量。 • classic -将运动矢量渲染为经典(预Nuke 6.1)方式。提供此选项仅是为了向后兼容,并不总是准确的。 • velocity -将每个像素的速度存储在运动矢量通道中(预先Nuke 7.0)。仅提供此选项是为了向后兼容。为了具有与Nuke 6.3,设定samples到1。 • distance -对于每个像素,存储运动矢量通道中样本之间的距离(以像素为单位)。这是通常会产生最佳结果的推荐选项。它还允许矢量模糊节点产生弯曲的矢量模糊,其中两个帧之间的插值是根据曲线而不是线性进行的。 |
motion vector channels |
MB_channel |
forward |
运动矢量输出到的通道。 您可以使用右侧的复选框选择单个频道。 |
output vectors |
output_shader_vectors |
disabled |
启用后,着色器矢量(surface points和surface normals)以及运动矢量被输出。如果要在合成阶段重新照明渲染的3D场景,这些功能将很有用。 |
surface points |
P_channel |
none |
用作表面点通道的通道。什么时候output vectors启用后,ScanlineRender将表面点位置(在世界空间坐标中)输出到该通道中。 |
surface normal |
N_channel |
none |
用作表面法线通道的通道。什么时候output vectors启用此功能后,ScanlineRender将曲面点法线(在世界空间坐标中)输出到此通道。 |
Deep Tab |
|||
drop zero alpha samples |
drop_zero_alpha_samples |
enabled |
启用后,alpha值为0的深采样不会对输出有所贡献。 禁用时,alpha值为0的深采样会影响输出。 |
分步指南
影片教学


Nuke不仅限于2D空间,实际上,它内置了完整的3D环境。例如,这里有3D船和3D球体。为了查看3D环境,请转到视图它说的菜单2D并将其切换到3D,并且有环境。为了更改视图(默认相机),您可以使用Alt键或你的选项键,以及您的鼠标按钮。例如, Alt键和鼠标左键滚动, Alt键和鼠标中键缩放,以及 Alt键和鼠标右键旋转。
让我们看看场景中有什么。背景中有一个3D相机,一个聚光灯,一个点光源,一个原始球体,一个导入的太空飞船和一个大型原始卡。让我们看一下节点网络,您可以看到制作3D场景所需的条件。连接最多的节点是“场景”节点。“场景”节点将灯光和几何图形组合在一起,以便将它们传递到渲染节点。为了渲染场景使其变为2D,您需要具有某种渲染节点。在这种情况下,存在一个ScanlineRender节点。连接到ScanlineRender的是3D相机。连接到场景节点的是两个灯-聚光灯和点光源。如果我在Spotlight上打开属性,则可以看到诸如颜色和强度对于Spotlight, 锥角。这里还有两个原始几何图形-球体和卡片。这将是一个很好的时机,请注意,与矩形2D节点相反,3D节点具有圆形的丸状形状。
您可以通过以下方式创建光源或原始几何体3D菜单。您可以创建Point或Spot,再加上Direct和一些特殊的灯光,例如称为Light的灯光,可用于从其他程序(例如Maya)导入灯光。还有几何菜单,其中包含诸如卡或其他形状,例如立方体和圆筒。您可以变换灯光和几何形状。例如,如果我打开Sphere,您将看到一个翻译, 旋转和规模属性。打开后,您还将看到一个转换句柄。如果沿轴单击并拖动手柄,则可以沿该方向移动它,例如Y。当然,也可以在属性面板中输入值。灯光也有自己的一组变换。现在,一项新功能是,光线可以在3D环境中的此处投射阴影。例如,如果我转到Spotlight,然后转到暗影标签,您会看到有一个可以点击的地方投下阴影。让我们回到2D视图。您可以在飞船上的此处看到Sphere的阴影。现在,除了阴影之外,您还可以为所有这些属性设置动画。您可以为灯光设置动画,并随着时间的变化以及几何形状。所有这些属性旁边还有动画按钮。您可以像在Nuke中的任何其他节点上一样键入这些键。
您会注意到,这两个几何体的着色器连接到它们的img管道。这些对于正确照明表面是必需的。Sphere有一个Phong,类似于您在Maya之类的程序中可能拥有的Phong。该卡具有发射着色器,该着色器具有发射组件或环境颜色组件。现在,就太空飞船而言,必须通过ReadGeo节点将其导入。ReadGeo节点有一个引入文件的位置,此功能支持.fbx文件,或 .obj文件或Alembic文件, .abc。如果文件中有动画,Nuke将识别它。例如,使用.fbx文件,可能需要多次拍摄。Nuke会意识到这一点,您可以选择动画片段。因此,如果我返回3D视图,请擦洗时间轴,我们将看到飞船已预先设置动画,并且此动画是在Maya中创建的。还有一种材料连接到img ReadGeo的管道。现在,因为UV纹理空间通过.fbx文件中,为了映射几何图形,您只需要通过“读取”节点引入纹理位图,然后连接到着色器。例如,这是通过地图,或地图漫反射。有一个通过地图,或地图高光。让我们回到2D视图。
现在,如果有任何动画,您还可以激活运动模糊。为此,请转到渲染节点,例如,使用ScanlineRender,转到多样本标签并更改样本到更高的数字8。届时,您将在此处看到运动模糊。越高样本数量,质量越高。
因此,这里简要介绍了Nuke的3D环境。请记住,您需要为此创建的任何节点都可以通过3D节点菜单。这包括您所有的着色器,几何体,灯光,场景节点和相机。除了为灯光和几何图形设置动画之外,您还可以为相机设置动画。他们有自己的一套变换。无论如何,我建议您探索Nuke的这一部分。