Mode - Chain


Video recorded in older version.

Main change since then is that Chain simulation mode can now follow your existing animation, as in the gif example at the top of this page.

The Chains mode uses nHair simulation and tracks your controls to it. It is the first implemented simulation mode in BroDynamics and the most useful one so far. It allows to add secondary motion to any FK chain of controls, as long as they have matching axis orientation.

Technically it can also work with any objects which are not in direct chain-hierarchy, such as just unparented objects at the same level. In that case you can turn on Match Positions.

The Collision workflow is a bit more complicated here compared to Points. You can see it in the video.


Selection order is important for Chain mode!

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


It is sometimes a good idea to add some preroll to your simulation - adding 1-3 seconds before your actual animation starts may let it settle and avoid some snaps and bugs.

Skip First N Controls

Allows you to skip a number of first controls. Results will not be baked on these, and they will not be moved by the simulation. Recommended value is 1+

Skip First N Frames

Allows you to start simulation with frame other than the first. Recommended value is 1. 0 is not recommended.

Front Axis group

Here you define the front axis of simulation objects. The axis that 'looks' or is 'aimed' towards the child control. Incorrect front axis will break your simulation.

Up Axis group

Here you define the up axis of your simulation objects. You can play around with this attribute to get better results. It can't be the same as Front Axis, simulation result will be incorrect.

Aim Rotation

Animation rotation of objects. Most of the time this is what you want.

Match Positions

By default the simulation only matches objects by rotation, aiming them at the simulated hair's vertices. This will enable position matching, allowing you to use this tool even with free-floating objects, as well as support some compression and stretching.

Shift Distance

Used when simulating single object only, by selecting ROOT and Object. WIll create dummy locators during simulation, and offset them along Forward Axis. This controls how far it will offset. Watch the generated nHair during simulation to get the idea of how it works.

It basically controls the Amplitude or Radius of single object's movement.

Simulation properties

Simulation properties for nHair driving the chain of objects. You can refer to the nHair Dynamic Properties section of Maya documentation to see what these are for. Here I will give a bit simplified explanations of the most used attributes.

Unless stated otherwise examples are recorded with values of 0, 0.5, 1, in most cases with all other values set at default, with a few exceptions.

Keep in mind, that examples may not always be the best repesentation of an effect an attributes gives, as simulation highly depends on your existing animation. A lot of attributes influence each other to produce the final effect.


Determines the amount of attraction of current chain position to the start or goal position. This attribute controls the general stiffness of the chain.

Value of 0 will result in a free flowing chain, that almost does not try to match it's initial position. Value of 1 will result in completely stiff chain.

If you're animating something like a stiff antennae set this value to a higher value. If you're animating a dangling rope - use a low value.

Attraction Scale - Base \ Tip

Attraction Scale - Base and Tip values act as multipliers for Attraction. Values of 1 and 1, mean that your Attraction attribute value propagates uniformly over the whole chain. Meaning that it's the same at the base and the end of the chain.

If you want the base of the chain to stick to your animation, but the tip to float freely you can set Attraction Scale - Base to 1 and Attraction Scale - Tip to 0, for example. If you set Tip to 1 and Base to 0 - tip will be fixed and bottom\middle of the chain will be affected by the simulation.

Stiffness - Base \ Tip

Stiffness - Base and Tip determine the amount of stiffness at the start and the end of the chain respectively.

If you want your chain to feel stiff - set these values to 1 or above. If you want your chain to float freely - set these values to less than 1.


Determines how fast chain comes to rest. Lower value will allow it to wobble longer, higher values will make it come to rest faster. A value of 1 and above will make it look more like a delay motion, with no inertia.

If you want your chain to wobble longer - decrease this value.

Value range here is 0 to 10. (Examples recorded with values - 0, 1, 10)


This simulates friction with the air, in addition to helping to stabilize the simulation. When the Drag value is 1 the chain behaves as if it has no inertial motion or follow through and therefore moves as if it is in thick fluid. I find it useful for drag and delay animation.

Attraction Damp

Dampens attraction force, acting like air viscosity. It has similar effect to Damp, but it's a bit different. I find this value perfect way to control how long it takes for the chain to settle.

If you want it to wiggle for a while after stopping - use low values (0). If you want your chain to settle quickly or have no overlap wiggle at all - use high values (1).

Bend resistance

Fine-tuning value, leave at default for the most part. Controls the force that resists high angled bending of the chain. Only works with Collision mode.

Compression resistance

Like Bend resistance, but for compression. Only works with Collision mode.

Stretch resistance

Like Bend resistance, but for stretching. Only works with Collision mode.

Collide width offset

Works only if there is at least 1 collider specified under Tools - Colliders menu. Defines the thickness of the simulation hair. You can see the thickness during simulation, if you have "Hair Systems" set to visible under the Show menu of the viewport. Only works with Collision mode.


Mass of the chain. Only works with Collision mode.

Preserve Animation

If this option is ON simulation will follow your existing animation. In other words it will be attracted to your existing poses. This is a 2 steps process and it's slower. Use it to add overlap\lag effects to existing animation. For example you can roughly animate tail's motion, set base poses, bend it, and then run simulation with Preserve Animation ON to add some additional details to the animation. You will have to undo your simulation manually before running another simulation, otherwise it will be applied on top of your existing simulation.

If this option is OFF then simulation will use first frame of the animation as base pose for the whole simulation, and only follow parent's (first selected object) movement. This is a 1 step process and it's faster. Use this for simple things that don't change their general shape during animation, like antennaes, ears, etc. If you need to simulate with another settings you don't have to undo the simulation, as new simulation will overwrite the old one.

Use nucleus (Collision mode)

This setting is also described in nucleus nHair documentation. This is required for collisions to work, but it may alter the behaviour of nHair. It is recommended to only use it if you need collisions.

Defining Front Axis and Up Axis

To define an axis, first you must see it visually. There are two ways to do this.

Approach 1

Using the Move Tool in Object axis orientation mode

  1. Select your control
  2. Click and hold Ctrl+Shift+RMB
  3. Move it to the left and up, to select Object

Approach 2

Using the Display Axis:

  1. Select controls you want to see their axes for
  2. Go to Display - Transform Display - Local Rotation Axis (as in Maya 2016)

Using this approach you will see their axes without selecting the objects, as it is shown on the screenshot.

Now we need to figure out, which setting to use.

The Front Axis, is the axis, with which your controls are 'looking' on their children.

Now the Up axis. Basicaly any of the two other axes can be the "Up axis". It should not be the same as Front Axis.

Most of the time Up axis does not matter much, but if something is not simulating correctling you may try to use another axis.

Since version 2.0.8 UI will not alloiw you to select the same axis by adjusting Up Axis.