No doubt you will have noticed the problem of getting unwanted holes in thin or highly accelerated fluids, creating a torn look. There are ways to reduce these gaps, for example by increasing “Surface tension” or “Viscosity”. Other methods are based on RealFlow’s "Drag Force" daemon or high “Friction” settings, when there is particle-object interaction. However, these approaches all share one major disadvantage: they strongly influence the behaviour and look of a fluid. Moreover, if particle velocities become too high, even strong decelerating forces will not help anymore. The “Sheeter” daemon is able to detect holes and fill them with particles, without increasing the emitter’s “Resolution” value. The result is a smooth stream of particles, perfectly suited for high-velocity and slow-motion simulations, or fluid-object collisions.
In RealFlow 2014, the “Sheeter” daemon has experienced a complete overhaul and now has more features. The most obvious enhancement is that it is now less restrictive in terms of particle creation. Additionally, the daemon is now capable of handling thin fluids, has improved methods of avoid adding new particles in corners of collision objects, and it features the formation of tendrils.
Tendrils occur, when particles leave the main body of fluid, because they are faster than the remaining particles. When a tendril particle separates the “Sheeter” will fill the holes between this particle and the fluid cloud. The result is s structure similar to a fibre. RealFlow's “Sheeter” daemon is able to identify possible candidates for tendrils, and you can choose how many of these particles you want to separate from the rest of the fluid. You can also define a force to further accelerate the tendril particles, and it is possible specify for how long this force should act on these particles. Of course, the creation of tendril particles can be activated or deactivated.
Another, very effective way of getting more tendrils without having to activate the daemon's feature is to add noise to the fluid. Suitable methods to do this are:
Increase the emitter's “V random” and “H random” parameters to values greater than 1.0.
Add a “Noise Field” daemon.
Increase the emitter's “Surface tension” value. In combination with high “V/H random” parameters you are able to produce additional tendrils and droplets. You can also add a “Surface Tension” daemon instead, but please do not activate its “Balanced” option.
Min cavity size
Here you can determine the maximum size of the holes. In other words: only holes with a radius greater than the given value will exist and not be filled with particles. Please bear in mind that “Min cavity size” is normalized and therefore not measured in metres. This is necessary to make the hole-filling process independent from an emitter's “Resolution”. Internally, RealFlow calculates the distance as follows:
Distance [ m ] = Min cavity size * Particle radius * 2.0
Particle radius = 1.0 / (1000.0 * Resolution1/3)
Although this parameter accepts any positive value, the “Sheeter” daemon does have its limits, and there are situations where it is impossible to fill all holes. This, for example, can be the case when the fluid particles are very fast or when the holes are large. Good values range between 1.0 and 3.5, but this strongly depends on your simulation.
“Min cavity size” also affects particles which separate from the main body of fluid. If such a particle is very fast then it might exceed “Min cavity size” and will not be considered anymore. The result is a lonely, isolated particle without any connection to the particle cloud. To avoid this, we recommend using a “k Speed” daemon with activated “Limit & Keep” option or a “Drag Force” daemon.
Use velocity alignment
This feature improves the quality of simulation with thin sheets of fluids, for example with the “Linear” or very thin “Square” emitters. In these situations it is often problematic to create enough particles and the result is a torn look with lots of holes. Another situation, where velocity alignment helps to improve a simulation is when particles collide with objects. In the object's corners you can often see unwanted accumulations of particles. To avoid this behaviour, increase the “@ alignment threshold” angle.
Here is some additional information if you are interested in the technical concept behind the “Sheeter's” velocity alignment:
Let's take a closer a look at two particles of a simulation. We call them A and B. Particle A is moving at a certain velocity which also determines its direction – this is the motion vector. Another vector points in the direction of particle B. The angle (α) between both vectors is measured by the “Sheeter” daemon and compared against “@ alignment threshold”. If this angle is smaller than the given parameter value then a new particle will be created between A and B. The following illustration explains this concept:
@ alignment threshold
This parameter is only available if “Use velocity alignment” is set to “Yes”. Especially with very thin sheets of fluid you can often observe holes, despite very high “Min cavity size” values. Thin sheets of fluids can be created with a “Linear” emitter, for example, or through collisions with objects. These are typical situations where it is necessary to increase “@ alignment threshold” to finally fill all occurring holes. Another case is when the fluid collides with objects. Here, particles are often created in the collision body's corners. To avoid this, please increase the value. The parameter's unit is degrees [deg].
Use relative speed
To unlock the following two parameters, please set this option to “Yes”. By taking the particles' speed into account you are able to do a lot of interesting things, and avoid typical problems that occur with the hole-filling process in general:
Restrict the particle creation process to particles within the given range between “@ min/max relative speed”. This way you can create fast moving, trailing drops which are not linked to the main body of fluid.
Avoid very long tendrils. If a particle is very fast compared to its neighbour then you might see very long and thin tendrils. By defining a “@ max relative speed” value you are able to break the link between these particles.
Another situation where it is helpful to define speed thresholds is when one particle is moving, while its neighbour is colliding and suddenly stopping. Normally, you do not want the “Sheeter” to fill the gap between this particles. So, when the moving particle's speed is greater than “@ max relative speed” the daemon will not fill the gap.
We recommend taking a look at the emitter's “Statistics” panel to monitor the fluid's minimum and maximum velocity. These values will help to find working “@ min/max relative speed” thresholds.
@ min relative speed
Only particles with a velocity greater than the given value will be taken into account for the hole-filling process. Please also read the descriptions under “Use relative speed”. This parameter is measured in metres per second [m/s].
@ max relative speed
Only particles with a velocity smaller than the given value will be taken into account for the hole-filling process. Please also read the descriptions under “Use relative speed”. This parameter is measured in metres per second [m/s].
Use age
It is also possible to take the particles' age into consideration, for example to break up the fluid at a certain point in time. Simply switch this option to “Yes” to make use of the associated “@ max age” value.
@ max age
When the “Use age” option is active you can specify an age in seconds [s]. Only particle with an age smaller than the given value will be used for the hole-filling process. Older particle are not taken into consideration.
Cavities detection ratio
With this value it is possible to determine how many percent of all detected holes you want to fill. “Cavities detection ratio” ranges from 0 to 1. With 1.0 all of the detected holes will be filled – this corresponds with 100%. A value of 0 means that the hole-filling process is disabled. This can be very interesting if you only want to create tendrils, but do not want to fill the space between the trailing particle and the main body of fluid.
Create tendrils
If you want to create these nice, long fibres, also called tendrils, please activate this feature. Once it enabled, RealFlow will analyse the fluid and determine candidates. The number of possible tendril particles strongly depends on the fluid's shape, curvature, and velocity. For these reasons
the actual number of tendrils might be smaller than the value you have entered under “@ count”.
there are situations, where you will not see any tendrils at all or just a single fibre.
Once “Create tendrils” is active, the following four parameters are unlocked.
@ count
Here you can specify how many tendril particles the daemon should create. Please bear in mind that the actual number of tendrils can be smaller than the given value, because the number of tendril candidates depends on the fluid's characteristics (also see “Create tendrils”).
@ creation time
You can determine at which point in time the “Sheeter” daemon should start to create the tendrils. This value is measured in seconds [s] and it is a one-time event. This means that it is (currently) not possible to create particles at different moments in time.
@ acting time
In order to separate the tendrils from the main particle cloud, a force is required (“@ strength”). Here you can define how many seconds [s] this force should act on the particles. With higher settings you are able to create longer fibres. When the trailing particles are very fast (= high “@ strength”) then it might happen that the tendril breaks apart and loses its connection to the main fluid body.
@ strength
This is the force that acts on the tendril particles. With high settings it is possible to create very nice fibre effects, for example blood, paint, or other viscous substances. You can literally shoot out the particles and achieve fine and long tendrils. But, highly accelerated particles might also leave the “Sheeter” daemon's search radius. If this happens the space between the tendril particle and the fluid cloud cannot be filled anymore, and this results in isolated particles or droplets. If you want to remove isolated particles, please consider using a “k Speed” with enabled “Limit & Keep” option, a “k Isolated”, or a ”k Volume” daemon.