Card
The Card node creates the simplest type of object you can add to a 3D scene - a plane onto which you can map a texture. A card object may be distorted using the Lens Distortion tab or deformed as a bilinear or bicubic object using the Deform tab.
Inputs and Controls
Connection Type |
Connection Name |
Function |
Input |
img |
The texture you want to project on to the card. |
Control (UI) |
Knob (Scripting) |
Default Value |
Function |
Card Tab |
|||
display |
display |
textured |
Adjusts the display characteristics of the 3D object. These settings don’t affect the render output of the scene; these are for display purposes only in the 3D Viewer. • off - hides the 3D geometry object. • wireframe - displays only the outlines of the object’s geometry. • solid - displays all geometry with a solid color. • solid+wireframe - displays the geometry as solid color with the object’s geometry outlines. • textured - displays only the surface texture. • textured+wireframe - displays the wireframe plus the surface texture. |
selectable |
selectable |
enabled |
When enabled, you can make selections as normal in the Viewer. When disabled, points cannot be selected or changed. |
render |
render_mode |
textured |
Sets how the object will render. This control is independent from the display selection, but has the same settings. |
cast shadow |
cast_shadow |
enabled |
When enabled, the card object can cast shadows. |
receive shadow |
receive_shadow |
enabled |
When enabled, and a material shader has been added, the card object can have shadows cast onto it by other objects. |
frame range |
range_first |
1 |
Sets the start frame for the frame range displayed in the Viewer when the Timeline range is set to Input. This can be used to display the offset used in the TimeOffset node. |
range_last |
1 |
Sets the end frame for the frame range displayed in the Viewer when the Timeline range is set to Input. This can be used to display the offset used in the TimeOffset node. |
|
orientation |
orientation |
XY |
Set the orientation of the card on the XY, YZ, or ZX axes. |
image aspect |
image_aspect |
enabled |
When enabled, the card is the same shape as the input image. Disable imageaspect to fit the input image on a square card. |
rows/columns |
rows |
8 |
The number of rows in the selection grid. The maximum value is 4096, but high values may cause instability. |
columns |
8 |
The number of columns in the selection grid. The maximum value is 4096, but high values may cause instability. |
|
z |
z |
0 |
The card is placed this far from the origin and scaled in line with the lens-in focal distance and lens-in haperture value. |
lens-in focal |
lens_in_focal |
1 |
This is the focal length of the camera that took the picture on the card. The card is scaled to the correct size so that at distance z it fills this field of view. |
lens-in haperture |
lens_in_haperture |
1 |
This is the horizontal aperture of the camera that took the picture on the card. The card is scaled to the correct size so that at distance z it fills this field of view. |
|
file_menu |
N/A |
Select to import or export a channel file: • Import chan file - import a channel file and transform the card according to the transformation data in the channel file. Channel files contain a set of Cartesian coordinates for every frame of animation in a given shot. You can create and export them using Nuke or 3D tracking software, such as 3D-Equalizer, Maya, or Boujou. • Export chan file - export the translation parameters that you’ve applied to the card as a channel file. This is a useful method of sharing setups between artists. |
|
snap_menu |
N/A |
• Match selection position - the card is snapped to a new position depending on the points selected. • Match selection position, orientation - the card is snapped to a new position and orientation depending on the points selected. • Match selection position, orientation, size - the card is snapped to a new position, orientation, and size depending on the points selected. |
transform order |
xform_order |
SRT |
Sets the operation order for scale (S), rotation (R), and translation (T). The possible operation combinations are SRT, STR, RST, RTS, TSR, TRS. |
rotation order |
rot_order |
ZXY |
Sets the order of rotation. The possible axial combinations are ZXY, XYZ, XZY, YXZ, YZX, ZXY, ZYX. |
translate |
translate |
0, 0, 0 |
Lets you translate the card along the x, y, and z axes. You can also adjust translate values by clicking and dragging the card in the 3D Viewer. |
rotate |
rotate |
0, 0, 0 |
Lets you rotate the card around the x, y, and z axes. you can adjust rotate values by holding down Ctrl/Cmd and dragging in the 3D Viewer. |
scale |
scaling |
1, 1, 1 |
Lets you scale the card on the x, y, and z axes. |
uniform scale |
uniform_scale |
1 |
Lets you scale the card simultaneously on the x, y, and z axes. |
skew |
skew |
0, 0, 0 |
Lets you skew the card on the x, y, and z axes. |
pivot |
pivot |
0, 0, 0 |
When you make changes to a 3D object’s position, scaling, skewing, and rotation, these occur from the location of the object’s origin point or pivot. The pivot x, y, and z controls allow you to offset the pivot point and move it anywhere you like - you can even move it outside of the object. Subsequent transformations applied will then occur relative to the new pivot point location. You can also hold down Ctrl/Cmd+Alt and drag the pivot point to a new location in the 3D Viewer. |
Local Matrix |
|||
specify matrix |
useMatrix |
N/A |
Enable this control to specify matrix values for the object you’re transforming as an alternative to setting transform, scale, skew and pivot values above. |
matrix |
matrix |
N/A |
The matrix displays values from the object’s transform, rotate, scale, skew, and pivot controls. Check specify matrix and copy or drag-and-drop matrix values from another object to apply those values, for example, if you wanted to align objects in a scene. |
Lens Distortion Tab |
|||
lock to vertical |
use_vertical_lock |
disabled |
When enabled, the distortion is limited to the width - vertical distortion is locked. |
a (r^3) |
lens_in_distort_a |
0 |
Defines a cubic term that affects the radial distortion of the texture applied to the card, and the edges of the card. Positive values make the card rounder, negative make the corners sharper. The lens distort values can be used to simulate camera lens distortion effects, such as barrel distortion. |
b (r^2) |
lens_in_distort_b |
0 |
Defines a square term that affects the radial distortion of the texture applied to the card, and the edges of the card. Positive values make the card rounder, negative make the corners sharper. The lens distort values can be used to simulate camera lens distortion effects, such as barrel distortion. |
c (r^1) |
lens_in_distort_c |
0 |
Defines a linear term that affects the radial distortion of the texture applied to the card, and the edges of the card. Positive values make the card rounder, negative make the corners sharper. The lens distort values can be used to simulate camera lens distortion effects, such as barrel distortion. |
distortion |
lens_in_distortion |
0 |
Applies a lens distortion effect using an older Nuke algorithm. Smaller values make the edges of the card rounder, large values make the corners sharper. |
power |
lens_in_power |
4 |
Controls the strength of the distortion parameter on the card. |
Deform Tab |
|||
type |
type |
none |
Select the deform type from the dropdown menu: • none - the card is not deformed. • bilinear - the card is deformed using handles and the bilinear controls. • bicubic - the card is deformed using handles, tangents, and the bicubic controls. |
reset handles |
reset_handles |
N/A |
Click to reset the handles and tangents to their default position. A warning displays to confirm the reset. |
reset tangents |
reset_tangents |
N/A |
When break tangents is disabled, click to reset the tangents to a third of the distance between their handle points to smooth out the deform curves. A warning displays to confirm the reset. Note: This control has no effect when type is set to bilinear. |
copy |
copy_shape |
N/A |
Click to copy the current handle and tangent positions into a temporary buffer. |
paste |
paste_shape |
N/A |
Click to paste the handle and tangent positions from the temporary buffer onto the card. |
set key |
set_key_shape |
N/A |
Click to set a key for this frame on the handles and tangents. |
delete key |
del_key_shape |
N/A |
Click to delete a key from this frame on the handles and tangents. |
delete anim |
del_anim_shape |
N/A |
Click to delete the entire animation of all handles and tangents. |
Bilinear |
|||
x/y points |
x_points |
3 |
Sets the number of x/y control points in the grid. The grid is not modified until you click new shape. |
y_points |
3 |
||
new shape |
new_shape |
N/A |
Click to apply the current x/y points values to the grid. A warning displays to confirm the new shape. |
x subdivide |
x_subdivide |
N/A |
Subdivides the control points on the x axis creating new points equal to x points -1. |
y subdivide |
y_subdivide |
N/A |
Subdivides the control points on the y axis creating new points equal to y points -1. |
uv position |
uv_position |
0.3525 |
Sets the position of the uv subdivide handle. |
uv subdivide |
uv_subdivide |
N/A |
Click to subdivide the card at the uv position. If the uv subdivide handle is on the card edge then only the u or v is subdivided. |
u subdivide |
u_subdivide |
N/A |
Subdivide the card at the u position. If the uv subdivide handle is on the card edge then there is no subdivision. |
v subdivide |
v_subdivide |
N/A |
Subdivide the card at the v position. If the uv subdivide handle is on the card edge then there is no subdivision. |
cp |
control_points |
N/A |
This collection of controls is used to navigate around the control points on the card. The index starts at 0 and each control point is described by column/row locations and three xyz coordinates. • The left and right arrows change the column index of the control point. • The up and down arrows change the row index of the control point. |
Bicubic |
|||
x/y points |
x_points |
3 |
Sets the number of x/y control points in the grid. The grid is not modified until you click new shape. |
y_points |
3 |
||
new shape |
new_shape |
N/A |
Click to apply the current x/y points values to the grid. A warning displays to confirm the new shape. |
x subdivide |
x_subdivide |
N/A |
Subdivides the control points on the x axis creating new points equal to x points -1. |
y subdivide |
y_subdivide |
N/A |
Subdivides the control points on the y axis creating new points equal to y points -1. |
uv position |
uv_position |
0.3525 |
Sets the position of the uv subdivide handle. |
uv subdivide |
uv_subdivide |
N/A |
Click to subdivide the card at the uv position. If the uv subdivide handle is on the card edge then only the u or v is subdivided. |
u subdivide |
u_subdivide |
N/A |
Subdivide the card at the u position. If the uv subdivide handle is on the card edge then there is no subdivision. |
v subdivide |
v_subdivide |
N/A |
Subdivide the card at the v position. If the uv subdivide handle is on the card edge then there is no subdivision. |
x/y points |
x_points |
3 |
Sets the number of x/y control points in the grid. The grid is not modified until you click new shape. |
uniform subdivide |
uniform_subdivide |
enabled |
When enabled, the tangents are shortened to create a more uniform subdivide. |
break tangent |
break_tangent |
disabled |
This control is present for the purposes of backward compatibility and should not be used in new scripts. |
mirror tangent |
mirror_tangent |
disabled |
This control is present for the purposes of backward compatibility and should not be used in new scripts. |
cp |
control_points |
N/A |
This collection of controls is used to navigate around the control points on the card. The index starts at 0 and each control point is described by two grid locations and xyz values corresponding to the position, right tangent, left tangent, up tangent, and down tangent - tangent values are relative to the position value. • The left and right arrows change the column index of the control point. • The up and down arrows change the row index of the control point. Note: Control points along the edge of the card only display tangent values if they are valid. For example, the lower left corner control point only displays the up and right tangents. |
Step-by-Step Guides
Video Tutorials
3D Workspace Overview from Foundry on Vimeo.
Nuke is not limited to a 2D space, in fact, it has a complete 3D environment built right in. For example, here is a 3D ship and a 3D sphere. In order to see the 3D environment, go to the View menu where it says 2D and switch that to 3D, and there’s the environment. In order to change the view, which is the default camera, you can use the Alt or your Option key, along with your mouse buttons. For example, Alt and left mouse button scrolls, Alt and middle mouse button zooms, and Alt and right mouse button orbits.
Let’s see what we have in the scene. There is a 3D Camera, a Spotlight, a Point light, a primitive Sphere, an imported spaceship, and a large primitive Card in the background. Let’s take a look at the node network, and you can see what we need to make a 3D scene happen. The node with the most connections is the Scene node. The Scene node groups together lights and geometry in order to pass them on to a render node. In order to render the scene so it becomes 2D, you need to have some sort of render node. In this case, there is a ScanlineRender node. Connected to the ScanlineRender is a 3D Camera. Connected to the Scene node are two lights - there is the Spotlight and the Point light. If I open up the properties on the Spotlight, you can see common options like color and intensity and, in the case of the Spotlight, cone angle. There are also two pieces of primitive geometry here - there is the Sphere and the Card. This will be a good time to note that 3D nodes have a rounded, pill-like shape, as opposed to the rectangular 2D nodes.
You can create a light or a primitive piece of geometry through the 3D menu. You can make your Point or your Spot, plus a Direct and a few specialized lights, like the one that’s called Light, which you can use to import lights from other programs, like Maya. There is also the Geometry menu, which has the primitives such as Card, or other shapes, like Cube and Cylinder. You can transform lights and geometry. For example, if I open up the Sphere, you will see there is a translate, rotate, and scale property. Once this is open, you will also see there is a transform handle. If you click+drag the handle along the axis, you can move it in that direction, for example, Y. Of course, you can also enter values into the properties panel. Lights also have their own set of transforms. Now, one new feature is the fact that lights can cast shadows right here in the 3D environment. For example, if I go to the Spotlight and go to the Shadows tab, you will see there is a place to click on cast shadows. Let’s go back to the 2D view. You can see the shadow of the Sphere right here on the spaceship. Now, aside from shadows of course, you can animate all of these properties. You can animate the light, changing over time, as well as the geometry. There are also animation buttons beside all of these properties. You can key these as you would any other node inside Nuke.
You will notice that the two pieces of geometry have shaders connected to their img pipes. These are necessary for the surfaces to be lit correctly. The Sphere has a Phong, which is similar to the one you might have in a program like Maya. The Card has an Emission shader, which has the emissive component or the ambient color component. Now, in terms of the spaceship, it has to be imported through a ReadGeo node. ReadGeo node has a place to bring in the file, and this supports .fbx files, or .obj files, or alembic files, .abc. If there is animation in the file, Nuke will recognize it. For example, with the .fbx file, it might have multiple takes. Nuke will recognize that and you can choose the animation take. So, if I go back to the 3D view, scrub the timeline, and we will see the ship is pre-animated, and this animation was created in Maya. There is also a material connected to the img pipe of the ReadGeo. Now, because the UV texture space came through the .fbx file, in order to map the geometry, you just need to bring in the texture bitmaps through Read nodes, and connect to a shader. For example, here is the diffuse map connected through the mapD, or map diffuse. There is a specular map connected through the mapS, or map specular. Lets go back to the 2D view.
Now, if anything is animated, you can also activate motion blur. To do that, you go to the render node and, for example, with the ScanlineRender, go to the MultiSample tab and change samples to a higher number like 8. At that point, the motion blur will appear, as you can see right here. The higher the samples number, the higher the quality.
So, there is a brief introduction to Nuke’s 3D environment. Keep in mind that any node you need to create for this you can find through the 3D node menu. This includes all your shaders, geometry, lights, Scene nodes, and cameras. Aside from animating lights and geometry, you are also free to animate cameras. They have their own set of transforms. In any case, I would suggest exploring this component of Nuke.