Soft Body

In contrast to Rigid Bodies, Soft Bodies can be deformed. A Rigid Body consists of a hard polygonal body that only reacts to collisions as a whole; a Soft Body is made up of numerous small mass points (object points) that are connected with each other via numerous springs. If a force effects a Soft Body its effect will spread across other surrounding points from a local point of impact, resulting in a flexible (organic) reaction to the force. Soft Bodies are basically used for deformable objects such as balls, cloth (don't forget about using the Cloth function for cloth/clothes), thin metal, etc.

Splines can also be used as Soft Bodies. However, they are better suited for simple objects. They don't work well with Connectors and could only be used in a limited fashion as a rope, for example. However, a Spline can be used in conjunction with collision to make it fall onto and lie on another object.

Splines work especially well under the following circumstances:

When using the Sphere primitive, make sure that the Icosahedron option is selected. The Render Perfect option should also be disabled.

Soft Body

Here the following is defined:

Rest State

The rest state is normally the state of the Spring at its normal length without any modification.

Additional rest states can be added to this field (copies of the Soft Bodies in the Object Manager; equal number of points required) or even animated. This means that a Soft Body can be made to successively assume different states.

The object (its position, orientation, visibility irrelevant) in this field can, for example, be deformed using a Deformer and will immediately pass this rest state to the Soft Body, which will convert to this new state with an oscillating motion. A "dynamic morph", if you will.

How quickly the Soft Body assumes the new shape/state depends on its defined stiffness. The softer the Springs the longer it will take. If hard Springs are used, it will more-or-less "explode" into its new state. This parameter can be used to create many spectacular effects!

Mass Map

Normally a Soft Body's entire mass will be spread across its object points equally. If this is not desired, you can use the Point Selection tag or Vertex maps to influence the object.

Note that object points with a mass of 0 will be fixated at their current location (this can be done with MoGraph Selection for Soft Bodies that are made up of clones).

Different dispersions of mass result in different oscillating behavior and different centers of mass.

Use Accurate Solver

If enabled, a more stable but also more memory-intensive algorithm will be used. You can disable this option and see if your simulation remains stable. You can also slowly increase the Steps per Frame value if you do experience instable behavior.

Generally speaking, this parameter dampens the oscillation of Soft Bodies, which means Soft Bodies will reach their Rest State more quickly.

Springs

Typical arrangement of various types of Springs. Only the complete Springs of visible points are pictured.

To turn a normal object into a Soft Body, all object points will be regarded as small masses that are connected via 3 types of Springs (in the following also referred to as "standard spring types"). Each spring type can be adjusted separately and fine-tuned at point level via Point Selection tag or Vertex

maps.

Normally all Springs are at their rest state at frame 0, i.e., all Springs exert a force of 0 in this Soft Body state (of course Rest Length has to be set to 100%). As soon as the simulation is started, gravity will affect the mass points and Springs will begin to oscillate.

We will demonstrate using the following Soft Body, which is attached to Connectors on one end (left) and falls onto the bar below it. When all three Spring types are applied, the following should result (if the object has a greater subdivision the Spring strength must be increased accordingly to achieve the same result):

Structural[0.00..+∞]

Map

A Spring will be attached to each object point that connects it with all neighboring points along the polygon edge. The value defines the stiffness of the Spring. The harder the Spring the greater the stiffness. How this Spring works can best be seen if Structural is set to 0:

The Structure Spring's primary function is to support the Soft Body's outer shape. At the right of the image above the supporting effect of the Spring has been set to 0, causing the polygons to simply fall to the floor.

Damping[0..+∞%]

Map

Damping defines the degree of oscillation of the Structure Spring. The greater the value, the faster the oscillation will end.

The Map setting (Point Selection tag or Vertex maps) lets this be adjusted on point level. The following applies for point selections:

… and for Vertex maps depending on individual weighting.

Elastic Limit[0..+∞%]

Map

A Soft Body's Springs can be deformed plastically exactly like individual Springs (see also Elastic Stretch Limit) as soon as a specific stretching or compression point has been reached. A value of 0 will disable plastic deformation.

Note that, depending on the Project, the Elastic Limit for the springs will also have to be adjusted to ensure a plastic deformation of the Soft Body.

The Map function is described here.

Shear[0.00..+∞]

Map

This Spring type diagonally connects opposing points of four-sided polygons and ensure that the polygon does not fold. The value defines the stiffness of the Spring. The greater the value, the harder/stiffer the Spring.

How this Spring works can best be seen when the Shear value is set to 0:

Note how the polygons at the right were deformed to rhombuses. The disabled Shear Springs (value = 0) could not prevent the point rows from being altered.

Damping[0..+∞%]

Map

Damping defines the degree of oscillation of the Structure Spring. The greater the value, the faster the oscillation will end. The Map function is described here)

