Liquid Simulation - An introduction

Cinema 4D 2025.3 adds properties to the particle system that enable the simulation of liquids. Normal particles can be subsequently converted into liquid particles, for which specific properties, such as Viscosity or Surface Tension, are then made available. An additional emitter type makes it easier to quickly fill any volume with liquid particles, for example to quickly fill a glass of water or a swimming pool with liquid.



As can be seen in the example above, interaction with other static (ground, rocks) or dynamic objects (floating buoy) is also possible. The Collider Tag or the Rigid Body Tag, for example, are available for this purpose and can be used to mark normal objects for interaction with simulated elements.

If you have not worked with particle simulations before, it is a good idea to take a look at their elements and workflows first. We have put together a corresponding introductory page here. The control elements and processes for creating a liquid simulation are otherwise identical to those for standard particles.


Topics in this introduction:




Differences between particles and liquid particles

In principle, particles and liquid particles are generated in the same way: an Emitter is required to generate the particles, which are then managed in Particle Groups. The difference between these particle types lies only in the additional properties that liquid particles have. These properties are automatically added to the particles when using a Liquid Filling Emitter or can also be subsequently added to "standard" particles that have already been created using the Liquify Modifier. The following video and the scene also available provide an example of this.


Here, normal particles are sent on their journey through a base emitter and converted into liquid particles after the second collision with a ground plane.

In this example, normal particles are first generated by a Basic Emitter. Within the Particle Group, a Gravity Force Object ensures that these particles are automatically pulled downwards. An additional Collide Modifier allows the particles to collide with a ground plane that has a Collider Tag.
By using the Custom Property for counting collisions, the particles that have already bounced twice on the ground plane can be transferred to a new group. In this second group, the particles are converted into liquid particles by a Liquify Modifier and thus automatically react with each other. This is triggered by the Liquid Contribution parameter on the Liquify Modifier, which is already set to 100% by default and thus activates the full properties of a liquid. As a result, the liquid particles no longer react to modifiers that influence the direction of movement of the particles, but are now only guided by their physical properties and external forces, such as gravity or collisions with other dynamic elements. However, intermediate values for the Liquid Contributiont are also possible, so that liquid particles can still be at least partially influenced with the classic particle modifiers.
Liquid particles have additional properties such as Density, Viscosity and Surface Tension.

The following properties and objects automatically affect liquid particles:

  • Gravity: Liquid particles are automatically influenced by the Gravity from the Simulation Settings. They therefore fall downwards by default, even if there is no separate Gravity Force Object.
  • Collision: Liquid particles automatically react to each other and to other dynamic simulation objects, such as Cloth or Rigid Bodies, as well as to objects that have a Collider Tag.
  • Liquid properties: Liquid particles automatically acquire physical properties, such as their own mass, as well as specific properties, such as Viscosity and Surface Tension.
  • Meshing: Liquid particles can be automatically surrounded with a polygon hull using a special Liquid Mesh object, which makes the representation of a liquid perfect.

Many modifiers and working methods of classic particles can also be applied to liquid particles. For example, the Colors can still be changed using Math or Color Mapper Modifiers or properties such as the Radius of the particles can be linked to the Age of the particles using a Data Mapper Modifier, for example. There are always restrictions when velocities or positions of the liquid particles are to be changed using modifiers. Since liquid particles are automatically given physical properties, which among other things also determine the forces within the simulation, there is always a mixture of these additional changes introduced via Modifiers and Force Objects and the forces automatically acting on liquids. In this context, the use of a Blend Modifier, for example, is helpful in order to be able to mix the properties of different liquids, such as different colors or viscosities.


Notes on configuring fluid simulations

Generating liquids with standard emitters

As already demonstrated in the example above, liquids can be produced by adding a Liquify Modifier to a Particle Group. Among other things, the Liquid Contribution property of the particles is supplemented by this and typical physical properties of liquids can be specified. This also gives the particles Automatic Custom Properties that enable the reading and changing of liquid properties, e.g. via other modifiers such as the Data Mapper or the Math Modifier.

To use standard emitters as a source for a liquid simulation, the setup described below can be used. There, a Basic Emitter is used to generate particles and a flat cube with a Collider Tag is inserted as a ground plane to stop the particles from falling downwards.
A Liquify Modifier in the Particle Group of the generated particles with the Mode Liquify and the Liquid Contribution value 100% ensures that normal particles are automatically converted to complete liquid particles and can therefore fall down directly after emission and interact with neighboring liquid particles and the bottom cube.


