Cinema 4D Cinema 4D Prime Character Menu Character Tags Constraint
Function available in CINEMA 4D Prime, Visualize, Broadcast, Studio & BodyPaint 3D
Constraint

Basic PSR Aim Up-Vector Parent Clamp Spring Mirror

Parent

This constraint makes the object behave as if the target were its parent. If you change the target's coordinates, the object will behave as if it were a child of the target in the Object Manager.

This Constraint is well suited for the creation of production or assembly line animations in which an object is passed on to another location:

By defining rotating robot arms as targets (with animated weighting) for the Parent object Constraint, the object will be passed as a quasi Child object from one arm to the next. This function is also know as "space switching" or "dynamic parenting".

In Cinema 4D R18, constraints have been improved for Parent objects. The workflow has been optimized and several less desirable aspects have been removed (e.g., you can not easily jump back-and-forth in the Timeline). This is particularly relevant for animated Constraint tags that are assigned to a Child object. In previous releases, this would produce faulty results. This is no longer the case if the procedure described below is followed.

Let’s assume that several robot arms were created that have to take a sphere and pass it on to the next arm. The Constraint tag is assigned to a sphere:

Done. Keyframes have be set for all necessary weighting and coordinates.

The final scene can be opened here:


Note that even though the sphere moves with the robot arms via the Constraint tag, it can still be animated in a normal fashion relative to this movement.

A few more tips for working with Child object constraints:

Strength [-∞..+∞%]

Defines the overall strength of the constraint's influence on the object taking all targets in the Targets group into account.

Use Frozen

If enabled (recommended), the Freeze Transformations coordinates of the constrained object (when it is affected by a target) will be used instead of the local coordinates, allowing you to keep clean local coordinates (Coord tab) for keyframing or to set up Expressions.

When the target is moved, the frozen coordinates (in the respective constrained object’s Coord tab) will change accordingly. If this option is disabled, the object coordinates would change accordingly. Modifying this option at a later point will result in faulty animations. Only change this option’s state at the start of the Child object animation - if at all.

Note also, when baking the constrained object that only the "normal" coordinates can be baked (this option should be disabled before baking).

Auto Reset (Legacy)

Tip:
This option is only available for reasons of compatability.

Will record internally and automatically the object's initial state, to which it can be returned. Disabling this option can cause your object to lose its initial orientation, position and scale if a frame is skipped or if you scrub the animation backward. It can be deactivated if you wish to work the old way, by recording keyframes before any parent switch.

Note that changing the object's initial state when this option is enabled can only be done at frame 0. Any other frame will not take into account the changes.

Interactive Transform

If the Use Frozen option is disabled, the constrained object cannot be moved in the Viewport. This is where Interactive Transform comes into play, which, if enabled, lets you move the constrained object. The Local Offset coordinates will be adjusted accordingly.

 Offset

In this group you can enter an offset to the coordinates defined by the Child Object.

Maintain Original

Deactivate this option if you want to move, scale or rotate an object freely using the Constraint tag. If this option is active, the object will be bound to its Parent Object(with regard to the editable offset values).

P [XYZ m]
S [XYZ ]
R [HPB °]

Use these values to define the amount of offset an object should have to the coordinates of its Parent Object. The Maintain Original option must be active.

 Targets

Here you can add targets that should act as the object's parent.

Add

Adds a new target including all appropriate settings.

Remove

Deletes the last target you added.

P
S
R

Here you can control whether the target affects position, scale, rotation or any combination of the three.

Weight [-∞..+∞%]

Controls the strength of the target's influence. This parameter is only available if two or more targets are defined. This is because if only one target is defined, its strength is controlled by the Weight value at the top of the tab. If more than one target is defined, lowering this value means the other targets will have more influence.

This setting is primarily used to switch Child objects via (rapid) animation between 0% and 100%. The active object has 100% and all others 0%.

 Local Offset

P [XYZ m]
S [XYZ ]
R [HPB °]
Order

These local coordinates define the offset to the target object. This offset is defined here when a target has been defined. These local coordinates will automatically be assigned keyframes (normally you will not have to take any action yourself) if you Ctrl/Cmd+click on a target in the Update Local Offsets drop-down menu, as described above.

More information about the various coordinates:

Generally speaking, you can work in either frozen (Use Frozen option enabled) or relative (Use Frozen option disabled) mode. Frozen coordinates can be seen as a virtual, superordinate Null object.

This might sound somewhat complicated, which is why we added the buttons at the bottom of the menu. Simply follow the procedure described above and ignore the various coordinates for the most part.

These settings are, by the way, only accessible/visible if the Auto Reset (Legacy) option is disabled.

Target

Drag & drop the object you want to use as the target into this field.

Update Local Offsets

This drop-down menu contains the following options:

Record Optimized

This drop-down menu offers two options:

Note that Record Optimized will automatically be used if you Ctrl/Cmd+click on the Update Local Offsets button.