Flexion[0.00..+∞]

Map

In contrast to the other Springs, the Flexion Springs are not linear Springs. They are torsion Springs that lie on each object point and try to maintain angular continuity - depending on Spring strength - along neighboring edges. This lets flexure be adjusted independently of the object's stretch behavior (this was different in Dynamics versions prior to R11.5 where linear Springs were used, which were affected by the object's stretch behavior). The value defines the stiffness of the Spring. The greater the value the harder/stiffer the Spring.

How this Spring works can best be seen when the Flexion value is set to 0:

As you can see, polygons can be folded together when the Flexion Springs no longer maintain the angular continuity along neighboring polygons. With the Map option you can define specific regions in which the Soft Body should be allowed to fold.

Damping[0..+∞%]

Map

Damping defines the degree of oscillation of the Structure Spring. The greater the value, the faster the oscillation will end. The Map setting (Point Selection tag or Vertex maps) lets this be adjusted on point level. The Map function is described here).

Elastic Limit[0..180°]

Map

A Soft Body's Springs can be deformed plastically exactly like individual Springs (see also Elastic Stretch Limit) as soon as a specific stretching or compression point has been reached. A value of 0 will disable plastic deformation.

The Map function is described here.

Rest Length[1..+∞%]

Map

A Vertex map in Rest State (the more intense the red, the less weighting and in turn less spring rest length).

In its rest state, the Soft Body has its unchanged shape. All Springs that are linked between the object points are at their rest state, which means that they exert no force. As soon as the simulation is started, gravity will affect the object points, followed by collisions. This displaces the neighboring object points and the Spring forces will start to take effect (the further the Spring is displaced in relation to its rest state the greater the force it must exert to return to its rest state). The Rest Length value lets you define a deviance in length of up to 100%. Values less than 100% will cause the Springs to contract and vice-versa. The Map function is described here).

Tear-out Length[1..+∞%]

Map

The clone construct falls apart under its own weight.

These settings will be made available if Soft Body is set to Made of Clones. The Tear-out Length defines at which percentage of the rest state the Spring will break.

The Map setting applies only to the Cloner object Mode Object. It affects the object onto whose points the clones were placed.

Fix Rotation[0.00..+∞]

Map

If Soft Body is set to Made of Clones, you can define how clones should behave with regard to rotation. Lower values (which represent smaller spring strengths) allow rotations and larger values result in harder springs.

For Map the existing description applies.

Damping[0..+∞%]

Map

Use the Damping value to define how the Spring motion will be dampened (applies to the previously described Angle Springs). The larger the value, the faster the Spring will come to rest.

The Map function is described here.

Shape Conservation

Shape Conservation maintains for the most part the shape of the Soft Body as a whole dependent on the Stiffness value (with the exception of a few brief, minor deformations by local collisions).

This function internally saves an image of the unmodified object and, depending on the defined Stiffness, attempts to maintain (conserve) this shape. The classic Soft Body variation with the 3 Spring types mentioned above tends to lose its initial overall shape because each object point's Spring only "sees" its direct neighbor. The Stiffness values can be increased dramatically but this would result in the simulation becoming correspondingly unstable, which would in turn have to be compensated for by increasing the Steps per Frame value, resulting in higher memory requirements.