Here you can see a basic setup for the generation and use of liquid particles


It should be noted that liquid particles can also use a different radius than was originally used by the emitted standard particles. The Liquify Modifier offers an option to decide whether the original Radius of the regular particles should be adopted or whether the Default Radius setting for liquid particles from the Simulation Settings should be used.
The radius of the liquid particles generally plays a major role, as this also indicates the range of the forces acting between the particles. If the radii of neighboring liquid particles overlap, they will automatically repel each other. The closer the positions of the particles are to each other, the stronger the reaction. For this reason, the number of particles generated at the emitter must also be kept in mind.

The more particles are generated at the emitter, the greater the risk that the radii of the particles will overlap at the emitter, resulting in many 'splashes', i.e. particles that move away from the main stream of particles. This problem can be mitigated by further reducing the Radius of the particles or the Rate of newly generated particles. As this is not always possible, the Liqueiy Modifier also offers the Ease In parameter, which allows the transformation of regular particles into liquid particles to take place over the course of several animation frames. Overlapping particles push away from each other more slowly, which can prevent their explosive repulsion.

The following video shows the same basic scene, whereby the Default Radius of 1 cm for the particles has been changed to 5 cm. You can clearly see how the total volume of the liquid increases and therefore individual particles are already drifting apart at the emitter.



Generating liquids with the Liquid Fill Emitter

The use of standard emitters is always advisable when a continuous flow of liquid particles is required, e.g. as with a running tap. In cases where a liquid is to be suddenly present within a volume, e.g. in a swimming pool, the use of the Liquid Fill Emitter is recommended. This fills an assigned volume abruptly with liquid particles and can automatically avoid the initial overlapping of particles, as these are generated in a fixed grid and not randomly placed.

The distance between the particles in the selected arrangement pattern can either be taken based on the Default Radius value from the Simulation Settings for liquids, or a separate Distance value can be entered. When entering your own distance, make sure that it is not smaller than twice the radius of the liquid particles so that repulsions do not occur when the particles are created.

Unlike standard emitters, the Liquid Fill Emitter cannot activate the emission of particles over a longer period of time. The emission always takes place in exactly one frame of the animation.


Unlike when using the Basic Emitter, any volume can be filled with the Liquid Fill Emitter in one go without any overlap between the liquid particles.


In the example above, a simple Cube primitive object was assigned in the Liquid Fill Emitter as the volume for generating the particles, which was placed within a simply modeled basin. This emission cube should then be switched to invisible, at least for the rendering. It is also helpful if the volume generated for the emission is slightly smaller than the space that is to be filled by the liquid. This makes the collision calculation between the liquid and the vessel to be filled more robust. In this case, the container object is also given a Collider Tag. The liquid particles react to this automatically without the need to use an additional Collide Modifier.

Note:

Although liquid particles automatically collide with other dynamic objects or objects that have a Collider Tag, adding a Collide Modifier can still be helpful, e.g. if the collision event is to be stored via a custom property or the number of collisions is to be evaluated. A corresponding example has already been shown here.


Mixing liquids

Liquid particles offer various settings to control their behavior when they come into contact with other liquid particles. The Target Density value, which can be found on both the Liquify Modifier and the Liquid Fill Emitter, is of particular importance. The greater that Density of a liquid, the more force it can exert on other dynamic objects, such as on cloth or rigid bodies, and the faster this liquid sinks in another liquid that has a lower density.
In the following example, the orange particles have a lower density than the blue particles in the pool. They therefore have greater buoyancy and float on top of the pool liquid.

Both emitters used (Liquid Fill Emitter for the pool and Basic Emitter for the water jet) send their particles to the same Particle Group, in which a Liquify Modifier ensures the conversion of the orange particles to liquid particles. In the Liquify Mode of the Liquify Modifier, only the particles that have not already been converted to a liquid are processed. The properties of the particles of the Liquid Fill Emitter that are already emitted as liquid are therefore not affected by the Liquify Modifier. We can therefore define different property values for the two liquids using the Liquify Modifier and the Liquid Filli Emitter.


The particles with the lower density (here the orange-colored particles) automatically float on the liquid with the higher density in comparison (here the blue particles).


