Instancing fire/smoke - Mantaflow, OpenVDB, volume object

I’m revisiting an old scene, and trying to rebuild the smoke/fire sim in mantaflow, but where previously I could just copy the domain, and point to the same cache in order to instance the fire, that doesn’t seem to work now.

I also tried using the new volume object in 2.83 to create a domain, bake the cache as a vdb, and then add a new volume object and import from the cache folder but I get a Failed to load volume: IoError: could not get size of file.

At the end, Domain should become a volume object. But for the moment, it is still a mesh with a modifier.
There are still work to do on Volume Object Type.
https://developer.blender.org/T73201

Supporting Mantaflow’s Output is one of them.

There is no External cache option. So, it is important to copy after baking.
Copying domain with Shift D or Alt D, after baking was done, should still work for EEVEE and Cycles.

It looks like Cycles is handling Collection Instance. If you put Smoke Domain in a collection and create a collection instance of that, Cycles renders it as expected but EEVEE does not.

1 Like

Just tried this in my simple test scene in 2.83, seems to work as it did previously, and just again tested in 2.82 and it’s fine there too, so there must be something weird going on with my scene.

However, I did discover that adaptive domain creates a different look of smoke, with the default settings on a circle mesh with the quick smoke added:

This is expected.
Threshold value is removing gas and Margin is adding empty space.
https://docs.blender.org/manual/en/dev/physics/fluid/type/domain/gas/adaptive_domain.html#bpy-types-fluiddomainsettings-use-adaptive-domain

So, at each frame, info used to compute next one diverged a little bit more from simulation without adaptive domain.

1 Like