Emissive VDB Shader Update in Default Resources for DAZ Studio 4.21+
RobotHeadArt
Posts: 917
in The Commons
There is an update in DIM for Default Resources for DAZ Studio 4.21+ which adds Emission to the Simple OpenVDB MDL Volume shader. Has anyone been able to get a proper glowing volume with these settings? I am not sure what to set Emission Temperature Mult, Emission Temperature Offset, and Emission Scale to get a proper glow. This shader update requires the Daz Studio 4.21 beta to work.
Comments
Does the VDB you are using have a suitable channel? You can't make just any VDB glow, as far as I know, the simulation needs to include suitable data to control the effect.
Any field should be usable for emission. From some testing just now, the important thing to change is "emission temperature offset". It looks like this needs to be set at around 1500 before you see any emission at all, no matter what you do with the other sliders. These three test renders were done with the three different fields in the VDB:
Heat:
Fuel:
Density:
Not working for me. I tried in the new 4.22 and nothing (I have the latest default resources too) But now the vdb I made yesterday looks weird .. I got some strange lines around my mesh.
Yeah, still not able to get this working in the final release. Exported a VDB from Houdini and set the Emissive Volume Channel to temperature and no glow, even with emission temperature offset. I also noticed that VDBs no longer show in the Iray Preview, they only render in the final render. Anyone have any of the emissive VDBs from the store? Do those actually work?
This video seems to show it working, however, the text for the setting is totally unreadable
If you bump up the video quality and full-screen it, it's usable, but they definitely could have done better.
Same for me... I really wonder how he recorded that, or maybe a wrongly-rendered video.
I was finally able to get it working. These are the changes to the shader settings:
Named the surface Volume
Volume file - my flame vdb file
Scattering Multiplier - a light gray .46 .46 .46
Absorption Multiplier - a light gray .46 .46 .46
Clip to Geometry - Off
Emission Enable - On
Emission Temperature Mult - 950
The value of 950 was through some guessing and trying different values. This is for a flame made in Houdini so it might be different for vdbs authored in other software packages.
Here's something I threw together. It's not upside-down; I just had the heat turned so low that the smoke was falling.
I still don't understand what the formula is that is being used which makes it difficult to create the correct values for making the temperature what it should be.
For example, the vdb generated by Houdini has a temperature field that is 0 to 1 with 0 being 300 Kelvin (Houdini's choice for ambient room temperature) and 1 being 3000 Kelvin. The Iray MDL sdk has this formula https://github.com/NVIDIA/MDL-SDK/blob/0bcb415317533e945d5d5f8d3e66104b888a9fc0/src/shaders/mdl/base/base.mdl#L5865
float t = math::max(500.0, temp_sample * temperature_mult + temperature_offset);
which to me doesn't make sense why the max is clamped at 500 Kelvin, that's not even a fire. I am not sure if Daz is even using this formula or have their own, but plugging the values to map Houdini's scale to the above equation produces a blown out white glow instead of the correct black body color.
Could someone please clarify if the new feature in Daz Studio V4.22 VDB Emissive properties can be used with VDB products released prior to V4.22 and do VDB products released after V4.22 have to have this statement in their diescription to take advantage of the new VDB emissive property?
"VDB Apocalypse is a selection of emissive VDBs ..." and "07 VDB Emission Presets" quoted from product https://forum.daz3d.com/vdb-apocalypse
To use it effectively the VDB needs to have a suitable channel - e.g. temperature or fuel - from its simulation. Othrwise you can make the existing surfaces emit, but they will not look like flames or whatever.
Thank you Richard. Only products that are released with that feature or are updated by the PA to include this feature can use the new Emissive VDB property.
Or that you create yourself, or that others create and release as freebies - though Embergen, which seems to be the most widely used option, is not cheap.
Houdini's Aprentice version which can only be used for non-comercial uses can generate VDBs which can be a good option for people to experiment with or for hobbyists who aren't making any commercial use of their Daz Studio renders. There are also no shortage of pyro tutorials for Houdini out there and some simple presets are built in.
I opened a support ticket requesting the formula Daz is using to convert the VDB temperature field into degrees Kelvin for the balckbody radiation shading. Whenever I get a response I will provide a full tutorial for exporting and converting a Houdini pyro VDB to Daz Studio.
I can see how my reply could imply not being able to make them yourself. Did not see it that way because I was more previous and future purchases of VDB prodcuts at DAZ Store.
To add to your list of software you can use to make your own VDB, there are add-ons for Blender such as VDBLab, True-VDB, VDB Loops, and others. Just search Blender Market
https://blendermarket.com/search?utf8=✓&search[q]=vdb&search[category_id]=6&button=
I have not used any of them so I can't comment on quality or features.
Did you see surv0101's results from the Daz Studio discussion on this topic?
https://vimeo.com/manage/videos/881597064
Fantasic!
Amazing thanks for sharing.
My pleasure ;)
Most of those look to be content rather than tools. The base Blender VDBs ddi not seem to work - they saved the wrong kind of data - but that was when DS first supported the format, not with the introduction of emissives, so the recent versions of Blender may do better (I haven't retried).
Thanks Richard. Hopefully someone can report on the ability to import VDB with emissives from Blender.
Is there a simple way to find out what channels are available in a VDB file?
Could you elaborate on what you are trying to achieve? Are you refering to VDB files used with DAZ Studio by published artists?
I downloaded a free fire VDB file that works in DS. I can see the smoke render, but I don't know what names were used for the individual channels of the VDB, like fire, flame, emission, density and so on. I tried typing in a few guesses for the emission channel, but they didn't work. I'm just wondering if there is some free software or option in DS that can show what channels are available in the VDB and what their names are.
The 'proper' emission channel is 'temperature'
Now, you can use other channels and just add temperature value to it, but the results are usually not great.
Thank you. Typing "temperature" in the Emission Volume Channel made the flames visible. I downloaded a second one from a different site to try also. It came with a readme, though, and listed the possible channels that could be included. The emission channel for that one was "flames".
Technically the VDB channels can be named whatever the author of the VDB wants, they could even name a channel Bob. It's just a label. I do not believe Daz Studio has a way to list channels in a VDB. You can use the free, non-commercial version of Houdini to view the channels in a VDB. To do this, in Houdini, move the mouse to in the pane that says "Empty Network" and hit tab. Type in file and choose the file node. Left click to place the file node, double click the file node to dive in. Select the inner file node and in the parameters pane there is a parameter called Geometry file. Click the icon to the far right of the Geometry file name to choose the path to the VDB file. After choosing the VDB file, go back down to the file node. Click the file node and hover over it, buttons should fan out around the node. There is an i button on the left of the node. Click that and the info will be displayed. The VDB channels show up in blue with a cloud icon next to them.