In the following example, the density of the orange particles has been increased to such an extent that it is greater than the density of the blue particles. The simulated water jet therefore dips into the pool liquid and sinks.



If all liquid particles have the same density, they mix together equally. None of the liquids sinks or rises permanently. Mixing depends only on the movements within the two liquids, their liquid properties and external forces.



Even if both liquids have identical Density values, a separation can still be forced. The Mixture ID property on the liquid particles is available for this purpose. Only particles that have an identical Mixture ID value can mix depending on their Density. Particles that have different Mixture ID values automatically separate from each other, as in the following video.



More common, however, is the case where the properties of the different liquids are supposed to mix when they meet. Adding a Blend Modifier to the Particle Group is suitable for this purpose. In the example in the following video, the Color values of the particles are mixed in this way as they approach each other, which can also be used to mix differently colored liquids.



Basic types of liquids

The generic term liquid often simply refers to water, but we can also simulate toothpaste or honey, for example, with liquids. The differences between these various materials and elements lie in their flow properties, known as Viscosity. At high Viscosity, the liquid behaves more like a viscous mass, whereas at low Viscosity values it appears thinner.
These effects can be supported by adjusted Density values (viscous materials are often denser than low-viscosity water, for example) and Damping specifications (greater damping means that movements in the simulation come to rest more quickly). These properties can also be found on the Liquify Modifier or the Liquid Fill Emitter.


The liquid particles behave like toothpaste or jelly, for example, due to their high Viscosity and Damping values.


By reducing the Viscosity, the behavior of low-viscosity liquids can be simulated. This is shown in the following video.


In general, the thinner a fluid simulation should appear, the smaller the Radius of the particles should be. This means that more particles have to be simulated per volume. The simulated liquid can therefore move even more closely along irregular surfaces and display finer details, such as small waves. However, this is also associated with more complex calculations and therefore a longer simulation time. It is therefore always important to find a sensible ratio between the desired level of detail of the simulation and the number of particles generated.


Thanks to the high number of particles and low Viscosity values, the simulation behaves like water.


Direct comparison of liquids with different Viscosities.


Using liquids as geometry

By default, liquid particles are displayed just like normal particles and can be rendered in the same way. For example, a MoGraph Cloner Object or a Redshift Object Tag can be combined with the Particle Group to calculate any objects or standard shapes at the particle positions. This can be helpful if, for example, granules or sand are to be represented, as the behavior of these elements can also be approximated by a fluid simulation. However, organic surfaces are common for classic liquids, which can then also be textured with corresponding liquid materials, for example.


On the left you can see the rendered particles, on the right the geometry calculated from them by the Liquid Mesh.


In principle, the combination of Volume Builder and Volume Mesher with the Particle Group can also be used for this purpose. However, the Liquid Mesher is even better suited, as it contains additional settings specifically for the display of liquids, e.g. to automatically display individual drops at a reduced size or to interpolate the colors of the particles along the surface of the liquid.

The Liquid Mesher can be placed at any position within the Object Manager. It automatically affects all Particle Groups within the Simulation Scene. This means, for example, that no manual linking to Particle Groups is required. However, individual Particle Groups can also be excluded if desired, e.g. if you want to retain the standard display of individual particles in the scene while other Particle Groups are to be calculated as liquid. This is because it can be used to process all particle types that have been assigned a Liquid Contribution value with a Liquify Modifier, even if this is only 0%.

Among other things, the convergence of neighboring particles and the polygon density of the calculated polygon hull can be configured on the Liquid Mesher. However, the Export section of the Liquid Mesher is particularly important for rendering, as this is where you select the properties that are to be made available within the scene and also during rendering. As a rule, this is at least the Geometry of the liquid. If, for example, the colors of the particles are also to be transferred to the surface of the liquid, the Color option must also be activated. This creates a Vertex Color Tag with the name __color__ on the Liquid Mesh, which can then be read out in the material with a Vertex Attribute Node and linked to the Base Color input of a Standard or OpenPBR material, for example.


Two different colored liquids are mixed here. A Blend Modifier calculates the color matching of the particles. A Liquid Mesher creates a suitable mesh that can then be textured with materials.


The scene above also demonstrates the use of Data Mapper Modifiers to change the Viscosity and Surface Tension of the liquid during the simulation. In the explanation of the Custom Properties of liquid particles, you will find an additional example in which the changing of liquid properties during the simulation is demonstrated.