Home Creators Posts Import Register Favorites Logout

Content

We've all heard about Pixar's Universal Scene Description (USD) and how useful it is for handling massively complex 3D scenes and enabling collaboration across large organizations. More and more CG apps are incorporating USD features and workflows, and many people are arguing that the framework is essentially the future of 3D.

But, you might be wondering: how does all this help me? Most of us aren't producing Pixar-scale movies, so the need to manage trillions of polygons and coordinate between departments is non-existent.

There's no doubt that we can still get along fine without USD, continuing to use the native scene formats in our DCCs and geometry saved in Alembic, FBX or even OBJ formats. That being said, there are benefits to using USD even for a single person, so let's explore what they are!

File Format

USD implements both binary and plain text file formats for storing all kinds of 3D geometry. These formats are modern, robust, and support every feature you could possibly want.

USD's binary format is often much more compact than the alternatives. This means less disk space used and faster download/upload times when transferring files. Here are charts showing the relative sizes of various popular formats. I chose three sample meshes and grooms of varying complexity and averaged the file sizes.

Additionally, the plain text USDA format enables us to actually edit geometry manually. You can change component names, colors, positions or anything else just by altering a few lines of text. It's not often you might want to do this, but having the option is always nice.

Future Proof

Using USD is a safe bet when taking a long term view of your projects and data. The specification is entirely open source and there is an industry-wide push to adopt it. It's safe to say that anything you store in USD format today will be readable and modifiable for decades to come.

Extensibility

USD includes robust support for custom attributes, so you will always have the ability to grow upon your existing files and scenes, including material/shader support. You might want to embed, say, your Arnold materials so that your USD scene is essentially DCC-agnostic and will render anywhere Arnold can. The MaterialX specification seeks to implement this on a universal scale, allowing any DCC and any renderer to display MatX materials, removing the need to create new materials for different renderers. While the value of this is hotly debated (and it doesn't quite work yet anyway), it's an interesting idea that might prove useful eventually.

Scenes

USD allows you to create easy to understand, simple scene hierarchies that are portable between DCCs. You can import, name and parent geometry, then export it to USD and expect it to display perfectly in any app. USD also provides excellent support for referencing. Your scene hierarchy can exist entirely independently of the geometry. This allows for great flexibility and modularity.

You could even create your entire scene in a text editor. Simply reference your geometry using basic syntax and save as USDA. You've got an instant mini scene, ready for further refinement.

This is actually how I put together the skeleton of the chess scene for my Gaffer tutorial. I created the hierarchy and referenced the geometry using this very simple USD syntax in VS Code. I could then open this in any DCC to position the pieces and finish the scene.

Viewer

USD comes with its own standalone viewer called usdview. It's handy for quickly previewing geometry or scenes without having to load up an entire DCC. When viewing your files you can easily navigate the entire scene and thoroughly examine its hierarchy and attributes. usdview includes full support for materials, lights and animation too.

Conclusion

I hope this sheds some light on the reasons to use USD on a small scale. Even a solo artist will enjoy benefits that aren't available with older workflows and file formats. There are no serious problems with the Old Ways and you can certainly keep creating great work that way. But, at this point USD is more or less a drop in replacement that does a lot of things better. You might find yourself appreciating the improvements as time goes on and you get used to the power, flexibility and convenience that USD offers at all levels of sophistication.

Files

Comments

No comments found for this post.