Transformation Limit Node

The Transformation Limit node can be used as an intermediary between two nodes to limit the effect of the parent peg's transformations onto the child, by applying a ration to the transformations applied to the parent before applying them to the child. This ratio can be set for each coordinate in the node's properties and can be animated.

NOTE This node is designed to limit 2D and 3D translations, but not 3D rotations or scaling.

Connection

The Transformation Limit node must be connected to its parent peg by its right input port, and must be connected to the peg or element it will apply the transformation to via its output port. Transformations applied by the parent peg will be recalculated by the Transformation Limit node, then applied on its child.

The transformations that are processed by the Transform Limit node are not the ones of its immediate parent, but rather, the ones of the entire hierarchy of parents it is connected to combined. If you need the Transformation-Limit node to only process the transformations of one or some of its parents and ignore the parents past a certain point in the hierarchy, simply connect the first parent the Transformation-Limit node should ignore to its middle input port.

The effect of the Transformation Limit node on the transformation can be tempered by lowering its Active parameter. The Transformation Limit node can also be connected to a Constraint Switch node, the Active parameter of which will be multiplied with the Active parameter of the Transformation limit node, and hence can also be used to temper its effect on its child.

Controls

Because the Transformation Limit node can significantly influence the position of its child element relative to its peg pivot, the Transformation Limit has its own pivot point. The position of this pivot can be set in its layer properties, but can also be set visually by displaying its control in the Camera view and dragging it to the desired position using the Transform tool.

Properties

Parameter Description
Active

The percentage of influence the Transformation Limit node has on the transformation before it applies it to the child. For example, if its Translate X parameter is set to 50, and its Active parameter is set to 50, the effective Translate X limit will be 75.

Switch Effects

Defines which coordinate limits the Active parameter affects. If set to Active value, it will affect the limits for all coordinates. If set to XYZ Translation, Scale, Rotation, Scale/Skew or Skew, it will affect the limit on the corresponding coordinates. If the Transformation-Limit node is connected to a Constraint Switch, this parameter will also dictate the effect of the switch.

Translate X The percentage of the parent's horizontal translation to apply to the child.
Translate Y The percentage of the parent's vertical translation to apply to the child.
Translate Z The percentage of the parent's translation on the Z axis to apply to the child.
Rotate The percentage of the parent's rotation to apply to the child.
Skew The percentage of the parent's skew to apply to the child.
Scale X The percentage of the parent's horizontal scale to apply to the child.
Scale Y The percentage of the parent's vertical scale to apply to the child.
Allow Flipping If disabled, the child element will not be flipped when one of the parent's scale transformations is negative.
Uniform Scale Averages the horizontal and vertical scale factors to preserve the proportions of the child.
Ignore Parents

If this property is set to any value but 0, the Transformation Limit node will go up its own hierarchy up to the value of this property, and consider the node at this level to be the "Ignored parent". The transformations applied by this parent and all its parents will not be affected by the Transform Limit.

NOTE This has the same effect as connecting one of the node's parents to its middle port.
Parent’s Name

If the Ignore Parents property is set to any value but 0, this property will also be used in determining which parent to consider as the "Ignored parent". When looking up the parent hierarchy of the Transformation Limit node, if it finds any node with a matching name, it will consider it the "Ignored parent", and the transformations applied by this parent and all its parents will not be taken in account for the spring effect.

NOTE When both the Ignore Parents and the Parent's Name parameters are set, the "Ignored parent" will be the first node in the node's parent hierarchy that either matches the name of the Parent's Name parameter or the parent level in the Ignore Parents parameter.
TIP This parameter only works if the Ignore Parents parameter is set to any value but 0. If you want the ignored parent to only be matched by its name and not its level in the hierarchy, you can set the Ignore Parents parameter to an improbably high number (ie: 100 or 1000), and set the Parent's Name to the name of the parent to ignore.
Flatten Type

Affects how the translations are applied in the 3D space.

  • Allow 3D Translate: The parent's translation on the Z-axis will be affected by the Translate Z parameter, then applied to the Z axis position of the child, as with other parameters. This is the default behavior.
  • Project 3D Translate to Plane: The parent's translation on the Z-axis will be projected on the X and Y translations based on the position of the camera. This gives the illusion that the apparent position of the element from the point of view of the camera changes realistically depending on its position on the Z-axis, but without actually moving it on the Z-axis and hence without changing its order relative to other elements.
  • Project and Scale 3D Translate to Plane: The parent's translation on the Z-axis will be projected on the X and Y translations and on the X and Y scales, based on the position of the camera. This gives the illusion that the apparent position and size of the element from the point of view of the camera changes realistically depending on its position on the Z-axis, but without actually moving it on the Z-axis and hence without changing its order relative to other elements.
Skew Type

Affects how Skew of the parent is applied to the child.

  • Skew Applied as Rotation: Adds the value of the skew calculated by the Transformation Limit node to the rotation applied to the child.
  • Skew Ignored by Rotation: Processes the skew and rotation coordinates separately. Because the effect of these parameters is intertwined, this may wield unexpected results, but which may be preferable when transformations are fine tuned and manually calculated.
  • Skew Optimized for Rotation: Processes the skew and rotation coordinates together before applying them to the child element. The result will look more like what the human eye would guess the element would look like with a limit applied to its rotation and skew.
Control Position

The following parameters affect the pivot point used to apply the transformations calculated by the Transformation Limit node.

2D Path: The horizontal and vertical position of the pivot point are stored in a single function of control points. This makes the trajectory curvilinear and the pace of the movement set to a velocity function.

Separate: The horizontal and vertical position of the pivot point are stored in separate functions of coordinates. This makes a trajectory where each point is joined by a straight line and each coordinate can have its own curve.

Path: If the 2D Path option is selected, this allows you to create or link to a 2D Path function.

(x) Axis: The position of the pivot point on the horizontal axis.

(y) Axis: The position of the pivot point on the vertical axis.