Shape Conservation, on the other hand, is fast and stable. So whenever you need to maintain an initial shape (or specific regions via a map), apply these settings. Most often they work best when combined with the 3 Spring types (if they are not initially set to 0 but their values can be reduced).

This function is less suited for conserving the shape of an entire object with little to no stiffness such as cloth.

Stiffness[0.00..+∞]

Map

Flabio belly-flops onto the ground. At left a lesser stiffness than at the right. Shown here is the (very short) rest state before he bounces back up.

The Stiffness defines the degree to which the points of the Soft Body are allowed to diverge from the original (internally saved) shape. This is a Spring force, i.e., the lesser the stiffness, the softer the Springs and the more deformations that will occur upon collision.

This setting can also be used to create a springing animation (beginning at 0), for example to catapult away a Soft Body that has fallen onto a given object. The Soft Body will quickly re-assume its initial shape.

The Map function is described here).

This lets you easily stiffen specific regions of a Soft Body, as in the example below. The tire should deform accordingly when it loses pressure. Points on the tire were weighted, with the maximum weighting at the edge of the wheel rim (yellow). This is where the Shape Conservation is at its strongest. Hence, the tire will not deform near the wheel and will not penetrate the wheel (which itself is not a Soft Body).

Default values for all 3 Spring types; at right with Map for stiffness added.

Tip:If you want to stiffen several areas independently of each other the aforementioned method would not be suited because these could not be moved in opposing directions. A workaround would be to have a Spring with a Strength setting of 0 and a Point Selection as Attachment A. You will basically use the region affected by the Spring to instead maintain the shape of the Soft Body.

Volume[0..100%]

If the 3 Spring types have only a minimal effect and the majority of the calculation is being taken up by the Shape Conservation, a "pulsating" (variation of volume) effect can result. Increasing the Volume value can eliminate this effect.

Damping[0..+∞%]

Map

This value defines the degree of damping (stiffness). The greater the value, the faster the oscillation will end. The Map setting (Point Selection tag or Vertex maps) lets this be adjusted on point level. The Map function is described here).

Elastic Limit[0..+∞m]

Map

Just like individual Springs, those used to maintain shapes can be deformed plastically when they reach a defined value. This is defined using the Elastic Limit value, whose effect is in relation to the Spring's original Rest Length.

Permanent modifications can be made to Soft Bodies using these settings.

The Map function is described here.

Pressure

The cube at the left is inflated resulting in the shape at the center. At right a Point Selection tag was added to the Stiffness parameter.

This only works on closed objects. The object is inflated by adding a force that pushes the surface Normals in an outward direction. This method is good for inflating collapsed objects, for example.

Pressure[-∞..+∞]

This Pressure setting works like pressure in the real world - a force that exerts pressure on the entire surface of an object and inflates the object. Positive values will increase and negative values will decrease (creates a vacuum) an object's volume.

The next setting, Volume Conservation, can also be used to exert pressure - but is dependent on the object's volume.

Volume Conservation[0.00..+∞]

When a Soft Body is pressed together its volume will remain constant when greater Volume Conservation values are applied.

The Volume Conservation feature applies a force in an attempt to maintain the volume of an object. If the current volume is greater than the volume in rest state the force is directed inwardly and vice-versa. The strength of this force is defined by the Volume Conservation value.

The greater the value the less a body can be compressed, i.e., if the Soft Body is pressed together it will attempt to maintain its initial volume by expanding accordingly in different directions.

Without Volume Conservation, stretching or uncontrolled expansion can occur. Pictured at right is the point selection that was fixated via Stiffness.

Damping[0..+∞%]

Damps oscillation caused by application of the Pressure effect. The greater the value, the faster the oscillation will end.