Objects - Rigid body

Similar to "Particle Fluid Interaction", this panel is only available on demand. Rigid body dynamics is not limited to object-object interaction, but also possible with fluid-object interaction, soft bodies and RealWave surfaces. All the different solvers are coupled and for that reason it is, for example, possible to move objects through the power of a fluid or a wave. As a rule of thumb we can say: if there is an object meant to be moving or colliding, rigid body dynamics must be enabled. The only exception is the combination of solid obstacles with fluids – in that case it is not necessary to activate this feature.

RealFlow’s rigid body and soft body solver “Caronte” is not dependent on substeps. The only settings that can influence the quality of a simulation are the quality settings under “Simulation options”. There you can choose between “Low”, “Medium“and “High”. To enable an object’s rigid body dynamics feature, please go to

Node Params > Node > Dynamics > Active (Passive) rigid body

The panel's parameters are exactly the same for both modes, but the motion-depending settings are not available for passive rigid bodies, because they act like static obstacles.

 

 

Collision geometry

Each rigid body needs a surrounding geometry for collision detection and that is exactly what “Primitive” does. You can choose from various basic shapes or from exact representations of the active object. The less complex the selected shape, the faster the simulation will be calculated, but with simple approximations, accuracy is often not high enough and you might see interpenetration effects. For large amounts of objects or nodes with many polygons it will take a little time until the desired primitive type is applied.

You can choose from 4 different shapes: “Sphere”, “Box”, “Convex Hull” and “Mesh”. The first two options can be used for nodes with an equivalent shape, while “Convex Hull” and “Mesh” are suited for more complex bodies. “Convex Hull” approximates the given shape with a bounding grid; “Mesh” exactly represents the entire object.

Collision side

This entry is only available with “Primitive” set to “Mesh” and offers a very interesting feature. You can choose which side of the node’s polygons should be used for collision and interactions. With “Inside”, for example, you can quickly fill objects with rigid bodies, like filling candy into a jar. The other option is “Outside”.

@ mass

Mass is one of the most important parameters with rigid bodies, because it strongly influences the object’s entire movement and behaviour, for example the strength of splashes with RealWave surfaces. To move an object, a force is needed. Inside RealFlow forces can be introduced with daemons or other objects (also particles) hitting the body. For each object, whether it is native or imported from external sources, RealFlow automatically calculates its mass in kilograms [kg]. Please bear in mind that a body's acceleration does not depend on its mass. In other words: in a vacuum, all objects will have exactly the same fall velocity regardless of the adjusted “@ mass” value. If you want to create differences, please consider changing “@ air friction”.

@ air Friction

In real life, the movement of an object is always decelerated because of various friction effects – a vehicle on a street, for example, does not roll forever. Even a thin medium like air produces a certain amount of friction. Normally you do not observe this force, but with higher velocity, you will start to experience a growing resistance – air friction. So, if your simulation happens on Earth or a celestial body with an atmosphere, we always recommend adding a certain amount of air friction. Very high values can even stop an object completely.

@ CG

CG” stands for "centre of gravity", but is actually only an offset from this specific point and not the real centre of gravity in world space. Like any geometry-related parameter, “@ CG” consists of three values given in metres [m]. It is especially useful for floating objects, because by shifting the centre of gravity downwards, you can prevent a body from tipping, for example.

@ Velocity

Sometimes you do not want a simulation to start from zero, but the objects do need an initial velocity. This parameter. measured in metres per second [m/s], assigns such a behaviour by simply entering positive or negative values. Keep in mind that “@ Velocity” directly determines the body’s trajectory and 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 angular velocity and it is mostly used to avoid a uniform look. You also have three values and each one is measured in degrees per second [deg/s]. Negative values are, of course, accepted to change the direction of the rotation ("+" for clockwise, "-" for counterclockwise). Higher values make the object spin faster around its centre of gravity.

@ object friction

Object friction occurs when bodies with uneven surfaces interact. Since there are no perfectly even surfaces in the real word, a certain amount of friction is always recommended for believable simulations. “@ object friction” slows down the object and can even stop it completely. Nevertheless it is totally up to you if you want to eliminate friction completely. The maximum value for “@ object” friction is 1.0.

@ elasticity

Each object has a certain amount of elasticity, making it bounce. The highest possible value is 1.0, and with this setting (“@ air friction” and “@ object friction” must both be 0.0 in this case!) the body would bounce forever, because it does not lose energy. This, of course, can only happen inside RealFlow, because in nature there are no perfectly elastic objects.