I just came across Pixar’s Universal Scene Description language. It’s a file format they use for all of their movies. It was interesting to see a number of tools support USD. Quick searches found:
- A set of Pixar USD tools they have open sourced
- A Unity importer for USD files
- Blender import/export support
- Maya support for USD
The Unity docs included the description “USD enables round-trip asset workflows between digital content creation tools like Maya, 3ds Max, Houdini, Katana, Nuke, Modo, Sketchup, Substance Designer, and Substance Painter.”
My understanding of the format is it was designed to allow all the stages of processing for rendering a movie to be defined in different files that are combined as required. E.g. color tweaking, lighting, model creation, materials, animation, etc. For a large team of specialists, like Pixar has, separating these different types of processing into different files makes a lot of sense. Each team can edit their files with lower risk of conflicts with changes made by others. The more people you have, the more communication between team members becomes a significant overhead.
Note: some conflicts will always occur. If you add an extra arm to a character, of course that is going to impact animation! The idea however is if you are making small changes, such as one person tweaking the walk gait of a character and other adjusting the character’s shirt, then you don’t want such changes conflicting if they exist in the same file.
For my own hobby project I am not planning on using USD, at least at this stage. I can completely understand how it would allow a team work together with less conflicts, merging all the stages together. I can also see how it might a be a serious option if you planned to use say Blender as your main tool. (Blender can create models, rig them, and animate them.)
But in my world, I am using VRoid Studio models for characters, and most people in that community are using Unity directly (even if most are not making animated videos with the characters). So I plan to stay where my community is today – because of the community, not because of the tools or any technical debate about which approach is better. Community = people I can ask for help!
It is however a format I am going to keep an eye on for the future as it did come from the animation space.