Editing Clips
As a node-based system, Nuke doesn’t have a timeline. Nevertheless, you can still perform editorial operations that you might associate with a timeline. You can slip clips (move them forward or backward in time), cut them, or splice them to other clips.
Offsetting and Slipping Clips
Offsetting a clip refers to moving the clip backwards or forwards in time. In Nuke, you can offset clips using the TimeOffset and TimeClip nodes.
Unlike TimeClip, the TimeOffset node can also be used with 3D nodes, for example, if you want to offset camera times.
To Offset a Clip Using the TimeOffset Node
1. | Click Time > TimeOffset to insert a TimeOffset node into your script. (Place it downstream from the element to which you want to offset.) |
2. | Attach a Viewer to this node, so you can see the effect of your changes. |
3. | In the TimeOffset properties panel, check reverse input if you want to invert the clip (make the last frame the first, and so on). |
4. | In the time offset (frames) field, type the number of frames by which you want to offset the clip. Enter a negative value to subtract frames from the head of the clip. Enter a positive value to add frames to the head of the clip. |
5. | Adjust the script length for the new output range. Select Edit > Project Settings, and enter frame range values that match the output range you specified. |
Note: It’s not mandatory that you adjust the script’s frame range after slipping the clip. If you don’t, the Viewer fills the empty frames at the tail of the clip by holding on the last frame.
Tip: If you are using 3D nodes, such as cards, spheres, or cubes, together with a TimeOffset node, you can view the object in just a specified frame range by setting the frame range control for the object, and attaching a Viewer node to the TimeOffset node. Be sure to set the timeline range to Input to view the offset.
Tip: Using TimeOffset, you can also offset clips directly in the Dope Sheet. See Animating Parameters for more information.
Slipping a clip refers to changing the content of the clip that is seen, but not the position or duration. In Nuke, you can slip clips using the TimeClip node.
Just like TimeOffset, the TimeClip node also lets you move clips forwards or backwards in time and reverse the order of frames in a clip. In addition to this basic functionality, you can set the frame range for the clip, set what happens to frames outside of this frame range, fade the clip to or from black, and set expressions to adjust the node’s behavior. Using TimeClip, you can also slip the clip directly in the DopeSheet, which can be handy if you prefer editing clips on a timeline.
To Slip a Clip Using the TimeClip Node
1. | Click Time > TimeClip to insert a TimeClip node into your script. Place it downstream from the element that you want to adjust. |
2. | Attach a Viewer to the TimeClip node to see the effect of your changes. |
3. | In the Fade In and Fade Out fields of the TimeClip properties panel, type the number of frames, if any, you want to fade to or from black. |
4. | Set the new frame range for your clip by entering the first and last frame numbers. |
5. | In the before dropdown menu, set how Nuke should treat the frames before the first frame in the range (examples refer to a 20-frame sequence with a first frame value of 5): |
• hold - the first frame in the sequence is held until the first frame is reached. Example: 1, 1, 1, 1, 1, 2, 3, 4, etc.
• loop - substitutes an equal number of frames, effectively creating a clip loop. Example: 17, 18, 19, 20, 1, 2, 3, 4, etc.
• bounce - substitutes a reversed equal number of frames, creating a clip bounce. Example: 5, 4, 3, 2, 1, 2, 3, 4, etc.
• black - frames are black until the first frame is reached.
6. | In the after dropdown menu, set how Nuke should treat the frames after the last frame (examples refer to a 20 frame sequence with a last frame value of 5): |
• hold - the last frame in the sequence is held until the end of the sequence is reached. Example: 16, 17, 18, 19, 20, 20, 20, 20, etc.
• loop - substitutes an equal number of frames, effectively creating a clip loop. Example: 16, 17, 18, 19, 20, 1, 2, 3, 4, etc.
• bounce - substitutes a reversed equal number of frames, creating a clip bounce. Example: 16, 17, 18, 19, 20, 19, 18, 17, etc.
• black - frames are black from last until the end of the sequence is reached.
7. | Use the frame dropdown to set the frame mode: |
• expression - Lets you enter an expression in the field on the right. The expression changes the relation between the current frame and the frame read in.
For example, if your clip begins from image.0500.rgb and you want to place this first frame at frame 1 rather than frame 500, you can use the expression frame+499. This way, 499 frames are added to the current frame to get the number of the frame that’s read in. At frame 1, image.0500.rgb is read in; at frame 2, image.0501.rgb is read in; and so on.
Another example of an expression is frame*2. This expression multiplies the current frame by two to get the number of the frame that’s read in. This way, only every other frame in the clip is used. At frame 1, image.0002.rgb is read in; at frame 2, image.0004.rgb is read in; at frame 3, image.0006.rgb is read in; and so on.
• start at - Lets you enter a start frame number in the field on the right. This specifies the frame where the first frame in the sequence is read in. In other words, all frames are offset so that the clip starts at the specified frame.
For example, if your sequence begins from image.0500.rgb and you enter 1 in the field, image0500.rgb is read in at frame 1. Similarly, if you enter 100 in the field, image0500.rgb is read in at frame 100.
• offset - Lets you enter a constant offset in the field on the right. This constant value is added to the current frame to get the number of the frame that’s read in.
For example, if your clip begins from image.0500.rgb and you want to place this first frame at frame 1 rather than frame 500, you can use 499 as the constant offset. This way, 499 is added to the current frame to get the frame that’s read in. At frame 1, image.0500.rgb is read in; at frame 2, image.0501 is read in, and so on.
You can also use negative values as the constant offset. For example, if you use the value -10, Nuke subtracts ten from the current frame to get the frame that’s read in. At frame 20, image.0010.rgb is read in; at frame 21, image.0011.rgb is read in; and so on.
8. | To reverse the clip within the specified frame range, check reverse. |
9. | While the original range fields don't actually affect the output of the node, they help make things clear in the Dope Sheet. Open the Dope Sheet and enter some values here and observe how they affect the TimeClip lines. |
10. | If necessary, adjust the script length for the new output range. Select Edit > Project Settings, and enter frame range values that match the output range you specified. |
Tip: Using TimeClip, you can also offset, trim, and slip clips directly in the Dope Sheet. See Animating Parameters for more information.
Cutting Clips
The FrameRange node allows you to set a frame range for a clip. This controls which frames a downstream AppendClip node uses from the input, which frames are displayed in the Viewer when the timeline range dropdown menu is set to Input, and which frames are sent to the flipbook.
To make an edit, first use this node to cut portions out of input sequences and then append the results together using the AppendClip node.
To Cut a Clip
1. | Click Time > FrameRange to insert a FrameRange node into your script. |
2. | Attach a Viewer to this node, so you can see the effect of your changes. |
3. | In the frame range fields, then enter the appropriate in and out point values. |
For example, if your original clip is 50 frames but you want to use only the last 25 frames in your composite, you would enter 25 as the In point and leave the Out point at 50.
4. | Adjust the script length for the new output range. Select Edit > Project Settings, and enter frame range values that match the output range you specified. |
Note: It’s not mandatory that you adjust the script’s frame range after cutting the clip.
Tip: Using FrameRange, you can also set the frame range for a clip directly in the Dope Sheet. See Animating Parameters for more information.
Splicing Clips
Splicing refers to joining clips head-to-tail, thus allowing action to flow from one shot to the next. When you splice clips, you have options for:
• Fading to or from black.
• Dissolving from the first to second clip.
• Slipping the combined clip in time.
To Splice Slips
1. | Click Time > AppendClip to insert an AppendClip node into your script. |
2. | Attach its 1 and 2 inputs to the clips you want to join. (The clip attached to input 1 precedes the one attached to input 2.) |
3. | Attach a Viewer to this node, so you can see the effect of your changes. |
4. | If necessary, expand the script length to accommodate the total length of the newly merged clip: |
• Click Edit > Project Settings. The project settings properties panel appears.
• Enter frame range values that matches the total length.
5. | In the Fade In and Fade Out fields of the AppendClip properties panel, type the number of frames, if any, you want to fade to or from black. |
For example, typing a 5 in the Fade In field would result in the following effect at the head of the merged clip.
(The inverse of this effect would occur at the tail of the merged clip were you type 5 in the Fade Out field.)
6. | In the Cross Dissolve field, type the number of frames, if any, of overlap you want between the first and second clip. |
For example, leaving Cross Dissolve at the default of 0 creates a simple cut - the transition from the first to second clip is instantaneous. Typing in a 5 creates a time span of five frames in which the first clip’s gain ramps downward to zero, while the second’s ramps upward to 100%.
|
Dissolve. |
|
Cut. |
7. | In the First Frame field, type the number of frames, if any, by which you want to slip the clip. Enter a negative value to subtract frames from the head of the merged clip. Enter a positive value to add frames to the head of the clip. |
8. | Slipping the merged clips may create empty black frames at its head or tail. As appropriate, select First frame or Last frame if you want these empty frames to appear as copies of the first or last frame. |
Freeze Framing Clips
Using the FrameHold node, you can set the output of a clip to a particular frame or frame interval, rather than the entire clip.
To Output a Freeze Frame
1. | Click Time > FrameHold to insert a FrameHold node into your script. |
2. | Attach its input to the clip you want to affect. |
3. | Attach a Viewer to the FrameHold node, so you can see the effect of your changes. |
4. | Enter the first frame number to freeze as the output of the FrameHold node. |
Note: The first frame control defaults to 0, setting the freeze frame as the first frame of the clip, regardless of the actual frame number.
To Output a Frame Interval
1. | Click Time > FrameHold to insert a FrameHold node into your script. |
2. | Attach its input to the clip you want to affect. |
3. | Attach a Viewer to the FrameHold node, so you can see the effect of your changes. |
4. | Enter the increment frames to skip at output. For example, with a first frame of 1 and an increment value of 5, the frames passed down the node tree would be 1, 6, 11, 16, etc. |