Volumetric data has numerous important applications in computer graphics and VFX production. It’s used for volume rendering, fluid simulation, fracture simulation, modeling with implicit surfaces, etc. However, this data is not so easy to work with. In most cases volumetric data is represented on spatially uniform, regular 3D grids. Although dense regular grids are convenient for several reasons, they have one major drawback – their memory footprint grows cubically with respect to grid resolution.
OpenVDB format, developed by DreamWorksAnimation, partially solves this issue by storing voxel data in a tree-like data structure that allows the creation of sparse volumes. The beauty behind this system is that it completely ignores empty cells, which drastically decreases memory and disk usage, simultaneously making the rendering of volumes much faster.
First introduced in 2012, nowadays OpenVDB is commonly applied in simulation tools such as Houdini, EmberGen, Blender, and used in feature film production for creating realistic volumetric images. This format, however, lacks the GPUs support and can not be applied in games due to the considerable file size (on average at least a few Gigabytes) and computational effort required to render 3D volumes.
To bring high-quality VFXs to game development, another approach is usually applied. Artists simulate volumetric effects in Houdini, Blender, or other tools and then export it into flipbooks, simple 2D textures, that imitate the look of the 3D effect.
These textures weigh approximately 16Mb-30Mb and can be rendered in game engines in real-time. However, they have several traits that make them lack realism and visual quality.
First, flipbooks are baked from one camera view, which makes it hard to reuse them in a game many times or make a long-lasting effect that looks realistic from a moving point of view. Secondly, as these textures are baked into a game, they are non-interactive with game environments.
Using them, it’s hard to achieve the same level of realism that could be met with high-quality VDB effects.
Several attempts have been made to fix the issue. One of them – NanoVDB, NVIDIA’s version of the OpenVDB library.
This solution offers one significant advantage over OpenVDB, namely GPU support. It accelerates processes such as filtering, volume rendering, collision detection, ray tracing, etc., and allows you to generate and load complex special effects, all in real time.
Nevertheless, the NanoVDB structure does not significantly compress volume size. Therefore, it’s not so commonly applied in game development.
Nowadays, when powerful consumer GPUs have lifted existing limitations for game developers, gamers expect more realistic and engaging games.
Zibra VDB Compression is the newest ZibraAI solution, being developed to bring film-quality VFX into games with GPU-powered compressed VDB effects.
Born from a custom AI-based technology, it makes it possible to:
- Compress huge VFXs, created in different tools and stored in OpenVDB format, up to 20 times, and add more high-quality volumetric VFX to the game, filling it with lifelike visuals, all without increasing the build size;
- Render volumetric effects in game engines in real-time;
- Reuse a volumetric effect in multiple use cases, optimizing memory consumption;
- Change the way the effect looks in different parts of the project with shaders, regulating color, density, and playback speed, all according to your needs.
Our VDB compression solution also opens new possibilities for realistic scene lighting. With our tech, you can use light data from VFX to light up a scene, add reflections, etc, making your game much more immersive and true to life.
Zibra VDB Compression is aimed to work with channels needed for rendering, specifically density, heat, and temperature. It’s a lossy compression, meaning that there is always a trade-off between the quality and the size of the visual effect.Alex Puchka Technical Director at ZibraAI
However, we are working on ensuring that our tech provides the highest compression rate and minimal visible difference between compressed and decompressed VFX.
Сheck out how it currently works here.
In this example, you can see the original and compressed version of the same visual effect, created in JangaFX software and depicting a mid-air explosion. Compressed 4.84 times, it has a 40.2 peak signal-to-noise ratio. The time it takes to decompress one frame of the VFX – just 316 milliseconds.
Our solution can be integrated into Unity, Unreal Engine, or any custom game engine. With Zibra VDB Compression, you can compress even the most heavy visual effects so that they can be used in your project, without drastically sacrificing quality or performance, and bringing your game to a completely new level.
All you have to do is:
- Simulate VFX in Houdini, EmberGen, or other solution
- Export volumetric effect in OpenVDB format
- Apply the ZibraAI plugin to achieve compression of visual effects directly in the game engine
- Place VFX in the scene and polish its look with shaders
- Use the ZibraAI plugin for real-time decompression and rendering of volumetric VFX in your project
Zibra VDB Compression is currently being polished. We are still improving the compression rate-quality ratio and optimizing our approach to ensure it fully corresponds to the industry requirements, but are getting ready to release our newest tool as soon as possible.
Zibra VDB compression is a new tool in the ZibraAI ecosystem of complementary AI-assisted solutions for virtual content creation.
All existing ZibraAI solutions are designed to simplify the process of creating content for games and also improve their quality. Zibra Liquids and Zibra Smoke & Fire real-time simulation tools allow game developers to add interactive and dynamic visuals to their projects, and build game mechanics, even for mobile games. Zibra VDB Compression enables using lightweight OpenVDB in the game for those working with baked effects. Click here to learn about all ZibraAI products.