Announcement

Collapse
No announcement yet.

Rendering phoenix VDBs with C4D & Octane or Houdini & Mantra

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Rendering phoenix VDBs with C4D & Octane or Houdini & Mantra

    I'm hoping to learn the proper method to bring a phoenix vdb into other applications (in this case C4D will be the final destination using Octane as the renderer). I have a basic fire/smoke sim with temperature, density, and velocity but the octane volume loader doesn't seem to properly load in the data. Initially it just shows a solid dense volume and within the remapping settings, there is a drop-down to choose which grid will be used for emission, scattering, etc but the drop down only recognizes the velocity.z grid. Seems that the loader doesn't recognize some of the data, which I thought may have something to do with naming perhaps because I noticed the grids were named "smoke_phx" and "temperature_phx" instead of just "density" and "temperature" which is what I've seen in the past but I don't know if that affects anything. I'll be testing between 3DSMax, Houdini, and C4D to see if I can get any of them to render another's VDB.

    I tested Houdini a bit but it may also have issues reading the data because the temperature grid appears as a solid dense box. I'm in another studio's pipeline at the moment (which is why C4D is the destination) and I don't really know C4D at all so I'm not sure if it's set up correctly but I thought it would be a basic volume loader setup. I've found some tutorials of C4D dealing with VDBs without this issue so maybe phoenix has some other steps involved?

    Anyway if anyone has experience getting phoenix VDBs to render in any other loader, I would be interested to hear how it went.

    Thanks!
    Josh
    Josh Clos
    FX / 3D Generalist

  • #2
    Hey,

    The most important thing to watch out for is the data ranges of the grid channels - you can check them under the Simulation rollout in the cache info box. The temperature in Phoenix is in Kelvins, so it ranges from 300 to a few thousand, so if the software that accepts the VDB should be prepared to rescale it. It's a matter of adjusting your render settings so that opacity and emission curves and gradients in Houdini and Octane are scaled respectively (e.g. I don't know if Houdini temperatures are in physically based values since they usually range from 0 to 10-15, but it might be that Houdini defaults are tuned to this range and you need to change it).

    We are checking Octane scenes under 3ds Max quite frequently and it reads all channels, so there might be a problem with C4D integration. VDB channel names are any strings, so if a software expects that the channels will be named in a specific way, this is not very flexible, so I'm sure people will be writing to them with issues like people wrote to us until we added the 3rd party channels remapping interface..

    Hope this helps Btw we are looking at an issue where the Y/Z axes of Phoenix velocity may be swapped when exporting VDBs from Maya, but this shouldn't affect you.
    Svetlin Nikolov, Ex Phoenix team lead

    Comment


    • #3
      I tested Houdini a bit but it may also have issues reading the data because the temperature grid appears as a solid dense box.
      Yup, that's expected. As Svetlin mentioned, the Phoenix FD temperature channel is in Kelvin so 300 is basically the equivalent to 0 in a Houdini simulation.
      If you're using the Pyro shader, enable the input range remapping controls for the fire and set the min to 300 and the max to 2000, for example. After remapping, the black body model of the Pyro shader should be able to pick up the valid range and compute the colors for you in case you're not interested in manually tweaking the color ramp.
      http://www.sidefx.com/docs/houdini/nodes/shop/pyro.html

      edit; one last thing - be careful with the Pyro shader as it may default to looking for the heat field for the fire intensity. In Houdini, the heat is used to represent the flames while the temperature is an assisting channel used for the process of burning, and to compute the smoke rising speed, for example. So take note of the volume parameter at the top of each section and if you encounter heat, set it to temperature instead.
      I don't have my PC infront of me right now so I'll publish a screenshot for you later.

      Cheers
      Last edited by Gosho.Genchev; 12-05-2018, 08:15 AM.
      gosho.genchev@chaosgroup.com

      Comment


      • #4
        Thank you for all the information, that's very helpful! I will keep testing and share my findings when it is sorted
        Josh Clos
        FX / 3D Generalist

        Comment

        Working...
        X