Emitter blueprints

ObiEmitterBlueprints are assets that define physical properties of the fluid emitted by an emitter, such as viscosity and density. You can assign only one emitter blueprint per emitter, but you can define as many as you want (water, smoke, honey, blood, sand etc.) and switch between them at runtime.

All collision-related parameters of a fluid, such as stickiness or friction, are not controlled trough emitter blueprints, but trough ObiCollisionMaterials. Check out the collisions manual page for more info.

To create a ObiEmitterBlueprint, right click on any folder of your project and select Create->Obi->Fluid blueprint/Granular blueprint. Now we will go over all properties exposed by each one:

Fluid blueprint

Fluid particles will stablish density constraints between them, which will try to hold a constant density in the vicinity of each particle.

Capacity

Maximum amount of emitted particles. The emitter will generate a particle pool containing this amount of particles, newly spawned particles will be taken out of the pool and destroyed particles will return to it for later reuse.

Resolution

Resolutions from left to right: 1,2.5,5

This parameter controls the size and amount of particles used to represent 1 cubic meter -or square meter, in 2D- of fluid volume. The default value (1) will use 1000 particles per cubic meter. Higher values will cause the size of particles to decrease, so that more particles will be neeeded per volume unit.

Rest density

Yellow particles have a density of 1. Density of blue particles from left to right: 1, 1.5, 3

Fluid density in kg/m3. This value is used to calculated the mass of each particle, at the current resolution. Particle mass is directly proportional to this value, that is, high density fluids will be made out of high-mass particles, and low density fluids will be composed of light particles. As a result of their mass, denser fluids tend to sink while lighter fluids tend to float when mixed with each other.

Smoothing

Smoothing radii from left to right: 1.2,2,3

This sets the radius of the zone around each particle considered when looking for neighbours to calculate fluid density. It is a percentage of the actual particle radius. Larger values will yield smoother fluid, that will also be more expensive to simulate. A value of 1 (100%) will make particles only consider neighbours that are actually in contact with them. A value of 2 (200%) will extend the particle influce to a zone twice as big as the particle itself. As a rule of thumb, this value should be around 1.5-3.

Viscosity

Viscosities from left to right: 0,0.1,1

High viscosity replaces individual particle velocities with the average velocity of their neighborhood, causing the fluid to look thicker and flow slower. Toothpaste, ketchup and honey are examples of viscous fluids.

Obi uses a corotational viscosity model, which means neighborhood rotation is preserved an only linear velocities are affected. This makes a huge difference in the behavior of high viscosity fluids, compared to traditional viscosity models that dampen rotational motion.

Highly viscous fluid exhibits buckling.

Polarity

Surface tensions from left to right: 0.01,0.1,1

Polarity determines how strongly particles attract each other, higher values cause particles to attract their neighbors. Because particles must keep a specific density and will repel each other if too close, high polarity values lead to surface tension and will cause spherical drops to form. Keep this value between 0 and 6-8.

If the difference in the polarity values of two different fluids is equal to or larger than 1 they will be considered immiscible and won't attract each other, keeping the fluids from mixing.

Fluids of similar polarity mix with each other, as their particles are mutually attracted.
Fluids of different polarity do not mix, as their particles repel each other.

Buoyancy

Buoyancies from left to right: -1,-0.2,0.2

Controls the relative density between the fluid and the surrounding air. A value of -1 will cause the fluid to accelerate in the direction and rate specified by gravity (as it makes it denser than air). A value of 1 will cause the fluid to accelerate in the opposite direction (as it is lighter than air). A value of 0 will make the fluid ignore gravity.

Atmospheric drag

Buoyancy is zero. Drags from left to right: 0,20,50

Amount of air resistence. High values will cause particles near the fluid boundary to lose energy faster, which can be used to model smoke and gases.

Atmospheric pressure

Buoyancy is zero. Pressures from left to right: 0,200,-200

Amount of inward pressure applied by air on the surface of the fluid. High values will cause the fluid to be more compact. Low values will allow the fluid to expand easily.

Vorticity

Vorticities from left to right: 0,0.5,1

Amount of vorticity confinement, it will contribute to keep vortices in the fluid rotating. Keep this value relatively low (0-0.5) for best effect.

Diffusion

Rate at which the diffusion data is smoothed out between particles. Higher values will result in faster diffusion.

Diffusion Data

There's 4 diffusion channels available. The meaning of these channels is completely up tp you: each one could be temperature, color, viscosity, or any other. The data contained in these 4 channels is smoothed out between particles over time, at a rate determined by the average diffusion property (see above).

Granular blueprint

Granular materials are made of particles that behave like rigid spheres, which can be useful for sand-like effects (boulders, debris, etc). Their resolution and rest density parameters behave in the same way as their fluid counterparts.

Randomness

Randomness from left to right: 0,15,30

Variation in particle size. This is a percentage over the base particle size dictated by the material resolution, so a value of 20 will mean particles will be between 100% and 120% of their base size.