Even if you have experience working with different visual effects or fluid simulations, you will still encounter some terms specific to our tool. To make your life easier, we compiled a Zibra Liquids Glossary that should help you get used to our asset. This list will be expanded as we update our product.
Force interaction – Is a feature that enables liquid to push colliders. Without Force interaction, colliders apply force to the liquid, but not the other way around. This feature is only available in the full version.
Force field – Is a feature that allows you to apply force to the liquid in various ways. Force fields have different types that define how exactly the force is applied. Radial force field pulls or pushes liquid to/from a specified point. Directional force fields force liquid in a specified direction. A Swirl force field forces liquid to rotate around it.
Neural SDF representation
Neural SDF representation – Is compressed data generated for a Neural collider containing the shape of an object. It can only be generated in the editor and the generation process happens on ZibraAI’s servers. This data gets decompressed on the fly, exactly when liquid simulation needs it so that it’s stored in compressed form in the VRAM. Thanks to that, we can have complex liquid colliders in the real-time simulation, which would otherwise require too much computational power.
Liquid collider – Is a сollider component that defines the shape of an object for the purposes of the liquid collisions. Zibra Liquids supports two types of colliders – both analytical and neural.
Analytic collider – Is a liquid collider that allows you to use simple shapes (cubes, spheres, capsules, torus and cylinders) as colliders for the liquid.
Neural collider – Is a liquid collider that allows you to use any static mesh as a collider for liquid. Neural colliders use our custom Neural SDF representation, and need to be generated from the static mesh in the editor before they can be used.
Liquid manipulator – Is an object that defines user interaction with the liquid. Zibra Liquid has several types of manipulators: Emitter, Void, Detector, and Force Field.
Liquid emitter – Is a manipulator that creates new particles in the simulation. You need an emitter to get any liquid in the simulation. When you first create Zibra Liquid, one Emitter is automatically created and added to it. Apart from adding liquid, the emitter also counts the number of emitted particles per frame and their total amount (the counter is only available in the full version).
Liquid void – Is a manipulator that deletes particles inside it. It also counts the number of deleted particles per frame and their total amount (the counter is only available in the full version).
Liquid detector – Is a manipulator that detects how many liquid particles are in the specified volume (only available in the full version).
Simulation Grid – Is a grid that stores information about the simulation state, and allows particles to interact with each other. Higher grid resolution increases the simulation quality but decreases performance and also consumes more VRAM. When selecting liquid’s game object, you’ll see a preview of the grid resolution.
Liquid particle – Is an abstract primitive that represents a very small amount of liquid that cannot be subdivided. Whole simulation consists of many liquid particles.
Initial state – Is a state of the liquid in a single point of time, that can be used as the starting point of liquid simulation.
Rendering mode – Is a rendering method Zibra Liquid uses to render liquid to the screen.
There are multiple options with different visual, performance and compatibility characteristics:
- Particle render – Renders each particle separately, and then blurs them together, so that the entire liquid looks like a single big object. Doesn’t support orthographic cameras. Unless you have more than ~2 million particles this render is going to be slower compared to a mesh render. It is recommended to use Mesh render instead.
- Mesh render – Generates mesh out of the liquid, and then uses that mesh to render liquid much more efficiently. Also, for visuals, we run liquid raymarching when using this mode to simulate the path of the light in the liquid. This is usually the fastest rendering mode.
- Unity render – Generates mesh out of the liquid, and then lets Unity render that mesh using the normal Mesh Render component. You can set any Unity material you want for that mesh, but the built-in material options won’t work. You must select this render mode if you are targeting VR. Unity render can be somewhat slower compared to the Mesh render.
Liquid ray marching
Liquid ray marching – this is a process of marching through the liquid simulating the path of the light inside. It can also be called liquid ray tracing. In Zibra Liquids we use software ray marching in the case of the “Mesh render” rendering mode. We don’t use RTX or DXR (yet).
Visualize scene SDF
Visualize scene SDF – is an option to visualize liquid colliders. It can be used for debugging. This option works only when the Rendering mode is set to particle render.
Invert SDF – Is a feature that inverts any liquid collider. For example, if you invert the SDF of a sphere, the liquid will only be allowed inside the sphere and not the other way around.