- Introduction to Advanced Tutorials
- "Hello" From the developers
- RealFlow's User Interface
- Adjusting RealFlow Preferences
The Export Central window
- General Structure
- Scene Tree Options
- Exporting Particle Emitters
- Exporting Grid Emitters
- Exporting Grid Domains
- Exporting Grid Mists
- Exporting RealWave Nodes
- Exporting Cameras
- Exporting Daemons
- Exporting Objects
- Exporting Meshes
- Exporting Job Files
- Exporting Log Files
- Exporting Previews
- RealFlow Emitters
- RealFlow Daemons
- RealFlow Objects
- RealFlow MultiJoints
- RealFlow Meshes
- RealFlow Cameras
- RealFlow Job Manager
- Curve Editor
- RealFlow Plug-ins
- RealFlow -nogui
- Python and RealFlow
- Script Types and Scripting Windows
- Common Settings
- Batch Scripts
- Simulation Events
- Scripted Nodes
- Hello World
- Scalar Variables
- List Variables
- Dictionary Variables
- Global and Local Variables
- Data Types
- Accessing RealFlow Nodes
- Accessing Particles
- Building Vectors
- Changing Attributes
- Changing Particle Attributes
- Custom Attributes
- Affecting Particles with Daemons
- Shifting Particles
- Custom Functions
- Using Modules
- Creating Graphical User Interfaces (GUIs)
- Final Notes
- Scripting - Examples & Ideas
- Tables and Values
- C++ SDK
The Soft Body Panel
This panel is only visible when the object’s soft body dynamics properties are enabled from
Node Params > Node > Dynamics > Soft body
Soft bodies are deformable and elastic objects, for example cloth, rubber or jelly. With RealFlow 5, this solver has been completely reprogrammed to provide more features, more stability and better results. Users of previous versions will quickly discover that there are absolutely new parameters available. Another new feature is that soft bodies can now keep the deformation they experience (“Plasticity”). With this approach it’s possible to simulate bending metal, as can be observed after car crashes, for example. These sophisticated possibilities open up a whole new world of soft body dynamics and, of course, the new solver can interact with particles, rigid bodies and waves. Soft bodies also support Joints – RealFlow’s “invisible” connection between dynamic objects. Object dynamics are now ruled by a single solver and not split up anymore. Therefore, the well-known particle representation of soft bodies has disappeared.
A dynamic object always needs a certain amount of mass to become influenced by forces. In RealFlow, mass is always given in kilograms and the initial value is calculated automatically. Actually, the “Mass” parameter from the “Soft body” panel has exactly the same mode of operation and functionality as its counterpart in “Rigid body”.
Higher settings create a more detailed simulation of the soft body, but also need longer calculation time. The idea behind this parameter is to make the body react much more accurately with more deformations. All in all, “Resolution” strongly enhances a simulation’s realism. The default value is 64, but can be raised to a (virtually) infinite level.
Reversible deformations of various squeezed soft body objects
Formally, this is the length recovery constant relative to the object. A high value means that soft body offers a high resistance against changes in its longitudinal magnitudes. This parameter accepts values between 0.0 and 1,000.0.
The principle behind stiffness parameters is not so easy to explain: through its mass and gravitational acceleration, a body has a certain self-weight. This weight always causes deformation to a soft body and the amount is measured when it rests on a horizontal plane. Stiffness affects this kind of self-loaded deformation and a value of 1.0 means that a body nearly maintains its original corresponding magnitudes under these conditions. One could say that a soft body becomes more rigid with higher stiffness settings (length or volume) and, thus, higher settings lead to more stability.
This is the volume recovery constant relative to the object. A high value means that the observed soft body offers a high resistance to changes of its original volume. Again, your input can be between 0.0 and 1,000.0.
To describe a soft body’s internal motion, “Elasticity” and “Internal Damping” are the critical factors. “Elasticity” can be seen as the amount of energy that’s kept by the body when it collides or experiences the previously mentioned internal motions. It appears as the magnitude of bounces when the body collides and also as a visible “wobbling”, decreasing after a certain time. You can apply any value between 0.0 and 1.0. With 0.0, the body quickly loses all its energy and stops shivering/bouncing. A value of 1.0 results in a much longer tremble and stronger bounces.
“Friction” occurs between objects with rough surfaces. In nature, even the most even surfaces have a certain amount of roughness, causing friction. It decelerates moving objects and can even stop them completely. The value ranges between 0.0 and 1.0. When bodies collide, RealFlow takes the average friction of all involved nodes into account.
“Air friction” might appear rather weak in daily life, but it’s a very important parameter. It counteracts the soft body’s motion and high values can even stop it completely. The range goes from 0.0 to infinity. A slight amount of “Air friction” should always be added.
A ductile body always shows a certain amount of internal motion, controlled by “Elasticity” and “Internal Damping”. With higher values a body loses its internal motion rather fast and stops “wobbling” after a short time. It will also experience smaller bounces. “Internal Damping” accepts settings between 0.0 and infinity: a value of 0.5 will stop the entire internal movement after 2 seconds, a value of 1, after 1 second, for example.
Since soft bodies can show a very high level of deformation, it’s very likely that some of its parts collide among each other. Without this option enabled, these areas would interpenetrate and lead to more or less fuzzy results – “Autocollision” helps to avoid this behaviour. Please note that “Autocollision” can take much longer to simulate, especially with higher “Resolution” settings.
By default, this option is set to “No”, but when enabled it unlocks four related parameters to control the node’s ability to become permanently deformed. “Plasticity” means that the deformations of the body will not relax or recover, and the object remains in a distorted state.
A ductile torus object with activated “Plasticity” reacts with rigid bodies
This value depends on a body’s change of its initial length to produce a permanent deformation. The range goes from 0.0 to 1.0. So, a value of 0.5 means that permanent deformation will only happen when the body’s length change is at least 50% of its initial size.
Like “@ threshold”, this parameter is also between 0.0 and 1.0, representing a percentage value. A setting of 0.5 will keep 50% of the node’s deformation as permanent. The other half is able to relax and turn back to its initial state. Please keep in mind that these values are only approximations.
@ compression limit
To prevent a soft body from very high permanent compression, it’s recommended to specify a certain limit. Permanent means that the body rests in this compressed state and the deformation is not reversible. Without such a limit, objects might become totally flat and that’s not always wanted. The range lies between 0.0 and 1.0. For example, a value of 0.5 means that permanent deformations in one direction can compress the body approximately until the half of its original length in this direction.
@ expansion limit
This value works similar to “@ compression limit”, but is related to a body’s permanent expansion after its deformation. To parameter avoids unnatural changes in size. The range goes from 1.0 to 100.0. For example, a value of 2 means that permanent deformations in one direction can expand the body approximately until it has reached twice its original length in this direction.
Sometimes you don’t want a simulation to start from zero, but the objects should have some initial velocity. With this parameter you can assign such a behaviour by simply entering positive or negative values. Please keep in mind that “@ Velocity” directly determines the body’s trajectory. A value of [ 2,0,0 ], for example, creates a linear motion along the positive X axis.
@ Rotation W
This parameter actually works the same way as @ Velocity. Instead of an initial velocity, you can add an initial rotation and it’s mostly used to avoid a uniform look. You also have three values and each one is measured in degrees. Negative angles are also accepted.
If you performed a simulation with a low resolution mesh, you can keep the results and transfer them to a high resolution object with this feature. To establish such a “projection”, you simply specify the desired node and everything will be carried out automatically. Of course, both objects should share the same shape and size to get reasonable results.
@ Update at frame
When set to “Yes”, this option updates the soft bodies with each frame in the viewport.