OpenVDB Toolkit for Maya 2018

3D Applications, Programming

OpenVDB by Dreamworks Animation is an incredibly powerful library along with some extremely useful toolkits. Since its release, OpenVDB has become the industry standard in DCC applications and rendering engines for representing volumetric data and even used for procedural modeling. SideFX has adopted the library, making it a core component of Houdini and every major rendering engine have added support. Unfortunately, Autodesk has yet to implement core support for the library in Maya which is widely used as a core pipeline application.

For the past several years Maya users have enjoyed free support of the OpenVDB toolkit from the team over at SOuP. Evgeny, aka besha (my apologies for the lack of a last name), has been freely supplying the toolkit for multiple Maya versions on Windows and Linux. However, mid 2017 the SOuP team became a commercial business and the previously freeware tools are now behind a paywall.

Before I go any further, let me say this: The work that Peter and Evgeny have done making tools that allow Maya to better publicly compete with applications like Houdini has been phenomenal for both studios and individuals alike. The nodes they have written have been a pleasure to use and I can’t say enough good things about them. That being said, as a student balancing multiple other licenses for various tools the SOuP kits are not something I can tack onto my monthly bills. So I went ahead and attempted something I’d been meaning to do for quite some time and built OpenVDB myself.

The source code for the library, standalone applications, python bindings, and the Maya/Houdini toolkits are freely available on the OpenVDB site and from Dreamworks’ GitHub page. I’ve built the package for Maya 2018, as there are still versions of the OpenVDB kit from Evgeny from the freeware days that support Maya 2017 floating around. Maya 2018 is a feature of the new version, and the release I am currently using, so that is why I built for it. I’ve also included some custom scripts and node templates that make using the package a bit easier and more intuitive.

The details of the build are available on the GitLab repository where I’m hosting the pre-built binary. The things to know upfront (which are also stated in the README) is that the binary is currently only available for Linux (built on CentOS 7 with GCC 4.8.5), supports Maya 2018, and is the base OpenVDB toolkit without support for Viewport 2.0. So if these are showstoppers for your workflow, I would highly recommend purchasing a subscription to SOuP for OpenVDB.

The repository can be found here: https://gitlab.com/omento/openvdb-toolkit

Note: I am currently working on a build for Windows 10, but there are some long standing snags when it comes to building OpenVDB on Windows that I need to work through. I do not have an ETA, but I will update this post (and make a new one) when the Windows binary is available.

 

15 thoughts on “OpenVDB Toolkit for Maya 2018

  1. Hi there, I’m totally new to this process and trying to understand how it works.

    I downloaded the Maya toolkit from Openvdb here:
    http://www.openvdb.org/download/

    I can’t find any instructions on how to install it.

    When I look at the ‘makefile’ it seems like there are instructions, but I don’t understand how I’m supposed to run it?
    https://github.com/dreamworksanimation/openvdb/blob/master/openvdb_maya/Makefile

    Does this still need to be compiled?

    I did find a copy of SOuP’s 2015 version plugin here:
    https://soup-dev.websitetoolbox.com/file?id=2271521

    Along with installation instructions here:

    I’m running Maya 2018, will the 2015 Soup plugin work with the newest vesion?

    Like

  2. Hi ThreeDGuy,

    It appears you’ve downloaded the source code for the toolkit, which is something you do need to compile.

    The Besha’s 2015 plugin will not (or should not) function with Maya 2018. In order to get his version of the plugin that supports Maya 2018 you will need to purchase a subscription.

    An alternative is to download RenderMan Non-Commercial (21 currently, or 22.1 in September) and use the version of OpenVDB that they supply with that. You don’t need to use RenderMan itself, the renderer and plugin are two different options to enable. The Pixar built version is the base toolkit, the same as mine, with a few extra attributes and support for Viewport 2.0. It also works on Windows and macOS, so you won’t be restricted to Linux like my build is.

    Cheers,
    Mike

    Like

  3. Hi Samad,

    The reason why DreamWorks hasn’t released any prebuilt Windows binaries is actually pretty simple: they don’t use Windows. DreamWorks, like most larger production houses (along with Pixar, Disney, MPC, ILM, etc) are primarily if not completely Linux based. As such, it’s not worth the financial budget to allocate development time to producing Windows builds when these tools which are built in-house, will never be run on Windows by them.

    That being said, however, there have been marked improvements over the recent months into creating an automated build system that actually works on Windows by the OpenVDB community. According to a developer I know, the OpenVDB vcpkg now works, so it may be possible to get this all up and running. I personally don’t have the time right now, but maybe at some point in the future when my schedule opens up (or if the ASWF which now runs OpenVDB – https://aswf.io/ – does it first).

    The OpenVDB library is really something that should be internal to the DCC and provided in Maya by Autodesk. I know some people that are members of the beta testing group, so I think you’ll be happily surprised in the next few years by what Autodesk is doing.

    Cheers,
    Mike

    Like

  4. # Error: Unable to dynamically load : /tech/plugins/maya/openvdb/plug-ins/OpenVDB.so
    libopenvdb.so.4.0: cannot open shared object file: No such file or directory #
    # Error: libopenvdb.so.4.0: cannot open shared object file: No such file or directory (OpenVDB) #

    OS: Centos 7.5.1804 (core)
    Maya: 2018.4

    Like

  5. Hi Robert,

    Thanks for the heads up. My testing paths must have been lingering in my production user environment from when I was building the library. I confirmed that the library is indeed missing, rather than being included. I may have a backup of the library, which I can try and find later today and update the package here. Otherwise, I may just take a stab at building OpenVDB all over again, this time with 5.2.0.

    Cheers,
    Mike

    Like

  6. Hi Robert,

    I’ve found my backups, in the tar file you’ll find everything OpenVDB needs (short of Maya). The lib directory has the libopenvdb.so.4.0 object. Just append the location of that file to your LD_LIBRARY_PATH (maybe in the module file, that should work, before where the plug-ins folder is defined).

    https://www.dropbox.com/s/g62vdtkit49gbof/openvdb4.0.2.tar.gz?dl=0

    I can look into building 5.2.0, but for Maya users, there isn’t any visible benefit. The toolkit capabilities haven’t changed at all (except for read/write syntax) since 2014.

    Cheers,
    Mike

    Like

  7. Great, it’s working now. Update gitlab repo and can you please write down every step to compile vdb on centos 7 ?? so that i can compile for other version of Maya also.
    Thank you

    Like

  8. Hi Robert,

    The best I can give you for steps at the moment is the scripts I used to build each of the dependencies, if I still have them. Building OpenVDB is a very time intensive process with some not-so-fun dependencies, and was a lot of trial and error.

    Cheers,
    Mike

    Like

  9. Hi Mike, i’m wondering if there is an other way to import a vdb file in Maya and render it in Arnold for MacOS ? I’m blocked now !

    Like

  10. Hi Julien,

    Render engines typically provide their own import method for bringing in volumes, in Arnold it is the aiVolume node. There is a page in the Arnold documentation on this matter[0]. With Maya 2018 and 2019, you can also use the new Bifrost Graph to create and convert simulations to OpenVDB[1], and it is available on macOS[2], although there is built-in support for the Bifrost graph in Arnold with MtoA 3.2.2 and later.

    Cheers,
    Mike

    [0] https://docs.arnoldrenderer.com/display/A5AFMUG/Volume
    [1] http://help.autodesk.com/view/MAYAUL/2019/ENU/?guid=Bifrost_MayaPlugin_bifrost_for_maya_html
    [2] https://area.autodesk.com/bifrost/downloads/

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s