--- title: "Condition" url: "https://help.maxon.net/c4d/en-us/Content/html/OFPCONDITION-FP_CONDITION_GROUP.html" section_path: "Simulate Menu > The Simulation System > Particle Conditions > Condition > Condition" element_id: "OFPCONDITION" group_id: "FP_CONDITION_GROUP" description: "Here you can select the property that you want to query from the particles. This property can then be modified with the following settings and finally …" --- ## Condition ### Property Parameter ID: `FP_ATTRIBUTES` Here you can select the property that you want to query from the particles. This property can then be modified with the following settings and finally compared with your own values. The particles whose property then fulfills this comparison will be provided by the *Modifiers* and other *Conditions* subordinate to the *Condition*. For example, only the particles that exceed a certain *Speed* or have a certain *Age* can be changed. Please note that an additional component must be selected for some of these properties. This is the case for all properties that are managed as a vector. In addition, all positions, direction vectors and rotation angles are calculated in the world system or, in some cases, relative to the axes of the *Condition* object itself. The following particle properties can be read out: - **Age**: The age of the particles measured in frames. This will always be between 0 and the maximum lifetime of the read particle. - **Alignment**: The alignment will be read out relative to an axis direction of the *Condition* object as a single angle. Use the separate **Extract** menu to define this axis direction. - **Angular Velocity**: Various components of the rotation speed can be output via the **Extract** setting. - **Color**: The red, green, blue and alpha components of the particle colors can be output individually. - **Distance Traversed**: This is the distance a particle has traveled since it was created. - **Group**: This can be used to query the group to which a particle belongs. This is particularly helpful when using the Condition with a *Multi Group*, which allows particles from different groups to be managed simultaneously. - **Lifetime**: This queries the maximum lifetime of each particle. This property is often assigned directly by the Emitter when a particle is created. - **Position**: This can be used to query the distance of the particles or their global X, Y and Z position components. - **Radius**: The **Radius** property of the particles. - **Velocity**: Various properties and global components of the particle velocity are read out. Please note that the speed in the simulation will be used as a vector that indicates the direction of flight. The length of this vector reflects the Velocity Speed. - **Custom**: In this special mode, you can also output the values saved in user properties that you have created yourself. These must first be created in the [Scene Settings](https://help.maxon.net/c4d/en-us/Content/html/OPBDSCENE-PBDSCENE_FP_GROUP.html.md). Values in these custom properties can be changed, for example, with *Math* and *Data Mapper* modifiers or also within *Particle Node Modifiers* with *Set Custiom Property* nodes.\ When this mode is activated, a text field with a drop-down menu appears on its right-hand side. You can use this to display a list of the user properties already created, from which you can also select the desired property. Alternatively, if you know the name of the property, you can also enter its name directly in the Name field.\ Please note that user properties also have their own data types. If you select a property for the output property that uses a different data type, the values may be changed or converted.\ Some properties are already automatically available when processing liquid particles: ![Image: 2025-3_Liquid_Particles_AutoUserProperty_01.png](https://help.maxon.net/c4d/en-us/Content/Resources/Images/2025-3_Liquid_Particles_AutoUserProperty_01.png)\ When using liquid particles, their most important properties are automatically available as user properties (demonstrated here using the example of a Data Mapper Modifier). These special properties can be used to change a liquid over time, for example, or to keep it dependent on other properties of the simulation. Liquid particles can be generated directly with the *Liquid Fill Emitter* or by converting standard particles with a *Liquify* modifier. Please note that many of the user properties listed below can also be changed at any time using a *Liquify* modifier.\ These properties are automatically available for this purpose: - *Liquid Contribution [Floating Point]*; This value is between 0 and 1 and indicates whether a particle only has to adhere to the forces, conditions and modifiers of the particle simulation (value = 0) or whether it is a liquid particle (value = 1) for which additional forces, such as gravity and forces between neighboring liquid particles, apply. By changing this value, particles can therefore switch continuously between the properties of "normal" particles and the properties of liquid particles. - *Viscosity [Floating Point]*: This value describes the flow resistance of the liquid. Small values make a liquid appear watery and thin, higher values make the simulation appear viscous and honey-like. - *Surface Tension [Floating Point]*: This describes the *Surface Tension* of the liquid. With increasing values, the liquid particles tend to clump together more strongly. This can be used, for example, to obtain larger individual droplets. It should be noted that this property also depends on the existing particle density (*Target Density*). - *Target Density [Floating Point]*: This describes the particle density per unit volume that the simulation should achieve as far as possible. A higher particle density per volume has an effect in combination with other dynamic simulation objects, for example. A liquid with a higher density can then exert a stronger force on clothing or rigid body objects.\ The forces acting between the liquid particles also depend on this density. If more particles are drawn together in the same space, the *surface**tension* can also show stronger effects. In addition, within the same simulation, a liquid with a lower density will always float on a liquid with a higher density, just as oil floats on water, for example. - *Ease In [Floating Point - Time]*: This value specified in simulation images describes the time it takes for the particles to change from normal particle properties, e.g. specified by the emitter and influenced by particle modifiers, to characteristic liquid properties. Since pure liquid particles can react extremely to overlapping radii during formation at the emitter, for example, this transition time can be used to mitigate the repulsion of colliding liquid particles at the emitter. - *Mixture [Index]*: All particles with the same *Mixture ID* value are simulated as one liquid. Liquid particles with different *Mixture ID* values can no longer be mixed freely and therefore remain separate from each other within the simulation. - *Friction [Floating Point]*: This value relates to the interaction of the liquid with collision objects, e.g. objects that have a [Collider Tag](https://help.maxon.net/c4d/en-us/Content/html/COLLIDERTAG.html.md). The value then describes the energy loss due to friction that the liquid suffers during contact with the collision object. Please note that the actual friction and the actual energy loss are also influenced by the **Friction** value on the *Collider Tag*. The friction of the liquid is only taken into account if the collision object also has friction. - *Stickiness [Floating Point]*: This value relates to the interaction of the liquid with collision objects, e.g. objects that have a [Collider Tag](https://help.maxon.net/c4d/en-us/Content/html/COLLIDERTAG.html.md). The value then describes the stickiness of the liquid to the collision object. Please note that the stickiness is also influenced by the **Stickiness** value on the *Collider Tag*. The **Stickiness** of the liquid is only taken into account if the collision object also has **Stickiness** values above 0. - *Interaction Mass [Floating Point]*: This value specifies the mass of the fluid particles. The mass plays a role above all in the interaction with other dynamic simulation objects, because together with the speed of the particles, this results in the force that the particles can exert. Particles with a larger mass can, for example, deform simulated substances more strongly or move rigid bodies more easily. - *Damping [Floating Point]*: This percentage value describes the energy loss within the fluid simulation. The greater the damping, the slower the fluid particles move and the faster strong accelerations are reduced. Damping can therefore prevent the simulation from 'exploding', but also leads to a strongly decelerated and unnatural behavior of the fluids if the values are too high, which in extreme cases can then be completely frozen. - *Density [Floating Point]*: This value is only intended for the output and can therefore not be written to the liquid particles. This is the current density of the liquid in the vicinity of the respective particle. For particles in the core area of a liquid, this value should therefore be relatively close to the desired *Target* *Density*. The effect of these properties on the liquid simulation can be read in the description of the **Liquid Fill Emitter**, among other things. The following three properties can already be queried in a converted form: - **Age Percentage**: The age of the particles measured in frames is divided by their maximum lifetime. This results in a percentage value that shows the current age of each particle as a value between 0% (newly created particle) and 100% (particle at the end of its life). - **Angular Velocity Speed**: Calculates an angle that indicates the rotational speed of a particle per second. - **Velocity Speed**: This is the current airspeed of the particles per second. ### Extract Parameter ID: `FP_VECTOR_EXTRACT` ### Extract Parameter ID: `FP_ALIGNMENT_EXTRACT` ### Extract Parameter ID: `FP_COLOR_EXTRACT` ### Extract Parameter ID: `FP_EXTRACT` The properties output, which are described by vectors, also offer this menu for reading out individual components or calculating individual angles relative to specific axis directions. The following particle properties are affected: - **Property**: *Alignment* - **Property**: *Angular Velocity* - **Property**: *Color* - **Property**: *Position* - **Property**: *Velocity* - **Property**: *Custom with data type vector* - **Property**: *Custom with data type Color* - **Property**: *Custom with data type quaternions* ![Image: subgroup.gif](https://help.maxon.net/c4d/en-us/Content/Resources/Images/subgroup.gif)\ Input Math ### Formula Parameter ID: `FP_CONDITION_INPUT_FORMULA` ### value - The Input Value Parameter ID: `FP_CONDITION_INPUT_FORMULA_VALUE` The value selected via the **Property** and **Extract** menus will always be a floating point value, which you can convert individually here. For example, you can combine the key term *Value*, which represents the ascertained particle value, with simple mathematical calculations. For example, if you write *0.5\*value* in the formula field, you will automatically halve the values read out.\ An overview of all available calculation types and also constants (e.g., *pi*, for retrieving the circle number π) or functions (such as *sin()* for the sine) can be found [on this page](https://help.maxon.net/c4d/en-us/Content/html/6194.html.md). ### Bypass Parameter ID: `FP_CONDITION_BYPASS` By activating this option, the sorting of particles by this *Condition* can be enabled or disabled at any time. This can be combined with keyframes, for example, to briefly let all particles through for influencing, e.g., by subordinate *Modifiers*. ### Combine Mode Parameter ID: `FP_CONDITION_COMBINE_MODE` This setting makes it possible to combine several *Conditions*. This allows even more complex filtering and queries of particle properties to be created. Let's look at this simple example: ![Image: 2024-4_Particles_Conditions_06.png](https://help.maxon.net/c4d/en-us/Content/Resources/Images/2024-4_Particles_Conditions_06.png)\ Two Conditions are combined using 'And'. The intersection between the particles of the two Conditions will be calculated. The image above shows a *Basic Emitter* that emits bluish particles. In order to implement a partial recoloring of these particles, we add two *Conditions* under the *Particle Group*. The first *Condition* only allows particles through whose Y position is less than 0. The second *Condition* only lets through particles whose **Lifetime** is greater than 100 frames. Accordingly, a basic **Lifetime** of 100 and a maximum **Lifetime Variance** of 20 frames were used on the Emitter. Using a *Math* Modifier under the second *Condition*, we increase the red component of the particle colors to 1. Both *Conditions* use the *Combine Mode* **And**. As a result, only the particles that have a negative Y position AND a lifetime of more than 100 images are recolored red (see figure above). ![Image: 2024-4_Particles_Conditions_07.png](https://help.maxon.net/c4d/en-us/Content/Resources/Images/2024-4_Particles_Conditions_07.png)\ Two Conditions will be combined via 'Or'. Now we will change the second Condition to **Combine Mode** *Or*. As a result, all particles with a negative Y position and all particles with a Lifetime of more than 100 frames will be recolored red. The image above shows this result. ![Image: 2024-4_Particles_Conditions_08.png](https://help.maxon.net/c4d/en-us/Content/Resources/Images/2024-4_Particles_Conditions_08.png)\ Two Conditions will be combined via 'Xor'. The third **Combine Mode** is called *Xor*, which is an abbreviation of *Exclusive Or*. This means that only those particles will be allowed through for which only one of the Conditions applies. In other words, only all particles whose **Lifetime** is over 100 frames, but are in the positive Y range or particles which are in the negative Y range but have a **Lifetime** of less than 100 frames. This means that only one of the two *Conditions* must be met for a particle to change its color to red. The image above shows the result after the second *Condition* has been changed to *Xor*. The last **Combine Mode** is called *Inverse* and automatically deactivates a separate check by the *Condition*. The **Comparison** settings and the option to enter your own Comparison value are no longer available. In this special mode, the *Condition* will take the particles sorted out by the other *Conditions* in the higher hierarchy and invert their selection. The particles that do not fulfill any of the *Conditions* will now be read out. If we switch the second *Condition* to *Inverse*, only the sorting out of particles with a negative Y-coordinate will remain. This selection is reversed, resulting in reddish particles in the positive Y range (see following image). ![Image: 2024-4_Particles_Conditions_09.png](https://help.maxon.net/c4d/en-us/Content/Resources/Images/2024-4_Particles_Conditions_09.png)\ Two Conditions were combined via 'Inverse'. ### Comparison Parameter ID: `FP_CONDITION_CMPOPERATOR` ### Comparison Parameter ID: `FP_CONDITION_ALIGN_CMPOPERATOR` ### Comparison Parameter ID: `FP_CONDITION_GROUP_CMPOPERATOR` In all **Combine Modes** except *Inverse*, you can select one of the typical logical checks for the queried particle property here. These include *Greater Than*, *Less Than or Equals*, *Equals* or *Not Equals*. Value ranges can also be queried with *Inside Range* and *Outside Range*. This makes it possible, for example, to sort out only particles with an age percentage between 10% and 50% (*Inside Range* with **Low** 10% and **High** 50%) or particles whose age percentage is either between 0% and 10% or between 50% and 100% (in *Outside Range* mode). In fact, the selection options for the **Comparisons** will automatically be restricted by some **Properties**. For example, only the *Inside Range* and *Outside Range* checks will be available for the *Alignment* **Property** and only *Equals* or *Not Equals* can be used as a **Comparison** for the *Group* **Property**. The **Comparison** will be used between the read-out particle **Property** and the defined **Value** or **Lower/****Upper** value range or **Link**. ### Value Parameter ID: `FP_CONDITION_CMPFLOATVALUE` · Range: [-∞..+∞] For all particle properties except *Group* and for all *Comparison* modes except *Inside Range* and *Outside Range*, enter your Comparison value here. All particles whose properties then stand up to comparison with this value will be passed on to subsequent objects in the hierarchy. ### Lower Parameter ID: `FP_CONDITION_CMPFLOATRANGE_LOWER` · Range: [-∞..+∞] ### Upper Parameter ID: `FP_CONDITION_CMPFLOATRANGE_UPPER` · Range: [-∞..+∞] The Lower and Upper value limits can be entered here for the two **Comparison** modes *Inside Range* and *Outside Range*. ### Link Parameter ID: `FP_CONDITION_CMPLINK` For the *Group* **Property**, you can link to a *Particle Group* here. To do this, you can drag the corresponding group directly from the *Object Manager* into this field or you can start the selection mode by clicking on the pipette and then click on a *Particle Group* in the *Object Manager*. The small triangle to the right of the link field also gives you access to commands for deleting the link (the *Particle Group* will then be retained), for displaying the group in the *Object Manager* or for selecting the *Particle Group*. ### Chance Parameter ID: `FP_CONDITION_CHANCE` · Range: [0..100%] A random evaluation of the *Condition* can be added via this value. At 100%, all randomness will be switched off and only the **Comparison** and the specified values will be used. With a **Chance** below 100%, the random proportion of particles processed by the *Condition* will increase. With a value of 25%, only a quarter of the particles will be processed by the *Condition*. This setting can therefore also be used to randomly select particles if you combine a particle property with a *Comparison* through which all particles will normally be passed (e.g., the Condition that the **Age** of the particles must be *Greater Than or Equals* 0). But beware: you must bear in mind that the Condition will be processed again in each animation screen. Particles that may not have been passed through initially due to a low Chance can still be selected at a later point in the animation. This can then look like the following image: ![Image: 2024-4_Particles_Conditions_10.png](https://help.maxon.net/c4d/en-us/Content/Resources/Images/2024-4_Particles_Conditions_10.png)\ A progression in the selection of particles through a low **Chance** setting. The image above shows a *Base Emitter* with a single *Condition* in its group. This queries the **Age** of the particles and checks whether this is *Greater Than or Equal to* 0. A **Chance** of *2 %* was used. This means that 2% of all particles in each frame will be sorted out and recolored reddish using a *Math Modifier*. Theoretically, all particles could be colored red after 50 frames, with a uniform progression to the newly created particles.\ On the introductory page to the *Conditions* and also in the general [introduction to the particle system](https://help.maxon.net/c4d/en-us/Content/html/Particles_Introduction.html.md) you will find further examples of the use of **Chance**. ### Seed Parameter ID: `FP_CONDITION_SEED` · Range: [0..2147483647] The **Chance** random calculation will be based on this value. A changed **Seed** value will also lead to a recalculation of the **Chance** coincidences.