USD Hydra support in Blender

that’s a very cool progress.
BTW we will definitely need some kind pf better hierarchy widget. additional mode for oultliner maybe?

I was just thinking about this. There were plans to add nesting/parenting/folders to UILists but really the Outliner sounds like a better place for that…
Anyway now that I know what USD is, looks super cool ! :smiley:

Hello all:

We (AMD) are ready to share for other developers a Hydra rendering addon for Blender! As a caveat we don’t consider this ready for the average user, if you are interested in playing with things and tinkering in code - like a TD level user, we’d love the feedback

What it does:

  • Allows USD Hydra Render delegates to work inside Blender. Basically this is a Blender “Render Engine” which exports data to USD and then via Hydra renders with whichever render delegate. (we include the Blender GL and Radeon ProRender hydra delegates but others should work)
  • Adds a “USD nodetree” which can be substituted for getting the straight scene data from Blender. This allows assembling USD data via references and rendering that.
  • Also allows exporting assembled USD tree.
  • Basic shaders (Principled) and lights are exported to USD

Future stuff:

  • Include more render delegates? Or others to test them
  • Finish MaterialX work. Our thought is to translate Cycles shaders to materialX to have something portable that any MaterialX compliant render delegate can use.
  • Integrate into main Blender code. We think this is abstract enough to be part of the main blender code but would like feedback first. And maybe setup a USD Working group meeting to discuss how this could work.
  • Merge with other USD projects
  • Make work on other os’s
18 Likes

I should mention if you want to download a build for windows check out:

3 Likes

USD is a typical big studios making things overly complicated with a minimal benefit. For Pixar with an army of TD, sure. For even medium size studio, this is a way to lose money.

I am more of an average user I am afraid, but I think this is great. Still gonna give it a look, but I can’t wait to see this implemented fully annd in a more average dude friendly way :smiley:

Well apple felt differently when they made usdz the format to pass 3D data for Ar kit.

In all seriousness. Some parts of usd are complicated but file interchange that works everywhere is good and easy for all users

4 Likes

While I kinda see what you’re getting at here, I think it can have great benefits for the average user still.

@bsavery:
Do I correctly assume these things could become the groundwork for sth. a like future proxy-system? Like in you have Blender display lowres proxies for viewport-performance and name of renderengine itself would load the highres versions from USD-files only at rendertime?

greetings, Kologe

2 Likes

when trying to enable the addon in official blender 2.91 or in 2.92 beta I get this error :

Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\scripts\modules\addon_utils.py", line 351, in enable
    mod = __import__(module_name)
  File "C:\Users\pascal\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\hdusd\__init__.py", line 31, in <module>
    from . import config
  File "C:\Users\pascal\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\hdusd\config.py", line 15, in <module>
    from .utils import logging
  File "C:\Users\pascal\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\hdusd\utils\__init__.py", line 41, in <module>
    BLENDER_DATA_DIR = next(BLENDER_ROOT_DIR.glob("2.*/datafiles"))
StopIteration

the problem doesn’t happen in blender 2.90

Updated the build on Updated the build on https://github.com/GPUOpen-LibrariesAndSDKs/BlenderUSDHydraAddon/releases/tag/v1.0.0-alpha to work on 2.91 and above

10 Likes

How complicated is it to add new Hydra delegates? For example, integrating the existing Arnold delegate? https://github.com/Autodesk/arnold-usd

Is there documentation somewhere I could dig into that talks through the process?

1 Like

Is this in any way related to the planned cycles procedural?

Nope not related! Thanks for checking in @osiriswrecks.
For any other studios looking at USD in blender… we’d love to talk. We just merged MaterialX support! Our short list of todos are

  1. Linux support
  2. Checking other Render delegates
  3. Adding more USD building nodes.
6 Likes

Hallo @bsavery,

I tried to install the addon from (https://github.com/GPUOpen-LibrariesAndSDKs/BlenderUSDHydraAddon) on 2.90, 2.91 und 2.92.
Blender successfully loads the .zip, but the addon doesn’t appear in the addons preferences window.
What am I missing?



Thank you!

Based just on the filename in your screenshot, it looks like you downloaded the wrong .zip. You should have downloaded from the Release page here: https://github.com/GPUOpen-LibrariesAndSDKs/BlenderUSDHydraAddon/releases

1 Like

Thank you! It works now.

The addon looks great!

Are there any updates on this topic? Thanks.

Update and overview on the plugin: We’re moving closer and have some really cool workflows working. Read more here: https://gpuopen.com/learn/amd-usd-hydra-blender/

and watch the tutorial

17 Likes

Thanks for working on this! It really makes me excited for the rendering future and other engines support in Blender thanks to your work.

2 Likes

Excellent work.