From BlenderWiki

< Doc:Manual | Physics | Soft Bodies
Revision as of 19:30, 27 September 2009 by Smerch (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

If you want to document Blender 2.5 features please edit pages under Doc:2.5/Manual.
If a "2.5" page doesn't exist please copy the text from 2.4x Manual and edit the new page (i.e. you should paste the wikitext from this 2.4x page to this new 2.5x page and then update the latter with 2.5 features)


Mode: Object mode

Panel: Object context → Physics sub-context → Soft Body, and Editing context → Modifiers

Hotkey: F7 to get to Object context; repeat to change sub-context.

A Soft Body simulation is started with AltA in the 3D window. The movement is then cached automatically (i.e. saved to disk), so you may have to clear the cache in the Collision panel if you have changed settings for collision objects (Free Cache or use CtrlB → Free Cache selected). You can also Bake the simulation, then you get a warning if you try to change a parameter which needs the cache to be cleared. You can also edit a baked simulation by hand.

[edit] Soft Body settings

Image 1: The Soft Body panels.

[edit] General settings

Soft Body
This enables the soft body modifier on the selected object.
Friction
The friction of the surrounding medium. Generally friction dampens a movement.
Mass
Mass value for vertices. Larger mass slows down acceleration, except for gravity where the motion is constant regardless of mass. Larger mass means larger inertia, so also braking a Soft Body is more difficult.
Grav
Gravity, the amount of force in Z-axis direction. Earth gravity is a value close to 9.8 m.s-2. Positive values make Softbodies drop; negative values make them rise.
Speed
You can control the internal timing of the Softbody system with this value.
Start- and Endframe
The Start and End settings in the Collision panel are not only valid for the baking, but for all Soft Body simulations. So if your animation lasts longer than 250 frames, you have to increase the End value.


[edit] Goal settings

Use Goal
Soft Body Goal acts like a pin on a chosen set of vertices; controlling how much of an effect soft body has on them. Enabling this tells Blender to use the position / animated position of a vertex in the simulation. Animating the vertices can be done in all the usual ways before the Soft Body simulation is applied. The goal is the desired end-position for vertices. How a softbody tries to achieve this goal can be defined using stiffness forces and damping.
Goal
If no vertex group is used, this numeric field is the default goal weight for all vertices. If a vertex group is present and assigned, this button instead shows an popup selector button that allows you to choose the name of the goal vertex group. A Goal value of 1.0 means no Soft Body simulation, the vertex stays at its original (animated) position. When setting Goal to 0.0, the object is only influenced by physical laws. By setting goal values between 0.0 and 1.0, you can blend between having the object affected only by the animation system, and having the object affected only by the soft body effect.
G Stiff
The spring stiffness for Goal. A low value creates very weak springs (more flexible “attachment” to the goal), a high value creates a strong spring (a stiffer “attachment” to the goal).
G Damp
The friction for Goal. Higher values dampen the effect of the goal on the soft body.
G Min/G Max
When you paint the values in vertex-groups (using Weight Paint mode), you can use the G Min and G Max to fine-tune (clamp) the weight values. The lowest vertex-weight (blue) will become G Min, the highest value (red) becomes G Max (please note that the blue-red color scale may be altered by User Preferences).


[edit] Edge settings

Use Edges
The edges in a Mesh Object can act as springs as well, like threads in fabric.
Pull
The spring stiffness for edges (how much the edges are stretched). A low value means very weak springs (a very elastic material), a high value is a strong spring (a stiffer material) that resists being pulled apart. 0.5 is latex, 0.9 is like a sweater, 0.999 is a highly-starched napkin or leather.
Push
How much the Softbody resist being scrunched together, like a compression spring. Low values for fabric, high values for inflated objects and stiff material.
Damp
The friction for edge springs. High values (max of 50) dampen the edge stiffness effect and calm down the cloth.
SL (“Shrink/Blow”)
The edges can shrink or been blown up. This value is given in percent, 0 disables this function. 100% means no change, the body keeps 100% of his size.
Aero/N
If you turn on Aero the force is not confined to the vertices, but has an effect also on the edges. The angle and the relative speed between medium and edge is used to calculate the force on the edge. This force results that vertices with little connecting edges (front of a plane) fall faster than vertices with more connecting edges (middle of a plane). If all vertices have the same amount of edges in a direction they fall with equal speed. An edge moving in its own direction feels no force, and an edge moving perpendicular to its own direction feels maximum force (think of a straw moving through air). Try it with an Aero value of 30 at first.
Enable the N button if you want to use an aerodynamic model that is closer to physical laws and looks more interesting. Disable for a more muted simulation.
Plas
Plasticity, permanent deformation of the object.
Be (“Bending Stiffness”)
This option creates virtual connections between a vertex and the one after the next. This includes diagonal edges. Damping applies also to these connections.
Stiff Quads
For quad faces, the diagonal edges are used as springs. This stops quad faces to collapse completely on collisions (what they would do otherwise).
Sh (“Shear stiffness”)
Stiffness of the virtual springs for quad faces.
CEdge
Checks for edges of the softbody mesh colliding.
CFace
Checks for any portion of the face of the softbody mesh colliding (compute intensive!). While CFace enabled is great, and solves lots of collision errors, there doesn’t seem to be any dampening settings for it, so parts of the softbody object near a collision mesh tend to “jitter” as they bounce off and fall back, even when there’s no motion of any meshes. Edge collision has dampening, so that can be controlled, but Deflection dampening value on a collision object doesn’t seem to affect the face collision.


[edit] Bake and Collision

Image 2: Bake and Self Collision settings.

[edit] Bake

Bake
Calculates the simulation and protects the cache. You need to be in Object mode to bake.
Free Bake
Clears the cache.
Bake Editing
You can edit the result of the simulation in Edit mode.
Rebake from Current Frame
The manually edited result can be used as starting position for the next simulation run.
Start/End
First and last frame of the simulation. Always valid, not only for baking.
Free Cache
Clears the cache.

If you haven’t saved the blend file the cache is created in memory, so save your file first or the cache may be lost.

[edit] Self Collision

Self Collision is working only if you have activated Use Edges.

Self Collision
When enabled, allows you to control how Blender will prevent the Soft Body from intersecting with itself. Every vertex is surrounded with an elastic virtual ball. Vertices may not penetrate the balls of other vertices. If you want a good result you may have to adjust the size of these balls. Normally it works pretty well with the default options.
Ball Size
Default 0.49 BU or fraction of the length of attached edges. The edge length is computed based on the algorithm you choose. You know how when someone stands too close to you, and feel uncomfortable? We call that our “personal space”, and this setting is the factor that is multiplied by the spring length. It is a spherical distance (radius) within which, if another vertex of the same mesh enters, the vertex starts to deflect in order to avoid a self-collision.
Set this value to the fractional distance between vertices that you want them to have their own “space”. Too high of a value will include too many vertices all the time and slow down the calculation. Too low of a level will let other vertices get too close and thus possibly intersect because there won’t be enough time to slow them down.
Man (“manual”)
The Ball Size directly sets the ball size (in BU).
Av (“average”)
The average length of all edges attached to the vertex is calculated and then multiplied with the Ball Size setting. Works well with evenly distributed vertices.
Min/Max
The ball size is as large as the smallest/largest spring length of the vertex multiplied with the Ball Size.
AvMiMax (“average min/max”)
Size = ((Min + Max)/2) × Ball Size.
B Stiff
Default 1.0. How elastic that ball of personal space is.
B Damp
Default 0.5. How the vertex reacts. A low value just slows down the vertex as it gets too close. A high value repulses it.

Collisions with other objects are set in the (other) Collision panel. To collide with another object they have to share at least one common layer.

[edit] Soft Body Solver

These settings determine the accurateness of the simulation.

Blender has two solver algorithms that it can use:

Soft
A step-size, adaptive algorithm for most situations.
RKCP (“Runge Kutta Correct Physics”)
A mathematically and educationally correct algorithm. Good for something like a friction free pendulum, but tends to overshoot.
Error Limit/V
Rules the overall quality of the solution delivered. Default 0.1. The most critical setting that says how precise the solver should check for collisions. Start with a value that is 1/2 the average edge length. If there are visible errors, jitter, or over-exaggerated responses, decrease the value. The solver keeps track of how “bad” it is doing and the Error Limit causes the solver to do some “adaptive step sizing”. The V parameter helps the Solver figure out how much work it needs to do based on how fast things are moving.
MinS
Minimum simulation steps per frame. Increase this value, if the Soft Body misses fast moving collision objects.
MaxS
Maximum simulation steps per frame. Normally the number of simulation steps is set dynamically (with the Error Limit) but you have probably a good reason to change it.
Fuzzy
Simulation is faster, but less accurate.
Choke
Calms down (reduces the exit velocity of) a vertex or edge once it penetrates a collision mesh.
Print Performance to Console
Prints on the console how the solver is doing.


[edit] Links