Skip to main content
Version: 3.9.0

Dynamic Chain

The Dynamic Chain component allows you to add chain physics or realistic swinging and swaying motions to your scene objects. With Dynamic Chain, you can create a wide range of physical behaviors for your assets and make them come to life in your effect.

image-0
image-1
image-2

@ls.studio.file

@gameplus40

@arthurbfrd

Dynamic Chain is a simulation that allows you to create interconnected objects, where each object is affected by the movements of its neighbors. You can use Dynamic Chains to simulate ropes, chains, and other similar objects.

In the Demo Effect section, you will learn how to apply Dynamic Chain to hair and earring assets to achieve realistic movements.

dynamic_chain.zip

Using Basic 3D Geometry With Dynamic Chain

The simplest implementation of Dynamic Chains uses basic geometry.

       sphere cube chain

First add multiple 3D objects to your scene, and parent them to each other. Then space them out in your scene.

add objects menu
parented spheres

Click on the root parent, and add the Dynamic Chain component to it by clicking + Add component > 3D Physics > Dynamic Chain in the Inspector panel.

dynamic chain root component

Add a Head Tracker object and attach the Dynamic Chain component to the Head. Adjust the Dynamic Chain so that the spheres are aligned with the head.

Add a Dynamic Chain Component

In the Hierarchy panel, select the parent 3D object and locate its components in the Inspector panel. Click + Add component, go to 3D Physics, and then select Dynamic Chain.

note

A Dynamic Chain component only works on parented 3D objects. Make sure you have parented 3D objects available in the Hierarchy panel.

Properties

You can adjust the Dynamic Chain‘s properties in the Inspector panel to achieve different movements.

properties
PropertyDescription
PresetsThe presets are pre-determined values that can be used to quickly set up and modify the behavior of the chain. There are six presets available:
  • Loose: Simulates free-hanging motion, like that of a curtain or a piece of cloth, where there is very little resistance to movement.
  • Damped: Simulates a chain that is being slowed down by friction or air resistance, such as a pendulum or a rope swaying in the wind.
  • Springy: Simulates spring-like behavior, like that of a diving board or a trampoline.
  • Elastic: Simulates a rubber band, like a slingshot or a bungee cord.
  • Stiff: Simulates a chain that is rigid and does not easily bend or flex, such as a metal chain or a rope under tension.
  • Rigid: Simulates a chain that is fixed and does not move, such as a chain that is welded or bolted into place.
DampingThis property controls the extent to which a chain link resists or reduces oscillations or vibrations. It can be used to simulate friction, air resistance, or other forms of energy dissipation. A higher value of damping means that the chain link will resist or reduce oscillations or vibrations more effectively, resulting in a more stable chain. A lower value of damping means that the chain link will have less resistance to oscillations or vibrations, resulting in a more fluid and less stable chain.
ElasticityThis property controls the spring-like behavior of a chain link. When a force is applied to a chain link with elasticity, it will oscillate back and forth until it reaches a state of equilibrium. A higher value of elasticity means that the chain link will have a stronger spring-like behavior, resulting in a more bouncy and elastic chain. A lower value of elasticity means that the chain link will have a weaker spring-like behavior, resulting in a more rigid and less elastic chain.
StiffnessThis property controls the strength of the spring-like behavior of a chain link. A stiffer chain link will oscillate less under the same amount of force compared to a less stiff link. A higher value of stiffness means that the chain link will have a stronger spring-like behavior, resulting in a more rigid chain that oscillates less under the same amount of force compared to a less stiff link. A lower value of stiffness means that the chain link will have a weaker spring-like behavior, resulting in a more fluid chain that oscillates more under the same amount of force compared to a stiffer link.
InertiaThis is the property of an object that resists changes in its state of motion. In the context of a chain, it can affect how the chain behaves when a force is applied, particularly in regards to its oscillations. A higher value of inertia means that the chain link will resist changes in its state of motion more effectively, resulting in a more stable chain that takes longer to start or stop moving when a force is applied. A lower value of inertia means that the chain link will resist changes in its state of motion less effectively, resulting in a more fluid chain that starts or stops moving more quickly when a force is applied.
ForceA force is a push or pull that can cause a change in motion. In the context of a chain, a force can be applied to simulate the effects of gravity, collisions, or user inputs.
Is Local ForceThe boolean value determines whether the force applied to the chain is in local or world space. If true, the force will be applied in the local space of the chain, relative to its orientation and position. If false, the force will be applied in world space.
Is RelativeThe boolean value determines whether the chain link is relative or absolute. If true, the chain link will be positioned relative to another object or chain link in the scene. If false, the chain link will be positioned in absolute terms, with a fixed position and orientation in world space.
Relative ToThe Relative To property refers to the object or chain link that the selected chain link is positioned relative to, if the Is Relative property is set to true. This allows for the chain link to move and orient itself relative to the position and orientation of the specified object or chain link.
note

The transformations of non-root chain links cannot be changed during physics runtime. If you wish to make any changes to these properties, you must refresh the preview in the Preview panel for the changes to take effect.

Combining Dynamic Chains With Baked Animations

When working with Dynamic Chains, it’s common to incorporate pre-baked animations into your simulation. For example, if you have a character who is swinging a chain around, you might want the chain to respond realistically to the character’s movements. In this case, you can combine the dynamic chain with pre-baked animations to achieve the desired effect.

Here’s how you can combine the Dynamic Chain component with pre-baked animations:

  1. Import your pre-baked animations into the scene. You can do this by using a 3D animation software, such as Maya or Blender, to create the animations and then export them into any format that is compatible with Effect House.
note

When utilizing baked animations with Dynamic Chain, it is recommended to skin the model to the bone instead of parenting the model to the bone for optimal results.

  1. Add the Dynamic Chain to the root bone of the animation. This will be the starting point for your chain simulation.

  2. Animate the object in the scene, using the pre-baked animations. The Dynamic Chain will respond to the movements of the object, creating a realistic and dynamic simulation of the chain in response to the character’s movements.

  3. Fine-tune the properties of the Dynamic Chain, such as damping, elasticity, stiffness, and inertia, to achieve the desired behavior. You can also adjust the forces applied to the chain, such as gravity or collisions, to further refine the simulation.

Demo Effect: Hair and Accessories

One of the most common use cases for Dynamic Chain is for hair, earrings, and other accessories. Download the following file to obtain hair and earring assets that you can play with to achieve realistic physics.

dynamic chain demo

dynamic_chain.zip

The earrings are made from a series of basic objects that are parented together to make a chain. This example only uses one Dynamic Chain to create an earring.

earrings parented

Dynamic Chain allows multiple chains to be added to a single chain, which is very useful for chain physics that have different behaviors on a single chain, like hair.

To model realistic hair, the roots of the hair should be more rigid and grounded, while the ends should move more freely. In this case, you can take a single mesh, such as the hair mesh, and apply multiple Dynamic Chains to the bones on a single mesh to achieve a realistic hair simulation.

hair parented