Transform Constraint

The Transform Constraint allows its owner to copy all the transformation properties from a target object, regardless of their hierarchical relationships. These properties include Position, Rotation, and Scale.

To add a Transform Constraint, select an object and use the plus icon in the Constraints section of the Inspector.

Transform Source

Set a Transform Source for your constraint. All of this source's transformation properties (Position, Rotation, and Scale) will be applied to the owner of the Transform Constraint.

Strength

The Strength property allows you to choose how much of the source's transformation properties should affect your object's original transformation properties.

A Strength of 1 will make all your object's properties match exactly the properties of the source object.

A Strength of 0 will effectively turn off this constraint's effect, leaving your object with its original Position, Rotation, and Scale values.

Any Strength in between 0 and 1 will modulate between the object's original properties and the source's properties.

Transform Space

Source Space

Choose whether this constraint should use World or Local coordinates for the Source Space.

Destination Space

Choose whether this constraint should use World or Local coordinates for the Destination Space.

Mechanical Arm Example

Consider the package resting on the table and the mechanical arm below.

Say you want the arm to pick up the package. You could move the package manually and key its position and rotation properties to align correctly with the arm when it moves. That would work, but it would be very tedious. You'd be creating duplicate keys for every arm movement, and it would be impossible to make that work at runtime in your app or game (e.g. if you want the player to dynamically move the arm).

Instead, you can add a Transform Constraint to the package and a node to act as the Transform Source at the end of the arm.

Note that this target node is a child of the arm hierarchy, so it moves with the arm. This will be our Transform Source for the arm.

Our target node moves with the arm. This will be our Transform Source for the constraint.

Now if we set a Strength of 1, all the transform properties of the package will match the target node. Notice how the package moves and rotates correctly with the movement of the arm.

The package now moves and rotates with the arm.

And if we want to make the arm drop the package, we just have to set the Strength to 0.

‚Äč