I'm working an a short 2min animation, fully smoked based, in order to emulate a kind of ink effect on all my characters, landscape, etc (all the object in the scene are smoke emitters). Obviously, the cache files takes a lot of disk space (I mean : a lot!!), and a lot of baking time.

Basically, I'd like to generate the smoke data once for each type of object, and re-use it every time I have the same kind of object in a (different) file.

For an example, if one of my scenes contains a mountain, emitting smoke, with specific smoke settings, for a specific number of frames etc., and another one contains another mountain, with a a completely different shape. Can I use the generated smoke cache from the first object with the second (assuming that I desire the same smoke settings on both)?

I know that ticking the "external path" option, and giving to it a path allow to reuse the generated smoke data.

But my question is: what will be shared exactly? Can I use the data between two files, containing different objects of different shapes, but with the same desired domain and flow settings, in order to save some disk space and baking time?

Actually I don't understand precisely what kind of exact information is stored in the ".bphys" cache files.

  • $\begingroup$ Stored are domain voxels for each frame. Thats basically a 3D image per frame with domain resolution. $\endgroup$ – Jaroslav Jerryno Novotny Aug 17 '15 at 14:45
  • $\begingroup$ Thanks, that's what I was afraid too, but I was wondering, as soon as the domain would be the same size each time, maybe it could have been a solution. The specific informations that are stored in the cache files is still not clear for me. $\endgroup$ – Aleph Aug 17 '15 at 15:23

Did you checked Blender Reference Manual?

What will be shared?

As was mentioned - each baked file represents 3D texture per frame of voxel data. Assigning data to an object you can imagine as classic 2D image assigned to plane object - image fits to plane dimension - just in 3D. These data doesn't contain any geometry of mesh (like mountaine vertecies).

From your description is not clear what do you want to achieve exactly, to me. It seems to me you probably didn't catch the point of system. For sim you need one object to be emitter of smoke and second smoke domain that is something like environment (box) where all smoke happens. Emitter object only iniciate reaction inside domain and this "reaction" is represented as 3d texture data. These data are only smoke, and after bake independent on the emitter.

Here is what kind of data are baked in VDB format.

Can I share the data between two files (different objects /shapes)?

Yes, you can. If you know about "external" option I'm not sure whats your confusion. So few notes here.

  • bake smoke simulation in "A.blend", in format you like/need (bphys/vdb)
  • open a new "B.blend" file
  • import smoke domain object from "A.blend" (or add a new cube, with the same Aspect Ratio as baked domain (= XYZ Dimension can be equally divide/multiply), and unable smoke sim in physics properties for it)
  • in Properties > "Smoke Cache" panel check "External" and set path to the baked sim folder
  • in the list of smoke simulations you have to NAME IT EXACTLY as baked cache files of "A" file.

If you didn't name cache, blender creates a generic name, like "536D6F6B6520446F6D61696E", so copy that.

Baked Cache Files

External Baked Cache

But it's always better to name cache before baking to something that make a sense for you, so you can better recognise what cache you are attempting into a new blend (like "01", "A", "mountain" or what ever).

IMPORTANT note: Again - You can SCALE domain as you like, but in all directions to keep aspect ratio of original domain!!! Difference in proportion will cause disfunction of smoke visibility, so check that.

As object for domain can be used any geometry, even Monkey head can works :)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.