To make an item dynamic, you need to tag it with one of the dynamic item types. Each type determines how the body behaves when moving or colliding with other objects. For example, a Soft Body bends and deforms similar to cloth, whereas a Rigid Body doesn't deform or break. The different types of dynamic item are described in Dynamic Item Types.
Dynamics are created in the Setup layout.
1. | Select the Setup layout and go into Items mode. |
2. | Select the item. |
3. | Click the Dynamics sub-tab of the Commands panel on the left. |
This opens the Dynamics toolbox.
4. | Select the type of dynamic item that you want to apply. |
This tags the selected item with the dynamic item type.
For example, to apply soft, cloth-like dynamics, select Soft Body.
To stop an object having dynamic properties:
1. | In Items mode, select the item. |
2. | Select Dynamics > Remove Dynamics. |
OR
Hold Shift, you'll see that most of the dynamic item buttons change to Remove Dynamics.
Click any of the Remove Dynamics buttons.
To temporarily disable an item's dynamics, uncheck Enable at the top of the Dynamic tab in the Item Properties panel.
A dynamic item has an additional property tab called Dynamic, in the Item Properties panel. The Dynamic tab contains the settings for the dynamics simulation.
You can modify the settings to change the behavior of the dynamic item during movement and collision.
When a dynamic item is selected, the following attributes appear in the Properties panel.
General Properties |
|
---|---|
Enable |
Toggles dynamics on and off for the item. When enabled, Modo applies dynamics to the item when a simulation is run or cached. When disabled, the dynamic properties are ignored. |
Type |
Dynamic items can be defined as one of three types: • Rigid: The item is treated as a solid object with a fixed, unchanging volume. • Softbody: A soft body deforms during a collision or when a force is applied. • Curves: Curves are used for items that consist of one or more curved strands such as hair or wires. Selecting each option hides/reveals different attributes in the Properties panel. |
General Properties: Rigid Body |
|
---|---|
Static |
The associated item does not move during a simulation (even if animated), acting strictly as a collision object. When Static is disabled, two options become available in State. |
State |
State is enabled when an item is not static. • Dynamic: These are collision items controlled exclusively by dynamics. They can also be affected by constraints, forces, and falloffs. This is automatically assigned when an object is defined as an Active Rigid Body. • Kinematic: An animated collision object that is controlled by keyframe information. Kinematic objects are unaffected by forces, such as gravity or falloffs. This is automatically assigned when an object is defined as a Kinematic Rigid Body. |
Preset |
Modo offers a series of presets to determine the dynamic properties of an item. If you select a preset, the values are automatically adjusted, and the item takes on the physical properties of the chosen material. You can choose from Glass, Stone, Wood, Plastic or Steel. |
General Properties: Soft Body |
|
---|---|
State |
• Dynamic: These are collision items controlled exclusively by dynamics. They can also be affected by constraints, forces and falloffs. • Kinematic: An animated collision object that is controlled by keyframe information. Kinematic objects are unaffected by forces, such as gravity or falloffs. |
Preset |
Modo offers a series of presets to determine the dynamic properties of an item. If you select a preset, the values are automatically adjusted, and the item takes on the physical properties of the chosen material. You can choose from Glass, Stone, Wood, Plastic or Steel. |
The shape of the resulting Soft Body is determined by virtual springs, evaluated between the vertices in the mesh. The following properties define the dynamics of each type of spring, and the resolution of the collision geometry.
General Properties: Soft Body Springs |
|
---|---|
Stiffness Bend |
These springs help an object maintain its shape by applying a rotational force to maintain the continuity of the surface. The default of 0.5 makes a fairly rigid, almost rubber-like surface. Stiffness can be reduced all the way to 0, creating a very soft and saggy fabric type. |
Struct |
These springs follow along the lines of the mesh (along the polygon edges). The value determines how resistant the springs are to the applied forces when deforming (such as gravity or turbulence). |
Sheer |
These springs are generated to add extra connections to the inside of a polygon face (quad polygons forming an x shape). They help to prevent the polygon from collapsing in on itself. |
Number of Clusters |
The resolution of the Soft Body collision geometry. The higher the number, the more accurate the soft body looks. This does not affect its ability to collide, but controls the size of the internally created collision object used to test collisions. Setting this number to 0 turns off all collisions for the soft body, while setting it to -1 tries to create a collision object per face. Regardless of the setting, the maximum number of clusters is 8192. NOTE: Increasing the number of clusters can significantly increase simulation time. |
You can apply simulations to various curve types in Modo, using either Splines and Polylines (fur guides).
The simulations of curves are very much like rigid body calculations, simulating a connected string of rigid capsule shapes drawn between each vertex. Each shape's size is based on the curve radius value in the Mesh Item properties. The resulting capsule collision shapes have three possible states for dynamics: Static, Dynamic or Kinematic.
General Properties: Curves |
|
Static |
When Static is enabled, the associated curves don't move during a simulation (even if animated), acting strictly as collision shapes. When disabled, the two additional options become available in State. |
State |
• Dynamic: These are collision items that are controlled exclusively by dynamics. Dynamic curves are also affected by forces, falloffs, and motions introduced by the influence of other deformers, for example, animated characters. NOTE: This should be set for animating fur guides. • Kinematic: An animated collision object that is controlled by keyframe information. Kinematic objects are unaffected by forces, such as gravity or falloffs. |
Preset |
Modo offers a series of presets to determine the dynamic properties of an item. If you select a preset, the values are automatically adjusted, and the item takes on the physical properties of the chosen material. You can choose from Glass, Stone, Wood, Plastic or Steel. |
Collision |
|
Collision Shape |
This is the shape to calculate collision contacts between dynamic objects. In general, you should choose the simplest shape that produces satisfactory results. The default collision shape is set to Hull, which generally balances accuracy with calculation speed. • Box: A rectangular box defined by the bounding box of the geometry's maximum extents. • Sphere: A sphere that is sized to encompass all the geometry of the object. • Hull: This collision shape creates the smallest convex volume that encompasses all the points in this mesh (imagine the mesh enveloped in shrink-wrap). The Hull collision type does not support holes or indentations in the object. Although it only approximates the item's shape, it provides very fast collision detection on complex shaped objects. • Multi Hull: The default collision option, Multi Hull generates a separate convex hull for each polygon island in the mesh. These are then treated as a single, compound dynamic item. • Mesh: Uses the mesh of the object for calculating collisions. For subdivision surface models, the actual frozen Sub-D cage is used. NOTE: Avoid this option on Dynamic Rigid Bodies (it is fine for Static and Kinematic ones). Otherwise, performance and simulation stability can suffer negatively. • Deforming Mesh: This collision shape is for meshes that change shape. It is only valid for kinematic meshes. • Convex Decomposition: Creates multiple Hulls (see above) and connects them together. This works to better approximate the actual shape of the geometry, but can be costly to initially compute with complex shapes. • Plane: Generates an infinite ground plane collision shape, originating from the center of the associated geometry's bounding box (not on the item's actual center position). |
Do Collisions |
Disable this option to remove the object from collision calculations. |
Bounce |
This is the collision response when the object hits another dynamic object. A value of 0% means the object doesn't bounce or inherit energy from the other dynamic object. A value of 100% means the object inherits all of the energy from the contact object. Values above 100% produce rubber ball-like effects where objects impart more energy from contacts. |
Friction |
The amount an object slides against another object. A value of 0 offers no resistance. A value of 1 stops the object from sliding. |
Stickiness |
When two dynamic elements collide and they both have a non-zero Stickiness, they attach to each other at the collision point. The higher the Stickiness value, the stronger the bond between the elements. Lower values allow stuck elements to be broken more easily. |
Margin |
This value helps the bullet engine to better determine collisions and improves its performance and reliability. It defines a gap around the object used to detect a collision contact. In most cases it should be kept at its default value. When used with the Mesh and Convex Decomposition settings, this can offset items away from each other, so only a small amount is necessary. NOTE: A setting of 0 may produce errors in collision detection. |
Collision: Softbody |
|
---|---|
Friction |
The amount that a Soft Body slides against another dynamic object. A value of 0 offers no resistance. A value of 1 stops the object from sliding. |
Margin |
This value helps the bullet engine to better determine collisions and improves its performance and reliability. It defines a gap around the object used to detect a collision contact. NOTE: A setting of 0 may produce errors in collision detection. |
Collision Curves |
|
---|---|
Do Collisions |
Disable this option to remove the object from collision calculations (enabled by default). |
Bounce |
This is the collision response when the curve capsule colliders hit another dynamic object. A value of 0% means the object doesn't bounce or inherit energy from the other dynamic object. A value of 100% means the object inherits all of the energy from the contact object. Values above 100% produce rubber ball-like effects where objects impart more energy from contacts. |
Friction |
The amount an object slides against another object. A value of 0 offers no resistance. A value of 1 stops the object from sliding. |
Stickiness |
When two dynamic elements collide and they both have a non-zero Stickiness, they attach to each other at the collision point. The higher the Stickiness value, the stronger the bond between the elements. |
Mass |
|
---|---|
Mass Source |
• World Density: Calculate the mass by multiplying the calculated volume of the dynamic item by the Global Density value defined on the Open topic with navigation item. • Local Density: Mass is calculated by multiplying the computed volume by this value. • Local Mass: Set the mass manually. |
Density |
The measure of the amount of matter in any given volume. If the Mass Source option is set to Local Density, this value is used to calculate the mass. |
Mass |
The property of an object that gives it bulk and weight. If Mass Source is set to Local Mass, this value is used for simulations. |
NOTE: Sleep is only available for Rigid Body items.
Normally, objects are awake (active) when any dynamic simulation starts and the object begins to react immediately. You can change this behavior, delaying when individual objects wake up and become active, essentially controlling when items begin their participation in a simulation.
Sleep |
|
---|---|
Wake On |
Prior to the Wake On event, items can be keyframe-animated and the object is handed off to dynamics for simulation when the Wake On Value threshold is reached. The values defined in the Impulse channels are applied when the object wakes up. • Start: The object begins the dynamic simulation awake and fully active at the beginning of the scene. • Collision Velocity: The object wakes up when it collides with a passive or active object. • Collision Force: The object wakes up when it collides with a passive or dynamic object. • Velocity: The object wakes up when a certain velocity is reached. Different from Collision Velocity, this velocity is determined by keyframe animated motion. NOTE: Use the Wake On Value to set a threshold for the Collision Velocity, Collision Force or Velocity. • Trigger: The object wakes up when the keyframe-able channel, reWakeOnValue, is not zero. This has good use with conditional nodes in rigging. • Frame: The object wakes up when a specific frame number is reached. • Time: The object wakes up when a specific time has been reached, regardless of frame rate. |
Wake On Value |
This is the threshold that must be reached in order to wake up the object, depending on the Wake On option selected. |
Passive |
When enabled, sleeping objects react to collision forces only. This means they can be pushed around but stop moving the moment the influence stops. |
NOTE: Impulse is only available for Rigid Body items.
Impulse |
|
---|---|
Impulse On |
This option determines the state that causes the Impulse value to be applied to the dynamic item. • Off: No impulse value is applied to the object. • On Wake: The impulse values are applied when the item wakes up, as determined by the Sleep settings. • Continuous: The impulse value is applied to the object continually at every time step in the evaluation. |
Impulse X/Y/Z |
A directional force that is applied to the object when it wakes up. This is useful when a keyframed object is handed off to dynamics, imparting direction and velocity to the object. Without Impulse the velocity would drop, as dynamics has no awareness of the object's velocity prior to waking up. |
Impulse Position X/Y/Z |
The position the Impulse is applied from, affecting the object's trajectory. |
Torque Impulse X/Y/Z |
A rotational force that is applied to the object when it wakes up. This is useful when a keyframed object is handed off to dynamics, imparting rotation to the object. Without Torque Impulse the object would not spin, as dynamics has no awareness of the object's motion prior to waking up. |
Force |
|
---|---|
Linear Damping |
This is a force that acts upon the motion of objects to slow them down over time. A small value here can benefit object stability, since it helps objects come to rest. |
Angular Damping |
Same as Linear Damping, but applies to the rotation of the object. NOTE: Angular Damping is not available for Soft Body objects. |
Follow Linear |
When under the influence of the dynamics system, animated dynamic items ignore their user-assigned kinematic (keyframed) motion. Instead, they act under the forces applied to them, and any collisions encountered. Follow Linear applies an amount of force to an item to seek its kinematic position. The setting allows you to influence a dynamic solution by adding keyframes to the item and increasing the Follow Linear force value. |
Affected by Gravity |
Turns gravity on or off for the object. |
NOTE: Deactivation is not available for Soft Body items.
Deactivation |
|
---|---|
Never Deactivates |
When enabled, the item never gets deactivated due to no motion. When disabled, the item is disabled when it meets the defined linear and angular thresholds defined in the solver item (or overridden here). |
Override Linear Threshold |
Enable this function to put dynamic objects to sleep once they reach a defined upper threshold value, overriding the global value found in the Open topic with navigation. This behaves opposite to the Wake On settings; once an object has been below the threshold for the defined length of time, it is put to sleep. |
Linear Threshold |
The motion threshold value when Override Linear Threshold is enabled. |
Override Angular Threshold |
Enable this function to put dynamic objects to sleep once they reach a defined upper threshold value, overriding the global value found in the Open topic with navigation. The behaves opposite to the Wake On settings; once an object has been below the threshold for the defined length of time, it is put to sleep. |
Angular Threshold |
The rotation threshold value when Override Angular Threshold is enabled. |
Particles |
|
---|---|
Wake On Particles |
Enable this to determine interactions between dynamic items and particles. NOTE: This is necessary for Wake On actions that are triggered by particle collisions. |
Particle Collision Roughness |
This adds a random factor to the direction in which particles bounce off the item. At 100% it can bounce up to 90 degrees away from the collision normal. |
Particle Collision Stickiness |
The distance at which particles try to stick to the surface of an item. |
Particle Emit Group |
When a Particle Emit Group Item is defined (either a group of dynamic items or a single other dynamic item), the dynamic item emits a particle at the contact point when it collides with the defined item(s). This option requires an additional connection (in the Schematic viewport) to the dynamic collider item. |
Soft Body |
|
---|---|
Enable Pose Matching |
This controls the soft body's ability to go back to its original shape when deformed by dynamic forces (or other collision objects). Think of it like a rubber ball that is stepped on. This option enables the function, but the Pose Matching percentage controls to what degree that original shape is obtained after the deformation is applied. |
Pose Matching |
When Enable Pose Matching is enabled, the Pose Matching percentage controls to what degree the soft body goes back to its original shape when deformed by outside forces. |
Pressure |
This exerts a force upon the overall volume of an item, similar to how pressure reacts on an object in the real world. Increasing values adds overall volume, inflating the item. Decreasing (negative) values reduce its volume, deflating the item. NOTE: This option requires that the target mesh be completely watertight (no seams). |
Drag |
Determines the loss of energy on a surface that is in motion (say, for jiggling-type of effects). |
Normal Modulation |
This option multiplies the force applied by the surface normal. |
Front Only |
When enabled, forces coming from the back-side of a single-sided object are not applied. |
Goal Map |
A Vertex Map that applies to soft body items and controls how much they retain their original shape. It can also be looked at as a stiffness control. Weight Map values of 1 retain the original position, while values lower than 1 apply an appropriate spring force attempting to retain the initial shape. |
Curves |
|
---|---|
Use Render Radius |
When enabled, the resulting capsules generated with dynamics, match the size defined, even when they are modulated with a curve width gradient. |
Curves as Compounds |
Controls the rigidity of the curves in a simulation, and how multiple curves within a single item layer are treated. • Off: All curves are treated individually as soft, deforming elements. • Per Curve: All curves are treated individually as rigid, non-deforming elements. • Item: All curves are treated as a combined (single) rigid, non-deforming element. |
Curve Radius |
When the Use Render Radius option is disabled, this option determines the collision size for the resulting capsule collision elements. |
Pin Curve Start |
When enabled, it automatically pins the first vertex of a curve. Pinned vertices remain fixed to their position within the mesh layer, moving only when the layer is animated or its geometry is deformed. This option is mainly used for simulating hair guides, to keep them connected to their character. |
Disable Segment Collision Start |
The collision capsules that are generated for a simulation are generated between each vertex, creating a chain of collision objects. The first segment begins at the base position of the curve. For pinned curves the first segment is always disabled for collision. The Disable Segment Collision Start value allows you to disable collision on additional segments. For example, if there is a curve with 8 segments pinned to a character, and this value is set to 3, then only the last 5 segments of the curve would be considered for collision. |
Pin Map |
Allows you to fix vertices along the curve, meaning they won't move or be affected by the dynamics. This is done by the addition of a Pick Map. Once added, the Pick Map appears in the Pin Map dropdown list. If you select a Pick Map, the targeted vertices aren't affected by curve dynamics. |
Joint Angle Limit |
Limits the amount of bending allowed between curve segments, this is very useful for fur guide simulations so that the fur doesn't go crazy during fast motions. |
Pinned Joint Angle Limit |
Same effect as the Joint Angle Limit, but works as a separate value for controlling the root rotation of the fur guide. |
The Glue options are being deprecated, as their functionality has been replaced by the Constraint Modifier. For further information, see the Constraint Modifier topic.
NOTE: Glue is only available for Rigid Bodies.
Glue |
|
---|---|
Compound Glue |
When working with compound rigid bodies, the compound glue option is used to connect the items within the same compound group. When the amount of force exceeds the designated amount, the items break apart from the compound and are treated as individual items during a simulation. NOTE: Only items that are physically touching each other (sharing some geometry) are glued together, elements floating away from the compound group are not affected by the Compound Glue value. |
Compound Glue +/- |
This adds some additional variance to the Compound Glue amount. When a value is specified, the Compound Glue setting randomly varies within the range of the designated amount. |
Pick Maps are a type of Vertex Map that designate vertices as selected or not selected. You can create a Pick Map to identify vertices in a curve that should remain fixed during dynamic simulation. Pick Maps are added using the Vertex Map List viewport or the Vertex Map menu.
NOTE: Once created, the Pick Map appears in the Pin Map option, in the Curves section of the dynamic item properties.
1. | Select Vertex Map > Create... |
This opens the Vertex Map dialog.
2. | Set the Vertex Map Type to Pick. |
3. | Type a name for the map in Vertex Map Name. Click OK. |
4. | To make sure the new map is selected, open the Vertex Map List panel. |
Click + next to the panel tabs.
Select Data Lists > Vertex Map List.
5. | Ensure your Pick List is selected in the Vertex Map List panel, under Other Maps. |
6. | Activate Vertices selection mode and select the target vertices in the curve that should remain fixed. |
7. | Add the vertices to the pick map: |
Select Vertex Map > Set Value...
This will open the Set Vertex Map Value dialog.
Set Vertex Map Type to Pick.
Set Value to 1.0. Click OK.
NOTE: The Value determines if the vertex is affected by dynamics. A value of 0 means the vertex is not selected, and is not affected by dynamics. A value of 1 means it is selected, and is affected by dynamics.
Additional vertices can be added or removed from the pick map at a later time. With the Pick Map highlighted, select the vertex and open Vertex Map > Set Value.... Set the value to 0 to remove the vertex, or 1 to add the vertex.