USD Project Update

During Blender Conference 2022, the most active Blender-USD stakeholders participated in a project review meeting. There was general consensus on the direction of the project, but it was clear that Blender needed to provide more resources to quickly and effectively handle contributions coming from individuals and organizations.

For the past few months, recruiting efforts to find a dedicated senior developer for this role have not been successful, and the Blender core developers have stepped up to temporarily handle contributions. This has led to mixed results, with code reviews taking longer than desired and an ongoing challenge to maintain high quality engineering standards.

The current arrangement is no longer practical, so here is a proposal for how to move forward:

  • All unfinished/ongoing patches will get one more round of review from core developers, to define whether work should continue on should be put on hold

  • Only USD patches focused on “basic” I/O will be considered for inclusion in Blender

  • Mutual code review among contributors of patches is highly encouraged, before asking for review by a Blender core developer

  • Work that is happening on the USD branch should be merged to the main branch as much a possible, while keeping the branch only focused on temporary/experimental features

  • Ongoing work on Hydra delegate will continue (pending contributors availability)

  • The USD contributors are welcome to provide a clear list of targets at the beginning of a release cycle, to ensure enough time and resources are allocated to them

There is still commitment to recruit an experienced, senior-level developer to help in this area. If you are interested please do reach out!

24 Likes

One of the functions of USD is to use layers. Even USD’s logo represents them. One layer for modeling, one for look dev, one for animation, for example. All in one file or multiple ones. Is it part of the roadmap to use that layer concept in Blender as opposed to just be an export/import file format?

4 Likes

I thought Nvidia and AMD were developing USD for Blender.

I/O is the priority right now. Other USD features, which would require a deeper integration with Blender, can be looked into when more resources are available.

1 Like

Hey @fsiddi when you say only “basic I/O”, does this means that USD will only behave as an OBJ imorter? so it imports the objects so to speak and then the link with the USD file breaks, or will it have live updating? or at least a live-link on reload to update the info?

I’m under the impression that the main target with USD is the latest case, to hav ea live link with complex data that can be updated at any given point in time, and that phrase about “basic I/O” puzzled me a bit :slight_smile:

1 Like

The current list of tasks for USD is available at projects.blender.org. Getting stable I/O (with support for materials, hair, etc) is a fundamental step before looking into further integration.

Development has been slow and steady for a couple of years, and with every contributor having specific use cases/interest as a priority, it’s expected that this take time.

7 Likes

Last week I participated at the Café VFX conference in Montreal. There were panels with people from DNEG, Framestore, Epic, Side FX and Pixomondo. They all agreed that USD is the future and they all agreed that it needs to be more integrated into their pipeline. Even for them it’s not there yet as USD is quite complex. There was also a guy from Pixar and many people working there don’t understand how it works under the hood. They use it, of course, but for many artists it’s just another tool. I hope the Foundation will be able to find more people to work on it. :slight_smile:

6 Likes

A friendly reminder to keep this thread focused. The goal of the initial message was to share an update on the ongoing project, and not to open a discussion on the merits/scope of the USD project.

1 Like

If you need some help for testing, I could try some stuff. I’m currently playing with USD files to use in our studio and I could test some setup in Blender.
About purely IO, i’ve noticed a limitation with animated camera where properties like focal length are animated: Blender can export them into USD and will work in other DCC’s but does not seem to be possible to import it with its animation (only animated transforms are preserved with Transform Cache constraint).

Thanks Francesco,
There was an overflowing room at the USD meeting at BCON and many I talk to who have thoughts on what they want the USD workflow to be in Blender. Where should they give that input?

Brian

1 Like

One of the issues I have run into @fsiddi regarding USD… is that when using USD file to transfer my camera to Unreal Engine, the ‘sensor size’ and ‘focul length’ gets mistranslated. Maybe I should file a bug report?

1 Like

Currently the most active place for discussion is Blender Chat - I suggest that you reach out there to share design ideas that go beyond fundamental I/O so you can collect some feedback, although you might already have done that. I am aware that there are several workflow ideas, unfortunately there is lack of resources to execute them at the moment. If you have any design doc, please share it again in the chat.

You could check on how the camera is imported in the standalone USD viewer (or in another software) to first confirm that this is an issue in Blender. Then you could report a bug.