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

Basic Tag Display Advanced Dynamics

Dynamics

The new IK dynamics have been developed to replace the previous Soft IK, which is no longer part of Cinema 4D. You can give your IK chains dynamic behavior so they can respond to forces such as gravity, collide with other objects, or spring automatically.

This is a great way to have your IKs interact with other objects, or to create behaviors such as flexible, dynamic chains (the spring effect that can be added to the tail of a character, for example).

Dynamics can be used with or without an IK Goal assigned to the Goal field in the Tag tab. The behavior will differ depending on which method you want to use. If a goal is used, for example, the Dynamic IK will still follow the Goal as closely as possible, giving you an extra point of manual control. If no goal is used, then the dynamics will control the chain completely.

Note that the object to which the IK tag is applied will not have dynamics - only the objects farther down in the hierarchy will.

Enable

Enables or disables the IK Dynamics.

Strength [0..+∞%]

Defines the strength of the dynamic effect. Higher values tend to make the dynamics respond faster and make the IK chain behave more stiffly when moved. Lower values will produce a more sluggish effect and make the IK chain appear much looser.

Of course, there is a direct correlation between this parameter and the Drag, Position Hold and Rotation Hold parameters. It does not control the speed and stiffness of the IK chain on its own.

Note:
Even though the maximum strength possible can be set very high, it is not recommended because your computer could lock up. For normal use, you shouldn't need to stray too much from the default maximum value.

Drag [0..100%]

Defines how much resistance the dynamics will encounter when the IK chain is moved. The higher the value, the more resistance. Imagine an IK chain moving through water: it would need a much higher Drag value than if it were moving through air to reflect this effect.

Keep in mind that this parameter can greatly dampen your dynamics, so try not to set this value too high. For anything that needs to spring back into place quickly (insect antennae, for example), it is better to have a very low Drag value.

Pos Hold [0..100%]

This parameter defines how much force is applied against the dynamics to keep the original position of all objects in the dynamic chain when the IK chain's position changes. Higher values will keep objects closer to their initial position, lower values will give more impact to the dynamics. Do not set too low of a value, as the IK chain will quickly lose its integrity.

Rot Hold [0..100%]

This parameter defines how much force is applied against the dynamics to keep the original rotations of all objects in the dynamic chain when the IK chain's rotations change. Higher values will keep objects closer to their initial rotation values, lower values will give more impact to the dynamics. Setting a low value can dampen the spring effect of the dynamics and will not maintain the shape of the initial IK chain too much. Higher values will tend to restore the IK chain to its initial shape.

For example, if Gravity is applied to the IK chain dynamics, setting a low Rot. Hold value will straighten the IK chain under the influence of gravity.

Collisions

This option enables collisions for the IK chain with other objects.

Note that only the IK chain is set to collide. Any custom shaped joints, or custom objects will not have collisions based on their mesh, which keeps overhead to a minimum. Only polygonal objects set as collider will collide fully with the IK chain. Parametric objects will only collide with the axis of each object of the IK chain.

Radius [-∞..+∞m]

Sets the distance around the IK chain at which it will start to collide with other objects. This is a useful parameter, for example to take into consideration the thickness of a character's leg.

Friction [0..100%]

Use this parameter to define how much the IK chain will slide over the surface of the objects with which it collides. Lower values will tend to make the IK chain slide more easily over an object, while a higher value will make the IK chain stick more to the surface. The effect can be easily seen if the Bounce parameter is set to 0.

Bounce [0..100%]

When objects collide they will collide in different ways. Some will repel each other after a collision, others will almost stick together. This parameter defines the degree of bounce the IK chain will have after colliding with another object. The higher the value, the more it will be repelled.

 Colliders

Objects

Drag & drop into this list any object(s) with which the IK chain should collide. If your Cinema 4D package includes Hair, you can also set a Hair collider on any object with which you want the IK chain to collide and it will be automatically detected without the need to drag them to this list.

Remember that polygonal objects work best.

 Curves

Position

The curve defines how the Pos. Hold parameter is applied to the IK chain. The left side of the curve represents the beginning of the chain, while the right side represents the end. Dragging the curve points toward the top of the graph will increase the impact of the Pos Hold parameter on the chain; lowering the curve will lower its impact (proportional to whatever value is set in the Pos Hold parameter). It gives you a bit more flexibility with regard to how the dynamics will shape the entire chain.

Rotation

The curve defines how the Rot. Hold parameter is applied to the IK chain. The left side of the curve represents the beginning of the chain, while the right side represents the end. Dragging the curve points toward the top of the graph will make the Rot Hold parameter have full impact, lowering the curve will lower its impact on the chain. This is a great way to define where the IK chain should be more loose. For example, making the start of the IK chain stiffer than the end of it.

 Forces

Gravity [-∞..+∞m]

Defines how much gravity should be applied to the IK chain. Alternatively, you can drag a Gravity object in the Forces list (don't forget to set Gravity to 0 here, though), if you wish to have a gravity that is not vertical.

Mode
Forces

Here you can define whether or not Forces should be included in or excluded from the Chain IK. This is useful for quickly excluding any Forces applied to the current chain so you can go back to your dynamics parameters unhindered.

 Advanced

Continuous Update

This option is enabled by default and displays the IK chain's dynamics when moving the chain in the Viewport. If this option is disabled, the IK chain's dynamics will not update automatically, and only the object with the IK tag will move interactively.

Note that to really see dynamics interactively in the Viewport, you should either play the animation back in the Viewport, or (preferably) activate the Redraw option found in the Character / Manager / Auto Redraw manager.

Steps [1..100]

This is the number of sub frames into which each frame of the animation will be divided and used to calculate dynamics. The higher the Steps value, the more precise the calculation will be. This can be especially helpful when calculating fast movement with collision detection.

Auto
Start
Stop

If this option is enabled, dynamics will be calculated over the entire length of the project (Edit / Project Settings). If you want to adjust this setting manually, simply disable Auto and enter a start and stop frame.