|On this page|
Rotoshape lets you draw and animate multiple curves and shapes. You can draw shapes freehand, select from a list of presets, or copy an existing shape. Each shape has its own color, feathering, closure (open, closed, hollow) and transform.
A rotoshape node can draw an unlimited number of shapes. By default, the node composites the shapes using Over, but you can choose a different operation. For example, you can use Subtract or XOR to cut holes in other shapes. The node composites shapes on black starting with shape 1.
This COP node is a generator.
The RotoShape state has two modes - Create mode and Edit mode. Initially RotoShape is in Create mode.
Create mode is where new shapes are added - either freehand drawn curves or preset shapes. Once the shape is created, press 'Done' in the toolbox or RMB Click in the viewport to finish the shape. To quit this state without creating a curve or shape, hit ⎋ Esc or press 'Cancel' in the toolbox.
From left to right, the UI controls for Create mode are:
Curve Type - Polygon or Bezier
Shape Type - Curve, Regular Polygon, Star or Circle
Parameters specific to the shape type:
Closure Type - Open, Closed or Hollow
Copy - Copies an existing shape.
Cancel - Exit create mode without creating the shape. ⎋ Esc
Done - Complete create mode and create the shape. N
Create a freehand curve
Create a preset shape
Copy an existing shape
Edit mode allows you to edit the shapes by using handles. In this mode, you can animate the shape. The parameters for the current shape are found in the toolbox. To add another shape, press 'New' in the toolbox or RMB Click in the viewport.
From left to right, the UI controls for Edit mode are:
New - Create a new curve or shape. N
Show Current/All Curves - Show the handles for only the current shape, or all the shapes.
Current Shape - Selects the current shape, if there is more than one. Only the current shape’s parameters are shown in the toolbox. If Show Current Shape is on, this also changes the handles visible in the viewport. B
Curve Type - Polygon or Bezier
Composite Operation - Selects the compositing operation used to draw the shape into the image. Normally only needed for the second and subsequent shapes.
Closure Type - Open, Closed or Hollow.
Thickness - Determines the global thickness of open and hollow shapes. Each point on the shape can thickened individually by using the MMB slider on the point.
Feather - Turns on feathering for the shape, and sets the minimum feather amount. Each point can be feathered individually by enabling the feather handle (W while over the point, or use the RMB menu on the Point and select 'Display Feather Handle').
Color - Pops up a color editor for the color and alpha of the shape.
Fill Inside/Outside - Inverts the filling of the shape.
Delete Current Curve - Deletes the current curve.
Edit Mode allows you to modify the shape of the curve as well as its parameters. To show the parameters of a given shape, change the 'Current Shape' menu to the shape of interest. If 'Show Current Shape' is enabled, this will also change which shape’s handles are displayed in the viewport.
Select a different shape to edit
You can show the handles of another shape two ways:
Use polygon handles
Use Bezier handles
Select shape points
Insert a point
⌃ Ctrl-click near the segment you want to insert the point on (it doesn’t have to be on the curve).
If you have more than shape, and have displayed all the shapes' handles, the shape with the curve edge closest to the point clicked will be the one to receive the new point. To ensure the point gets added to the correct shape, display only the current shape’s handles, and make the current shape the one you want to insert a point on.
Delete a point
Animate a shape’s points
Pressing K in the viewport to set a keyframe, just like animating other handles. However, the scope of the keyframe varies depending on the handles visible and selection:
Mouse pointer located over a handle
Only the handle under the point is keyframed.
All Shapes' Handles shown, no selection
Every shapes' points and transforms will be keyframed.
Current Shape’s Handles shown, no selection
The current shape will be keyframed, but none of the other shapes will be.
Only the selected handles will be keyframed. This includes transform handles, if they are selected.
To avoid keyframing the transform, temporarily turn the transform handle off by using the transform’s RMB menu turn off 'Display Handle'. To get the handle back, you’ll need to open the bar to the left of the viewport and toggle the transform icon for the shape.
Keyframe the transform anyway and use the RMB menu on the transform to 'Remove Keyframe' (make sure the handle isn’t selected).
Feather the edges of a shape
⌦ Del - Delete the last curve stroke.
⇧ Shift + ⌦ Del - Delete the last curve point.
N - Complete the curve or shape.
⎋ Esc - Cancel Create mode
N - Create a new curve or shape.
B - Toggle between display of the current shape’s handles and all shapes' handles.
⌦ Del - If over a point, delete that point.
W - If over a point, show the feather handle.
K - Set a keyframe for selected or visible handles.
⇧ Shift + K - Remove a keyframe for selected or visible handles.
Level of Detail
The level of detail when rendering smooth curve shapes. Higher values create smoother shapes. A LOD of 2 is normally adequate. Lower this value will speed up rendering slightly.
The level of antialiasing, both horizontally and vertically. This can vary from 1 to 8. Higher levels of antialiasing will produce more levels of gray on edges, but increase rendering time. The product of the horizontal and vertical antialias setting cannot exceed 64 (8×8).
Number of shapes
Use this to add or remove controls for additional shapes.
The primitive type of the created curve.
The composite operation used to add the shape to the image. The shapes are composited starting with shape #1, up to the last shape.
The closure type of the shape.
Useful for curves, this creates an open shape with a given thickness.
Creates a solidly filled, closed shape.
Creates a hollow shape with a closed curve of a given thickness.
For open and hollow shapes, this determines the global thickness of the curve. Each point can also further modify the thickness.
If on, feathering is enabled, providing a very soft edge for the shape.
How the feathering is interpolate across the edge of the shape.
Defines the dropoff when
Feather Dropoff is set to
The global feathering width. The shape will always have at least this much feathering.
The color and alpha of the shape. The shape is not pre-multiplied.
If on, the filling of the shape is inverted. For example, closed shapes will leave their interior unfilled and fill everywhere else.
The translate component of the shape’s transform,
which is applied first. It is expressed in UV units
(1 = X/Y res pixels).
The scale component of the shape’s transform, applied second.
The rotation of the shape.
The pivot of the shape’s transform, about which the scale and rotation occur. It is an offset from the translated position expressed in UV units.
This tab contains all the points in the current shape. Usually you will edit the points interactively rather than using these controls.
Number of points
You can use this to add or remove additional points.
The UV position of the point.
The slope position of the point, for bezier shapes. If the toggle is on, the slopes are tied.
The point thickness, which is multiplied by the global thickness. Only applicable for open or hollow shapes.
The point feather, which is added to the global feather. Only applicable when feathering a curve.
The mask parameters control the mask applied when a node is connected to the mask input. The Effect Amount parameter is always available, whether a mask is connected or not.
If no mask is present, this multiplies the output by a constant amount (0 = black, 1 = all output).
If a mask is present, this amount multiplies the mask.
A mask can be a component of a plane or an entire plane. If a vector plane is supplied as a mask, its components are multiplied by the images' components.
Scalar Mask ('A', 'C.r')
C.r = I.r * M C.g = I.g * M C.b = I.b * M
Vector Mask ('C')
C.r = I.r * M.r C.g = I.g * M.g C.b = I.b * M.b
Inverts the mask so that all fully 'masked' portions become unmasked. This saves you from inserting an Invert COP after the node with the mask.
Parameters relating to the structure of the image generated, including Resolution, Pixel Aspect Ratio and Raster Depth.
If off, the resolution of the image is defined by the resolution in the Composite Project settings. If on, any resolution can be specified.
Pixel Aspect Ratio
If off, the pixel aspect ratio of the image is defined by the pixel aspect ratio in the Composite Project settings. If on, any pixel aspect ratio can be specified.
The pixel aspect ratio determines the shape of the pixel; it represents the width of the pixel compared to the height. A pixel with an aspect ratio of '2' is twice as wide as it is high (2:1). Pixel aspect ratios less than 1 are taller than they are wide.
The image viewer attempts to show the image as it would appear by horizontally scaling the image by the pixel aspect ratio. This can result in slight artifacts for non-integer ratios (ie, 0.9:1, 1.442:1). Turn off 'Fast Pixel Aspect' in the Display Options to suppress these artifacts.
Many effect filters that have parameters that represent width and height will have the width scaled appropriately (such as Blur, Defocus, Expand).
Specifies the plane(s) to generate. Color and Alpha will always be present, but the generator does not always have to write to them.
The list of planes is all the ones Houdini recognizes as special. Other planes can be added with the 'Custom Planes' parameter.
C, A (C:rgb A)
Color and Alpha
C, A (C:rgb A:rgb)
Color and 3-channel Alpha
3-channel Alpha only
3-channel Mask plane
Z Depth plane
No planes generated.
When a generator is connected to an input, it generates a Mask plane by default. This parameter determines which planes are generated in this case. The list of planes to generate are the same as 'Image Planes'.
In addition, if the plane already exists in the input sequence, one of the following operations will be performed to combine the new plane.
Input plane replaced by the generated plane.
Generated plane renamed.
Input plane added to the generated plane.
Input plane photographically added to the generated plane.
Generated plane subtracted from the input plane.
Input plane multiplied by the generated plane.
Minimum pixel value of input and generated planes.
Maximum pixel value of input and generated planes.
Average pixel value of the input and generated planes.
This string parameter allows you to create your own plane formats. The syntax is:
All parts are optional except for
be 1 or greater (default 1).
comp4 are arbitrary strings
representing the component names.
format is either
white are integers
representing the black & white points for integer formats.
The byte format of the image. Higher bit depths provide better color resolution and range at the expense of memory.
8 Bit Integer
Lowest bit depth. Banding can occasionally be seen. Suitable for video.
16 Bit Integer
Intermediate bit depth. No banding can be seen, though clipping can still occur below and above the black and white points.
32 Bit Integer
Generally not used for color, 32bit integer values are used to store object IDs, counts, and other integer values with a large range.
16 Bit Floating Point
High bit depth. No banding can be seen, and no clipping occurs at white and black. Uses less memory than 32 bit float, however processing time for this format is slightly higher as it is not a native CPU data format. This format supports values in the range -65504 to +65504.
32 Bit Floating Point
High bit depth. No banding can be seen, and no clipping occurs at white and black. Uses 4× as much memory as 8bit, which is this format’s main drawback.
Use the raster depth specified in the Composite Project options.
The integer formats (8, 16 and 32 bit) can specify the raw values that the black and white points occur at. The white point must always be higher than the black point. The minimum and maximum values for the black and white points for each format are:
|8 bit||:||0 - 255|
|16 bit||:||0 - 65535|
|32 bit||:||0 - 2,147,483,647|
Floating point formats always have their black point at 0 and their white point at 1.
Controls the ability to generate images that are compatible with interlaced images.
If you are manipulating the generated output with a filter that uses neighboring pixels (like Blur or Expand), it is recommended that you do not use Black Interlaced, as the filter will use the black scanlines as well.
The second menu determines which scanlines are in which fields (odd,even)
Half Res Interlaced
The image is half the height of a normal frame, with the scanlines on every line.
The image is the same height as a normal frame, with the inactive scanlines filled with black.
The image is the same height as a normal frame, with the inactive scanlines filled with their active neighbor.
Odd-numbered scanline fields come before even-numbered scanline fields.
Even-numbered scanline fields come before odd-numbered scanline fields.
Odd Frames Only
Only odd-numbered scanline fields are produced.
Even Frames Only
Only even-numbered scanline fields are produced.
This tab contains parameters which deal with the timing and frame range of the generated sequence.
Override Global Range
If off, the global animation range is used as the frame range. If on, the frame range of the sequence can be specified in the following parameters.
A still image is time-invariant. It exists at every frame. If off, the Start Frame and Length are used to determine the frame range.
The starting frame of the sequence.
The length of the sequence (number of frames in the sequence).
If on, the frame rate of the sequence can be overridden.
For sequences with a frame range, this determines how to show frames before the start frame.
Cycle the sequence, always playing it forward.
Cycle the sequence, reversing the direction every cycle.
Hold the first frame indefinitely.
Hold N Frames
Hold the first frame for a certain number of frames; before that, show black frames.
The number of frames to hold the first frame for, if 'Hold N Frames' is selected.
For sequences with a frame range, this determines how to show frames after the last frame.
Cycle the sequence, always playing it forward.
Cycle the sequence, reversing the direction every cycle.
Hold the last frame indefinitely.
Hold N Frames
Hold the last frame for a certain number of frames; after that, show black frames.
The number of frames to hold the last frame for, if 'Hold N Frames' is selected.
Image to Add To
Merges the generated plane with the planes from this input.
Masks the operation, which restricts the generated output to the masked area (or to outside the masked area).
Start of sequence
End of sequence
Input sequence length
Sequence frame rate
Number of planes in sequence
Width and height of image
Image index (0 at start frame)
Image time (0 at start frame)
Current plane array index
Current plane index
Num of channels in current plane
Composite Project X resolution
Composite Project Y resolution
Composite Project pixel aspect ratio
Composite Project raster depth
Composite Project black point
Composite Project white point