Elastic Particles Cloth
RealFlow's standard particle emitter's “Elastic” fluid type is often overseen and rarely used, but it provides some very nice features and opens the door to a wide variety of interesting simulations. Maybe you have already seen some simulations on video platforms, but rejected the “Elastic” type as unusable due to instabilities, exploding particles, and long simulation times. In fact you only have to change one thing to get nice results with this particle type. It is therefore definitely worth taking a closer look at it and exploring its parameters.
The result of this tutorial. Rendering has been made with RealFlow's implementation of Maxwell Render.
In this scene, a cloth-like tissue will be simulated with the help of elastic particles. Here is the nodes list:
- 1 “Linear” emitter
- 1 “Sphere” object
- 2 “Cylinder” objects
- 1 “Cube” object
- 1 “Gravity” daemon
All scene elements can be added from RealFlow's “Edit” menu:
- Add > Emitters | Objects | Daemons
RealFlow nodes can be moved, scaled, and rotated with the W, R, and E keys.
Imported objects from SD files have to be unlocked before they can be transformed with Selected object > Node Params > Node > SD ↔ Curve
Viewport perspective is changed with the 1, 2, 3, and 4 keys.
Shading modes are toggled with the 7, 8, 9, and 0 keys.
The Setup
- Start with the “Sphere” and “Cylinder” nodes, and arrange them randomly.
- Change the cylinder's length to a value around 4.
- The “Cube” node serves as a ground object.
- Add a “Linear” emitter and rotate it by 90 degrees so that its emission direction is parallel to the X axis.
- Linear01 > Linear > Height > 10.0 (or greater)
- Linear01 > Linear > Length > 2.5
The “Elastics” Type Parameters
The default type for SPH emitters (= standard particle emitters) is “Liquid”. Change it under
Emitter > Node Params > Particles > Type > Elastics
Elastic particles work like a so-called spring-mass system. In such a system the individual points are connected through springs, holding them together. Once the points are linked you can define the springs' elasticity, how far they should be able to separate, or when they should break. To withdraw energy from the springs a damping parameter is also required, because otherwise the system would never come to rest completely.
All these parameters and properties can be found with elastic particles:
- “Resolution” is responsible for the number of particles. Enter 25.
- “Density” can remain 1000.0, because it will not affect the simulation.
- “Spring” is the system's “softness”. With higher values, the connections between the particles become more rigid. Use a value of 10,000.
- “Damping” derives energy from the springs. With low values the system acts similar to rubber. Leave the default value of 20.
- “Elastic limit” is measured in percent and can change the tissue’s behaviour: if the current distance between the connections is smaller or greater than the resting state (= 100%) the system turns rigid. Do not change the value for this simulation.
- “Break limit” works similar to “Elastic limit” and is also given in percent. When the limit is reached the connections will break. Leave the default value.
Keeping the Simulation Stable
One of most common problems with elastic particles is the occurrence of exploding particles. This behaviour is the result of very high forces and the more particles, the less stable the simulation will be. The forces accelerate the particles and there comes a point where it is impossible to compensate these instabilities with the emitter's settings. “Resolution” plays a very important role here, because when the particles are very close together it is very likely that your simulation will fail. Highly accelerated particles are also responsible for long simulation times.
To counteract these instabilities, please use high fixed substeps. Click on the small triangle next to the “Simulate” button and choose “Options...”. Then enter the following values in the “General” tab:
MIN substeps > 333
MAX substeps > 333
Confirm with “OK”
The change to fixed substeps will increase the simulation's stability drastically. Furthermore it is now possible to use higher emitter “Resolution” settings (= more particles). It will also help to keep simulation times moderate, but you should be aware that RealFlow has to perform very complex calculations and they simply take time. The more particles, the more likely it is that you will see instabilities.
The Simulation
Now start the simulation. If you can still see highly accelerated particles increase the number of fixed substeps and/or decrease the emitter's “Resolution”. It also happens from time to time that the particles tear apart and form small holes when they interact with objects. These holes are often only visible when you create a mesh. In this case, a good option is to make the tissue more rigid with the “Spring” parameter. By the way, the collision objects' properties (e.g. friction) can be adjusted with:
Object selection > Node Params > Particle Fluid Interaction