Fully USD compliant outliner structure / content.
Blender should embrace USD as its core format and change the following:
-data should start at the root "/" instead of within a collection
-replace empties concept with usd xforms and introduce scopes (containers with no location attributes)
-make material primitives that can be stored anywhere in the structure and linked to geometry with attributes rather than old school current system.
-camera, cube, and light should become usd primitives directly
-introduce references, payloads, sublayers etc to the outliner.
-add dynamic attribute allocations (for materials, collections etc) instead of outdated static links only
-...all the other usd concepts that make it vastly superior to current solution
4 Comments
Formats go in and out of vogue and longevity is never guaranteed. USD is great and should be heavily supported but I don't agree that Blender's paradigms and design should be changed to match it. This could affect the compatibility of other formats and ultimately pigeonholes the team into working with a scene paradigm they didn't design. What works for an industry-compatible universal interchange format doesn't necessarily work best for a quirky DCC with its own unique features and requirements, especially one that serves users of many different backgrounds and skill levels.
We should draw inspiration from what USD does well but IMO the wisest approach is to translate those benefits to fit within Blender's existing scene design.
USD concept are superior to Blender's concept in every way. How is it negative to include them ?
Your proposal isn't to simply include them, it's to replace Blender's core scene structure with those concepts altogether. I've already explained why that's probably not worth the trouble.
No, in programming there is a concept called abstraction. It means plugging a concept over another one ( a translation layer if you prefer ), it is used a ton in Blender already.
In this case, you could add a light by example, but internally link it to a blender light, an xform could remain internally an empty, etc.
The main issue with this scene structure is that it is extremely outdated, extremely unconventional (to be polite), and extremely un-modular. (excuse me, but the material inside a cube shape, inside a cube mesh transform is the worst, an ideal modern structure would have the material "/materials/default" and have it assigned to "/cube", with a procedural rule such as "*", end of the story. The current system is designed so terribly, it was clearly made by people who had not many clues what they were doing at the time.
Coming from the professional world, this is a clear no-go using such a structure to develop assets and scenes.