Daemons : Filter

This daemon is used to swap particles from one fluid container to another and to separate them. "Filter" requires two fluid containers: a source and a target. Both fluids should have equal “Resolution” values to avoid instabilities.




The "Filter" daemon's parameter set has one subcategory:


RealFlow Scene

In RealFlow | Cinema 4D it is possible to use multiple "Scene" trees in the same project. To link a daemon to a different scene tree drag the appropriate "Scene" node to this field.

Source

Define one or more particle source(s) by dragging a fluid container to the field. Target and source fluids should have equal “Resolution” values to avoid instabilities.

Target

This is the fluid where the particles will be moved to when the adjusted “Condition” is true. If the field is left blank the filtered particles will be deleted. Target and source fluids should have equal “Resolution” values to avoid instabilities.

Filter When False

These are your options:

  • When enabled the particles will be sent to the fluid under “Target” if the condition of the fluid is fulfilled.
  • If the condition is not fulfilled the particle will be moved to the fluid from “Target (False)”. This is optional and “Target (False)” does not have to be used by default.
  • When disabled particles will only be moved to the fluid from "Target" when the condition is fulfilled.
Target (False)

If “Filter When False” is set to “Yes” all particles which do not fulfil the given condition will be sent to this emitter. This field does not necessarily need an entry and can be left blank.

Condition

You can select the desired condition by simply choosing one of the eight predefined options:

  • A condition tells RealFlow|Cinema 4D when a particle has to be transferred.
  • Once the condition is fulfilled, the particle will be attached to the target emitter and removed from the source.
  • With “In Range” or “Out of Range” the “Min Value” and “Max Value” fields are unlocked. You can then define a range with a minimum and a maximum value which will be used for this condition.
Attribute

When you are shifting particles you also need an attribute to be compared, e.g. “If speed is greater than 2.0 shift the particle from the source to the target fluid”. In this case, “Attribute” is “Speed”, the “Value” parameter is 2.0 and the “Condition” is “greater than”.

"Emitter ID" requires the "In Range" condition:

  • If the emitter Id is 3, for example, "Min Value" has to be 2.9 and "Max Value" is 3.1
  • An emitter's Id is shown in the HUD.

"Vorticity" has to be activated in the → fluid container (all fluid types, except "Dumb" have a "Compute Vorticity" option) before the simulation starts, otherwise the condition will never be fulfilled and there won't be any filtered particles.

Value

This is the trigger value for the condition. Please note that this field is inactive with “Condition” set to “In Range”, “Out of Range” and “Expression”.

Min Value

With “Condition” is set to “In Range” or “Out of Range”, this field becomes unlocked to define a range between “Min Value” and “Max Value”.

Max Value

With “Condition” set to “In Range” or “Out of Range”, this field becomes unlocked to define a range between “Min Value” and “Max Value”.

Expression

This field becomes active when “Condition” is set to “Expression”. RealFlow constantly checks against the given expression during a simulation and decides whether the condition is fulfilled or not. There is a long → list of keywords that can be used to create a certain condition.

Bounded

With this option it is possible to restrict the daemon to a certain volume.

Filter inside

Only available with an activated "Bounded" option:

  • “Yes”. The particles inside the daemon's bounding box will be affected
  • “No”. Filters the particles outside this box only.
Reset Age

When active, the filtered particles' age will be set to 0. Otherwise the age value of the original particle will be used.

Keep Source Particles

This option is suited for the creation of trails, for example. It should only be used with → "Dumb" particles or "Override Target" set to "Yes". Otherwise you might see instabilities and particles explosions.

Override Target (True)

This feature is needed when you work with cached fluids. Here, the simulation cache is cleared with each frame and new particles are loaded from the cached file sequence. Using them as source emitters will lead to instabilities, because the particles are not moved, but simply copied. If you also clear the target emitters with each step, you can avoid these problems. Please note that the result with this mode might slightly differ from the original simulation of the source fluid. Here, the target is only overwritten when the given "Condition" is fulfilled.

Override Target (False)

This feature is needed when you work with cached fluids. Here, the simulation cache is cleared with each frame and new particles are loaded from the cached file sequence. Using them as source emitters will lead to instabilities, because the particles are not moved, but simply copied. If you also clear the target emitters with each step, you can avoid these problems. Please note that the result with this mode might slightly differ from the original simulation of the source emitter. Here, the target is only overwritten when the given "Condition" is not fulfilled.

Randomness

Random percent

This is the probability of a particle to be filtered when it satisfies the filter condition. Higher values mean that more particles will be filtered.

Random seed

Change the random number generator's initialization. All positive and negative integers are accepted.

Random per frame

When active, the filter test will be performed per frame, not per simulation step. As a consequence, a particle's probability of being filtered decreases.