Skip to content

Mode - Chain

The Chain mode utilizes a custom physics engine to provide advanced and flexible chain simulations. It allows for detailed control over various aspects of the chain's dynamic behavior, enabling the creation of realistic and nuanced secondary motion.

It's best suited for simulating tails, antennas, tentacles, chains, ropes, hair and similar, however it can also be used on spines, heads, arms, legs to give some physics and life to various kinds of objects that need to be connected to each other.

Technically, this mode simulates the chain as a series of interconnected particles, each reacting to forces and constraints defined by the attributes below.

Screenshot

Selection order is important!

You need to select objects in the correct order, starting from the root of your chain and progressing to the tip. "Select Hierarchy" may not work reliably with complex rigs.

Preroll is recommended

Adding a short preroll (1-3 seconds) before your main animation can help the simulation settle and prevent initial jarring movements or artifacts.


Simulation Properties

Chain simulation mode offers a range of properties to fine-tune the behavior of your chain. These properties can be adjusted to achieve a wide variety of effects, from subtle secondary motion to more exaggerated movements.

Example GIFs

Examples for how each attribute affects the chain are coming in the future.

Attraction

These properties control the forces that pull the particles in the chain towards their target positions, influencing the overall stiffness and responsiveness of the simulation.

Attraction Strength

Controls the strength of attraction forces between particles.

Determines how strongly particles are pulled toward their target positions in the chain. Target positions are determined by your original animation.

Examples: 0 (no attraction), 0.5 (medium), 1 (maximum)

Attraction Strength Curve

Defines how attraction strength varies over chain length.

X-axis represents position along chain (0=root, 1=tip). Y-axis represents multiplier applied to attraction strength.

Lower values at chain tips create more natural secondary motion.

Damping

Damping properties control how quickly the chain's motion settles down, influencing the amount of wobble and overshoot.

Damping Mode

Selects the algorithm used for damping calculations.

  • Fixed - Damping remains constant regardless of particle velocity.
  • Linear - Damping increases proportionally with particle velocity.
  • Quadratic - Damping increases with the square of particle velocity, creating stronger resistance at high speeds.

Linear Damping

Controls the amount of velocity reduction applied to particles.

Higher values make the chain movement more sluggish and settled.

Examples: 0 (no damping, bouncy), 0.1 (slight damping), 0.5 (medium), 1 (heavy damping, minimal momentum)

Linear Damping Curve

Defines how linear damping varies over chain length.

X-axis represents position along chain (0=root, 1=tip). Y-axis represents multiplier applied to linear damping.

Adjust to create different movement characteristics along the chain.

Drag

Drag simulates the resistance of the surrounding medium (like air) on the chain's movement.

It's the difference between a particle or a chain of particles, in this case, moving through air, water or honey-like fluid.

Drag Force

Simulates air resistance affecting the chain.

Controls how much the surrounding medium (air) slows down particle movement.

Higher values create more resistance to motion, as if moving through a thicker medium. Example density value for air: 1.225

Drag Force Curve

Defines how drag force varies over chain length.

X-axis represents position along chain (0=root, 1=tip). Y-axis represents multiplier applied to drag force.

Adjust to create different movement characteristics along the chain.

Twist

These properties affect the rotational behavior of the chain around its own axis.

Preserve Twist

Controls how much twist rotation from original animation is preserved in particle movement.

Examples: 0 (no preservation, independent rotation), 0.5 (partial preservation), 1 (full preservation, twist follows original animation in full)

Preserve Twist Curve

Defines how twist preservation varies over chain length.

X-axis represents position along chain (0=root, 1=tip). Y-axis represents multiplier applied to twist preservation.

Use to control how twist motion propagates through different parts of the chain.

Twist Drag

Controls resistance to twisting movements.

Higher values make the chain slower to rotate around its own axis.

Examples: 0 (no drag, free rotation), 1 (moderate resistance), 5 (high resistance, slow rotation)

Twist Drag Curve

Defines how twist drag varies over chain length.

X-axis represents position along chain (0=root, 1=tip). Y-axis represents multiplier applied to twist drag.

Customize to create different rotational behaviors along the chain.

Aim

These properties control how the particles in the chain orient themselves.

Aim Drag

Controls resistance when particles change aim direction.

Affects how quickly particles can reorient when targeting a new direction.

Examples: 0 (instant aiming), 1 (slight delay), 5 (significant resistance, slow reorientation)

Aim Drag Curve

Defines how aim drag varies over chain length.

X-axis represents position along chain (0=root, 1=tip). Y-axis represents multiplier applied to aim drag.

Adjust to create different aiming behaviors throughout the chain.

Physical Properties

These properties define the physical characteristics of the particles in the chain.

Radius

Defines the effective radius of particles in the simulation.

Affects collision detection. Matches Maya's sphere scale radius (you can make a sphere to visualize the radius).

Radius Curve

Defines how particle radius varies over chain length.

X-axis represents position along chain (0=root, 1=tip). Y-axis represents multiplier applied to radius.

Useful for tapering chains or creating varying thickness effects.

Mass

Defines the mass of particles, affecting their response to forces.

Heavier particles resist movement more, have greater momentum and are harder to push by other objects, and push lighter objects and particles harder.

Mass Curve

Defines how particle mass varies over chain length.

X-axis represents position along chain (0=root, 1=tip). Y-axis represents multiplier applied to mass.

Adjust to create varied dynamic behaviors along the chain.

Gravity

Controls the amount of gravity applied to particles.

Positive values pull downward, negative values push upward.

Examples: 0 (no gravity), 9.8 (Earth gravity), -9.8 (anti-gravity)

Smoothing

These properties help to smooth out the final animation curves.

Smoothing (Filter)

Controls the amount of smoothing applied to final simulation curves. Helps keep animation smooth at the cost of precision.

Euler Filter

When enabled will apply Euler Filter to final simulation curves.

Most of the time this setting should be enabled, however it might be causing unexpected issues with some rigs.

Matching

These properties control how the simulated particles are matched to the original animation.

Match Positions

When enabled, particle positions will be matched to target positions.

Match Rotations

When enabled, particle rotations will be matched to target rotations.

Collisions

This property controls how particles in the chain interact with each other. For interactions with external objects, refer to the general Collision settings in BroDynamics.

Ignore Collisions Between Particles

When enabled, particles in the chain will not collide with each other.

Prevents self-collision, allowing particles to pass through each other. Enable for more realistic behavior at the cost of performance.

This does not affect collisions with Collider objects.

Base

This property controls the behavior of the root of the chain.

Fixed Base

When enabled, the base of the particle chain remains fixed to the original animation (equal to attractionStrength 1 and damping 1).

Anchors the root of the chain to the original animation, while allowing the rest of the chain to react to physics.

Tools

Tools section provides some extra tools for working with this simulation mode.

Colliders

Add any mesh object as a collider to the simulation. Simulated objects will collide with the provided mesh.

Collisions are calculated with the mesh directly, and it's shape is updated from Maya every frame. Which means that collisions support deformable objects, however it also means that higher density meshes will slow down the simulation.

To speed things up you can create low poly poly meshes to use as colliders. These can be skinned, deformed or shrinkWrapped to the original mesh if needed.