0
$\begingroup$

I have created a Manataflow Fire sim and have identified the frame I want from the sim. I need to take this object and import it into a different blend to incorporate into an animation.

The issue I'm struggling with is how to Apply this modifier. Or at least I think that's what I'm looking to do. I haven't done this for a while and with the older style sims you could convert things to mesh and then treat it like any other mesh object.

Mantaflow doesn't seem to want to play like that and I'm struggling to find much info on how to achieve this.

How would I go about isolating this single frames sim data and applying it as a mesh? Or am I thinking too old school in relation to Mantaflow?

$\endgroup$

1 Answer 1

1
$\begingroup$

A fire simulation is not a mesh, it is a volume information holding certain data like density, temperature, flame etc.

So if you now bake a simulation (choose Format Volumes > OpenVDB under the domain's Cache settings) you can find different folders in the specified path, one is called "data". There all the fluid data is stored. One thing to note: if you want to keep the OpenVDB data file to import it to other blend files I would recommend to move or duplicate it (or the complete bake) in another location other than the designated cache path, otherwise you might accidentally free the bake in the domain and delete all files which you might have wanted to use later.

simulation data folders

To import a single frame of these, you can use the Add menu in the 3D Viewport by pressing Shift+A and choose Volume > Import OpenVDB.

import openvdb file

In the Import dialogue window navigate to the folder where the data is stored. The files are numbered, so if you want to import the data from e.g. frame 15, choose the file which is called "fluid_data_0015.vdb" and import it.

select file to import

Now you have a volume object in the scene. If you go to the Object Data Properties tab you can see the data Grids stored in the file and which you can access in the material shader either through the Volume Info node or an Attribute node.

volume grids

By the way, below the file name there is also a checkbox Sequence. If you enable it, you can enter the number of Frames, on which (scene) frame to Start the animation and the Offset is how many frames of the sequence you want to skip. Note that if you enable the sequence it does not matter if you opened file 0015 or 0001, it will always take the complete sequence into account and base frames, start and offset on that. This way you can import a full or partial fire simulation into a scene without the need to keep a domain, flow object etc.

enable sequence

Last but not least you can give this object a material like a Smoke Domain and render it as smoke and fire. The only I found is that somehow the same material looks different on a smoke domain than on a volume object. But with a little tweaking you can get basically the same look as with the simulation.

render smoke and fire

$\endgroup$
8
  • $\begingroup$ Wow, so this process seems awkward. Many thanks for the detailed write-up. The trouble I now have is that I had to use Uni Cache to get my original bake to complete as OpenVDB kept crashing ... even using Zip compression. Hmm ... $\endgroup$
    – Jammer
    May 24, 2023 at 12:25
  • $\begingroup$ @Jammer Yeah right, I remember. That's a bummer because Import OpenVDB is as far as I know the only way to get smoke simulation data into Blender. $\endgroup$ May 24, 2023 at 12:28
  • $\begingroup$ Think I'm going to have to regroup and re-strategise. If I'm in a situation where I have to repeat all my baking anyway. I might just re-bake things in the target blend file and be done with it. Sims are still so damn awkward to work with eh. $\endgroup$
    – Jammer
    May 24, 2023 at 12:31
  • $\begingroup$ One question that leads on from this is the noise data. Is that file also imported along with the related fluid_data_xxx file? $\endgroup$
    – Jammer
    May 24, 2023 at 13:05
  • $\begingroup$ @Jammer No, it is not. You could import the noise data separately, but then you have to give it a different material, since the normal data file contains the grids density and flame but in the noise file they are called density_noise and flame_noise $\endgroup$ May 24, 2023 at 17:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .