This is super easy via ASS files.
Arnold Scene Source (.ass) is the native scene definition format, stored in human-readable, editable ASCII files.
- Load your VDB file via an Arnold Volume container.
- Assign an aiStandardVolume shader.
- Set all settings for the container (don’t forget to set the step size and scale) and the volume shader as well.
- As always, test the results.
- Create a proxy geo for the VDB:
- You can do that with the help of the fairly new Bifrost Graph system.
I wrote a simple script to do just that. Download here.
Select the already set Arnold VDB container and run the script (you have to turn on the Bifrost plug-ins first). - Or with Houdini/Houdini Engine (I recommend this method, more reliable, faster, more control).
- Make sure the proxy mesh is pretty low res.
- You can do that with the help of the fairly new Bifrost Graph system.
- Select the VDB container and export as .ass.
(Arnold -> Scene Export -> Export Selection to .ASS…) - Select the proxy geo change the Arnold Translator type to procedural (on the mesh node)
- Link the exported .ass file in the Path section.
- If you want to use the shader inside the .ass file, make sure the Override Standin Shaders is turned off.
- If you want to use a different volume shader, you need a few things:
- Make sure the Override Standin Shaders is turned on.
- Assign a new simple shader (a Lambert will do) to the proxy geo
- Connect a new aiStandardVolume shader to the SG node’s Ai Surface Shader input (yes, not into the Volume Shader input, strange right?).
- Now you can use any scatter system to scatter the proxy geo (for example the MASH Network).
Arnold will render the .ass file instead of the proxy mesh. - Of course, you can use multiple proxy geos pointing to different .ass files (different clouds).
Also, you can just copy the proxy and put that manually wherever you see fit.
Cheers, D
