NDVDB - Cinematic OpenVDB Importer & Real-Time Renderer
N Dimensional Games LLC
$192.49
$274.99
30%OFF
(no ratings)
Jump AssetStore
Import and play your own OpenVDB sequences as real-time lit volumetrics: GPU streaming, joint multi-volume compositing, cross-volume shadows, wave-accurate water integration, and Timeline support.**VDB conversion requires a Windows x64 Unity Editor**Converted assets play back on Windows, Linux and macOSBring film-quality VDB smoke, fire, and explosions from Houdini, EmberGen, or Blender straight into Unity, and have them composite like they belong in the scene.NDVDB converts your OpenVDB (.vdb) sequences into .ndvdb, its own GPU-ready streaming format: sparse bricks, per-brick quantization, frame-to-frame deltas and a lossless Zstandard envelope, typically hundreds of megabytes where the raw cache was many gigabytes. Then it plays them back instantly. No baking to flipbooks, no mesh proxies, no cloud processing.A true VDB importer and player. These are real volumetric effects, not 6-way lit flipbooks. One-time purchase. Full C# and shader source included. No subscription.Volumes that composite correctlyMost VDB players draw each volume as its own transparent object, and the moment two effects overlap the sorting breaks. NDVDB's scene compositor raymarches all visible volumes jointly in a single pass:• Physically correct overlap and interpenetration: push a fireball through a smoke plume and the blend is right, per sample • Cross-volume shadows: one effect's smoke genuinely darkens its neighbors • Scene geometry casts main-light shadows into the smoke; volumes cast shadows back onto the scene • Self-shadowing for contrast and definition, with a per-volume light cache so it costs a fetch per sample, not a re-march • Point and spot lights illuminate the volume, with a selectable occlusion cost per light • The flame grid lights your fireball from within and blends into nearby smoke by default • Fire lights the smoke around it: the flame grid acts as an area light on its own volume and its neighbours, cone-traced through the smoke each frame, so exposed fire reaches the plume next door with no hot spots and no lag • Fire lights the world: optional flame-driven point lights placed on the fire you can see (buried flame earns none), occluded by intervening smoke, animated in the sequence's own time so held frames hold and slow motion slows them • Half-resolution marching with temporal accumulation: cinematic quality at real-time cost • Multiple scattering for lighter smoke independent of density • Blender fluid caches land where they were simulated: the converter reads the cache's config folder for the domain's world placement, adaptive domains included • Ambient sky light with an in-volume occlusion boost, so shadowed smoke keeps depth instead of going flat; take the sky and ground colors from the scene's own ambient probe, with ground bounce occluded from below, and a powder term for the crumpled edges of cumulus • Depth-correct sorting against transparents: particles, glass and water sort into and behind the smoke, not just in front of it • Density range up to 100x for thin sims that still need to occlude, such as missile and rocket trails • Import at 1:1 scale with the simulation origin preserved, for easy line-up with scene assets • Non-uniform domains with sparse sampling, so long effects like trails stay affordable • Frustum culling with an eight-slot pool: place as many effects as the shot needs; only the ones in view take compositor slots, off-screen effects keep streaming so a pan reveals them without a hitch, and a per-effect priority decides who keeps a slot when a shot gets crowdedWater: over, under, and through the surfaceExplosions at the waterline are the shots everyone remembers, and the ones most volumetric plugins fumble. NDVDB splits the march at the rendered water surface, wave by wave:• Renders above and below the surface simultaneously, from either side of it, including with the camera sitting exactly on the waterline, and stays stable when the camera crosses the surface mid-shot • Surface breaches sort correctly: a missile launched from underwater carries its smoke through the waves without a seam • Smoke beyond the water refracts through the waves like everything else underwater; smoke in front composites cleanly over it • Waves cover and reveal the smoke as they pass, using the water system's own surface mask • Underwater smoke takes on your water system's own fog, matched to KWS2's absorption and to Crest's fog at the smoke's true distance, so it never reads as a cutout and its edges stay soft over open water • KWS Water System 2 and Crest Water 4 are detected automatically. No component, no compile dependency. Optional override components and a generic surface component cover any planar waterA workflow built for shots• Converter window with honest quality tiers (Draft / Standard / Cinematic) and per-grid role mapping. It tells the sequences in a folder apart, warns about missing frames, and rescales centimetre exports at import; "Convert & Import" hands you a ready-to-drop prefab • Fast, multi-core conversion: every core reads and encodes different frames at once, source files are streamed once (external and spinning drives included), and typical sequences convert in seconds rather than minutes • Setup wizard audits your URP renderers and fixes every problem with one click; each player's inspector re-checks its own setup • Native Timeline support: tracks, clips, scrubbing, multi-effect sequencing, activation. A clip snaps to the sequence's exact length at its frame rate, and a per-clip Frame Rate Override rescales it in place, with looping, clip-in, speed multiplier and extrapolation all supported • Per-effect materials: share one material template across effects or instance it per player, so one fireball can run hotter, darker or purple without touching the others • Metadata you can read and edit: the asset inspector shows frame count, duration, value range, compressed and raw sizes, compression ratio, source file and creator. Edit the frame rate, or the import scale and offset for unit and placement fixes, and the .ndvdb header is patched in place, no re-conversion; scene players update live • Editor preview with transport controls: scrub, loop, and frame-step without entering Play Mode • Layout mode for VDB-heavy cinematics: block the scene with cheap proxies (Preview / Brick / Bounds Only) from the Scene view toolbar. Play mode, recording, and builds always render at full fidelity • An NDVDB overlay in the Scene view: layout level, compositor status and switches, and a live per-player table of state, frame, RAM and GPU memory, without leaving the viewport • Streaming cache with a RAM budget you control; sequences deploy to builds automatically • Every lever exposed: step size, shadow taps, scattering, temporal feedback, and per-volume overrides for when the defaults are not the shotMade for cinematics, trailers, cutscenes, and high-end gameplay moments.Format & import• Imports OpenVDB (.vdb) sequences from Houdini, EmberGen, Blender, or any OpenVDB-compliant exporter • Density, flame, and temperature grids with role mapping at import • Compressed .ndvdb container: 8³ sparse bricks, per-brick quantization (8-bit stored, ~11 to 12-bit effective precision from per-brick ranges), I/P-frame temporal deltas, lossless Zstandard envelope • Typical footprint of hundreds of MB where raw VDB caches run to multiple gigabytes • Converter runs in-editor on every core (reads, temporal deltas, quantization and lossless packing of different frames in parallel; native zstd), streams the source sequence once, and writes atomically, safe against mid-conversion imports • Asset metadata exposed in the inspector (frames, duration, value range, sizes, compression ratio, source and creator); frame rate, import scale and import offset editable after import by patching the .ndvdb header in place • Source Units at import (As exported / Centimetres / Custom) for exports built in centimetres, such as EmberGen sims around a centimetre FBX; folders holding several sequences are grouped by name with a sequence picker; missing-frame and empty-frame detectionPlayback & rendering• GPU streaming from disk: IO-thread lookahead, decoded-frame cache with user-set RAM budget, instant first frame • Scene compositor (URP Renderer Feature): joint march of up to 8 volumes per frame with correct overlap, cross-volume and scene shadows, and point and spot light support • Half-res plus temporal accumulation and adaptive step sizing • Per-volume light cache (compute, once per frame): main-light self-shadow and sky occlusion fetched per sample instead of re-marched • Compositor passes scissored to the volumes' screen footprint; gather and uploads shared across Scene and Game cameras; overlay cameras skipped • Flame Emission: per-volume irradiance cache cone-traced through the brick-mean pyramids of every volume (fire as an area light on smoke) • Flame lights recognised inside the march with a per-light occlusion policy (Cheap Mean, Same As Scene Lights, Skip); material-level Additional Light Shadow Steps for cheaper occlusion of any light inside smoke • Per-camera frustum culling of the slot pool (8 in view; Surface Split takes two) with a per-player Composite Priority and an Always Composite pin for hero effects; off-screen players keep streaming and their GPU data current for hitch-free reveals • Per-volume fallback path when the compositor feature is not used • Volumes cast real-time shadows via proxy ShadowCasterWater integration (URP)• Over/under surface split-march with refraction through the water's own opaque capture • Wave-exact split: each ray is clipped at the rendered water surface rather than a flat plane • Per-pixel above/below classification from the water system's own mask (KWS2 prepass, Crest ocean mask): correct with the camera on the waterline and through surface breaches; mean-plane test for generic water • Wave-crest compensation for plane-mode water; underwater smoke matched to the water system's depth fog • KWS Water System 2 and Crest Water 4 auto-detected (reflection-based, no hard dependency); optional override components (height offset, split-mask source) and a generic component for any planar waterIntegration & tooling• Unity Timeline track and clips with editor scrubbing; clips snap to the sequence length and rescale with their Frame Rate Override; clip-in, speed multiplier, looping and extrapolation • Per-player material instancing (on by default) or a shared material template • Setup wizard and per-player diagnostics with one-click fixes • Editor Layout mode: Preview / Brick / Bounds Only proxies with Auto (full fidelity the moment anything plays); never active in Play mode, recording, or builds • Scene view overlay (toolbar strip or floating dashboard): layout, compositor status and toggles, per-player state / frame / RAM / VRAM with Always Composite pins • Diagnostics on the compositor: water routing log, water-side debug view, flame emission field view, A/B toggles for additional lights and per-light self-shadow, one-line state reports in the Console • Build processor deploys sequences to StreamingAssets automatically (Windows / Linux / macOS standalone) • Full C# and shader source; assembly definitions for Runtime and EditorRequirements• Unity 6000.x with Universal Render Pipeline (URP 17+); developed on 6000.5, clean-project verified on 6000.3 • Requires the Unity Timeline package (com.unity.timeline): the runtime and editor assemblies reference it directly, so it is needed even in projects that never use a Timeline. Listed as a package dependency, so the import installs it when missing • Conversion (the OpenVDB importer) runs in the Unity Editor on Windows 64-bit only; the converter's native OpenVDB libraries are editor-only and are not included in player builds • Compute-capable desktop GPU (D3D12 / Vulkan / Metal) • Desktop platforms (Windows, Linux, macOS); mobile and console not supported in this release • Compositor and water integration are URP-only. An experimental HDRP subshader is included for per-volume playback (unofficial; URP is the supported pipeline)What NDVDB is not• Not a fluid simulator. It plays back simulations you author in your DCC • Volumes are streamed effects, not runtime-authorable fieldsThird-party noticeAsset uses OpenVDB and Intel oneTBB under the Apache-2.0 license, Boost under the Boost Software License 1.0, c-blosc, Zstandard, LZ4, Snappy, OpenEXR, Imath, hwloc and OpenJPH under BSD licenses, zlib, bzip2 and liblzma under their own permissive licenses, and ZstdSharp, K4os.Compression.LZ4 and libdeflate under the MIT license; see the Third-Party Notices.txt file in the package for details. These components ship as binaries used by the in-editor converter; player builds contain no third-party native code except the optional zstd.dll decoder on Windows.AI was used to overcome PhD level technical hurdles in integrating advanced shaders and GPU calculations. It was also used to harden the package, quickly develop QOL features, make rendering more optimized, and solve critical bugs in the development process. Development was considerably accelerated through the use of Fable 5/5.1 and Opus. Rodin3D was used for the plane in the wind tunnel demo scene for speed.This package has been in development since February of 2026.


