You need to own Obi Fluid asset for these features
Obi supports two fluid rendering techniques: spherical impostors and screen-space splatting, implemented by ObiParticleRenderer and ObiFluidRenderer, respectively.
Left: fluid rendered as spherical impostors. Right: fluid rendered using screen-space splatting.
Spherical impostors are a special type of billboards (camera-facing quads) which look like perfectly-lit, highly tesselated 3D spheres, at a fraction of the cost. The ObiParticleRenderer component can be used to render your fluid particles as tiny spheres using this technique.
In order to do this, just add the component to any actor (for instance an ObiEmitter, but it can also be used to draw cloth or ropes). You can also set the color of the particles, and scale the radius used when rendering them.
Screen-space splatting involves using the individual billboards generated by an ObiParticleRenderer to draw a smooth, continuous representation of the fluid.
In order to use a FluidRenderer, you need to have a ObiParticleRenderer set up. Then add an ObiFuidRenderer component to any camera you'd like the fluid to be visible from, and assign the ObiParticleRenderer to its "Particle Renderers" property.
There are many possible ways to render fluid. Obi uses a screen-space method that does not involve generating a precedural mesh each frame, thus reducing CPU workload and taking full advantage of the GPU for rendering. The rendering process has 4 steps that happen every frame:
From left to right:
It is possible to use custom shaders to perform steps 2 (thickness/color rendering) and 4 (final render). Step 2 is performed using the "Color material" or the fluid renderer, and step 4 uses the material attached to the "Fluid material" property. There are two different color materials/shaders included by default: FluidColorBlend and FluidColorOpaque:
Also, there are two default materials/shaders to perform the final rendering step: