Basic usage \ Start here¶
Here's what it takes to add some basic secondary\overlapping\spring motion to a few objects:
- Open UI from Maya top menu bar -
BroTools - BroDynamics - Open
. - Select one of three simulation modes: Points (nParticles with Springly Goal), Chains (nHair), RBD (Bullet). More about simulation modes below.
- Select objects you wish to animate. From first to last. Selection order is important for Chains mode.
- Set parameters in UI. See hints provided at the bottom of the UI, when you roll-over something.
- Click “Simulate”.
For help on settings – roll over any settings and it will give you a hint about what it affects.
Also check the BroDynamics Interface chapter of this help to get the idea of how the UI works.
Modes overview and step-by-step guides¶
Now let's discuss a bit more step-by-step examples. This is where you should start on the modes.
All modes are designed to work with any kind of rig. So in most cases it does not matter if you use parenting, constraints, or some complex setup. As long as objects can be rotated\moved by an animator and keyframed by hand - it should work fine with BroDynamics, as it does not interfere with existing rigs, but instead it creates a completely separate dynamics rig and then, frame by frame, it aligns your controls to that simulation rig.
To switch between modes you should switch Tabs.
( Planned update for 2.1 is to replace it with a dropdown menu to better match Maya's own UI logic )
( It is recommended to turn auto-key off during simulation, it may affect simluation performance and undo performance, though it should not cause any errors )
Point¶
The easiest simulation mode is Point mode. It's designed to work only with translations of objects, and it's your basic Spring. If you ever worked with 3ds Max - this is the closest thing to how Spring Constraint works. It is, basically, an nParticle with Spring Constraint.
This mode also simulates inertia, so it can be used to simluate both overlap and overshoot.
Simulation with this mode is simple.
- Switch animation mode to "Point" if not already switched
- Select an object or a few, those you want to add simulated motion to. They can be following some other object. Or they can have their own animation. For example - it will work even with a single animated cube in the scene.
- Adjust your settings or leave them at defaults.
- Click Simulate!
This mode is best suited for:
- Objects that follow other objects with drag and delay
- Cameras
- In combination with Aim Constraint based rigs this can be used to add some dynamics to those
- Collision detection for controls. For example you can add a joint to the front of character's belly, and use Point simulation with high Weight value and no drag to simulate belly pressing against the glass.
Simple Chain¶
Simple chain simulation mode uses fake simulation calculation to simulate overlap, drag, delay. It does not take inertia into account, and it is not a "true" spring simulation, thus it cannot create overshoot, only overlap. But it is very predictable and reliable, and easy to control. It also has support for cycled animation loops, simple wind and turbulence, and simple capsule based collisions and better twist support. It's ideal for creating animations for game dev, as most of them are looped.
Here's how you can use it:
- Switch animation mode to "Simple Chain" if not already switched
-
Select chain of objects you want to add simulated motion to. It's important to select them in order from base to the tip, from start to end of the chain. As with most other tools in Maya - selection order is important. Selection order is used by BroDynamics to understand order of objects. And you need to select at least 2 objects, but recommended number is 3+.
-
Adjust settings or leave them as default.
-
Click Simulate!
This mode is best suited for:
- Cycled animation loops
- Simple overlaps
- Tails
- Ears
- Antennas
- Tentacles without collision
- Characters' arms, legs, spines to add some overlap to
Chain¶
The main and more advanced simulation mode is Chain mode. It is designed to work best with uniform chains of objects, like tails, tentacles, antennaes. But it can work with any FK chain.
Unlike Simple Chain - this mode also simulates inertia, so it can be used to simluate both overlap and overshoot, as you can see in the example below.
Chain is generally simulated faster than Simple Chain, because it is using Maya's highly optimized Nucleus simulation engine.
Currently multiple Chains can't collide with each other, but this may be improved in future versions.
This mode is best suited for:
- Non cycled animations
- Tails
- Ears
- Antennas
- Tentacles
- Characters' arms, legs, spines to add some overlap, overshoot and springiness to
- Self-colliding objects
So, let's say you have a chain of objects, you have some simple animation on them and want to add some secondary motion to it.
Here's what you should do:
- Switch animation mode to "Chain" if not already switched
-
Select chain of objects you want to add simulated motion to. It's important to select them in order from base to the tip, from start to end of the chain. As with most other tools in Maya - selection order is important. Selection order is used by BroDynamics to understand order of objects. And you need to select at least 2 objects, but recommended number is 3+.
-
Adjust settings or leave them as default.
-
Click Simulate!
If you don't like the result - press Ctrl+Z once or twice to roll the simulation back, adjust settings and try again! Rince and repeat.
Once happy with the simulation you can save settings preset.
RBD¶
Probably the most complicated mode is RBD mode. Initially it was designed to animate characters throwing and dropping things, but with more advanced setups it can even be used to simulate more complicated things, including full character ragdolls.
RBD (Rigid Body Dynamics) uses Bullet physics to simulate objects. Or rather it's a set of tools that allow you to setup simulations using Bullet in a faster and easier way, as well as tools that allow you to easily transfer this animation between objects.
This is a more advanced simulation mode, and currently it requires some understanding of how Maya's Bullet integration works.
This most is best suited for:
- Dropping and throwing objects
- Ragdolls
This mode's Track and Snap tools can also be used outside of RBD to transfer animations and poses between different objects.
Documentation WIP
Now you can check more detailed mode descriptions:
About simulation examples
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.
Animation Layers¶
BroDynamics will bake simulation to currently selected animation layer, because under the hood it merely issues move
and set keyframe
commands on animated objects, mimicking what you would do as an animator. This means that it will respect most things Maya does, including setting keyframes to currently selected animation layer.
Using animation layers may be very helpful with simulations, in fact it is recommended to run simulations on a separate animation layer. This allows you to preserve your original animation, and run iterations faster, as undo procedure often takes more time than selecting all keyframes on an animation layer and removing them, or even re-creating animation layer.
You can also adjust weight on animation layers, turning simulation on and off, or controlling it's strength.
To simulate on animation layer:
- Select your controls
- Go to Maya's animation layers menu
- Click the "Create a new layer and assign selected objects" button (rightmost button with a circle)
- Click "Simulate" button in BroDynamics