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.
@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.
Using Basic 3D Geometry With Dynamic Chain
The simplest implementation of Dynamic Chains uses basic geometry.
First add multiple 3D objects to your scene, and parent them to each other. Then space them out in your scene.
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.
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.
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.
Property | Description |
---|---|
Presets | The 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:
|
Damping | This 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. |
Elasticity | This 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. |
Stiffness | This 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. |
Inertia | This 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. |
Force | A 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 Force | The 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 Relative | The 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 To | The 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. |
Physics Animation | Enables overlay of physical and animation effects |
Physics Animation Rate | Controls the amount of overlay of physical and animation effects |
Animate Physics | Controls simultaneous physical and animation effects |
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:
- 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.
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.
Add the Dynamic Chain to the root bone of the animation. This will be the starting point for your chain simulation.
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.
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.
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.
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.