Wednesday, July 13th, 2022 Posted by Jim Thacker

This neat free plugin lets you import OpenVDBs into UE5

Motion graphics artist Jonathan Winbush‘s video tutorial on rendering OpenVDB files inside Unreal Engine using the free plugin developed by Eidos-Montréal senior R&D graphics engineer Thibault Lambert.

Eidos-Montréal has released a free plugin for importing and rendering OpenVDB files in Unreal Engine 5.

It supports both static VDB files and animated VDB sequences, and connects to Unreal’s Sequencer and Niagara toolsets, making it possible to play back volumetric effects like explosions, smoke or clouds in-game.

In addition, VFX and visualisation artists can use it to render OpenVDB files offline using Unreal’s path tracer.

The plugin was originally released earlier this year, but continues to receive regular updates, with the recent 0.5 release adding the option to animate static VDBs via volume displacement.

Unofficial plugin fixes Unreal Engine’s lack of OpenVDB support
The plugin, which was developed by Thibault Lambert, senior R&D graphics engineer at the game developer’s new research offshoot Eidos-Sherbrooke, doesn’t seem to have an official name.

However, in his tweet thread announcing the release, Lambert uses the hashtag UnrealVDB, so that’s what’s we’re calling it here.

Although the plugin began as part of Lambert’s own efforts to learn Unreal Engine, and is still described as experimental, it actually fills quite a significant hole in Unreal Engine’s feature set.

While most offline DCC applications now support the OpenVDB format as a convenient way to exchange volumetric assets like clouds or smoke, it isn’t yet widely supported in real-time tools like game engines.

For game developers, UnrealVDB makes it possible to import VDB files generated by fluid simulation tools like EmberGen directly into Unreal Engine, rather than having to render the simulations to flipbooks.

And for VFX and visualization artists, it makes it possible to use Unreal Engine as an alternative renderer for OpenVDB files generated in offline tools like Houdini, Blender or Cinema 4D.

Visualise OpenVDBs in the Unreal viewport, or render them with the path tracer
Once an OpenVDB file has been imported into the Unreal Editor, UnrealVDB automatically converts it to NanoVDB, Nvidia’s GPU-friendly simplified representation of OpenVDB data.

(You can also import NanoVDB files directly, although we aren’t aware of many tools that generate them.)

The plugin supports two of OpenVDB’s grid classes: LevelSets, which behave like regular polygonal meshes, and FogVolumes, which behave like… well, volumes, and are more computationally expensive to render.

In-game, the look of VDB assets can be controlled via volume materials: the plugin comes with a set of example materials.

The plugin also has a principled mode, inspired by the principled shading model adopted in many offline renderers, which can be used for final-quality rendering using Unreal Engine’s path tracer.

Integrates with the Sequencer cinematics editor and Niagara particle system
For game developers, UnrealVDB also connects to Unreal Engine’s Sequencer and Niagara toolsets, the latter enabling Unreal Engine’s native particle effects system to sample VDB volumes.

To improve performance in-game, users can also bake VDBs to volume textures, either offline or at runtime.

New in version 0.5: support for animated displacement in the volume material
The plugin also continues to get regular updates, with version 0.5, the latest major release, adding support for displacement in the volume material.

The change makes it possible to add motion to static VDBs via animated displacement, as shown above.

Licensing and system requirements
UnrealVDB is compatible with Unreal Engine 5.0+ running on Windows only. The source code is available under an open-source Apache 2.0 licence, or you can download the compiled plugin from GitHub.

Read more about UnrealVDB on Eidos-Montréal’s GitHub repository

Download the latest compiled binaries of UnrealVDB