This is Part 2 in our series, "Ben Houston's Ultimate Guide to 3D File Formats"
Part 2: The USD and USDZ 3D File Formats
If you're wondering whether you should use the USD, USDZ and USDA 3D file formats, the answer is: "It depends on what you are using it for." There are pros and cons to consider.
The USD, USDZ and USDA 3D file formats are three different names for a format designed by Pixar Animation for the transfer of rich 3D models and scenes.
The USD acronym stands for Universal Scene Description. While the USDZ extension variation just means that it is a zip-compressed USD file, hence the Z in the name. The less popular USDA extension variation means that it is a human readable text format, whereas the main USD and USDZ variations are binary encoded.
USD was originally designed to be used by professionals in the visual effects and computer animation industry for transferring around 3D scene information between different software tools. It wasn’t until Apple decided to adopt USDZ as its primary file format for all things 3D that USD became popular with everyday users.
As mentioned, Apple has adopted the USDZ 3D file format for packaging real-time 3D content for those developing iOS applications with 3D effects, and also web-based Quicklook AR experiences.
Wide Feature Support
The USD and USDZ formats, like the FBX file format, supports a rich and wide set of features. USD and USDZ supports 3D models, scene hierarchy, materials, lighting, animations, bones, skinning as well as blend shapes. If you have data in a 3D editor that you want to transfer to another tool, it is very likely that USE and USDZ, if supported by your application, will be able to transfer that data accurately and easily.
The biggest unique strength of the USD file format in comparison to all other 3D interchange formats is that its supported features are very modern. Pixar Animation is the leading 3D animation studio and its design for USD is nearly perfect for its needs. USD supports the latest physically-based material and lighting definitions. It also does not have legacy baggage of features that used to be popular decades ago but generally are not used today, like FBX’s support for NURBS surfaces.
Separate Position, UV and Normal Topologies
A strength of the USD and USDZ 3D file formats is that they enables the storage of both position, UV and normal data that has different topology. This is great for high quality modeling tools, and enables complex features like accurate subdivision surfaces.
The USD file format, because it utilizes an efficient binary encoding, is fast to write and read. This is because when one stores data as binary it is faster to write and read it as opposed to a text-based format that must convert binary data to and from human readable numbers. It is also efficient in terms of space because binary representations of numbers take up less space than human-readable numbers. Binary formats can often be complex if you need to read and write to them directly but the USD SDK hides this completely completely form the user of the USD SDK.
It is quite likely that inside of Pixar Animation Studios, USD files are perfectly compatible between their various internal tool sets. Unfortunately, outside of Pixar Animation the world isn’t so perfect.
In particular, the most common software that supports USDZ outside of the Pixar studios, is Apple’s. Unfortunately, the Apple implementation of USDZ’s feature is very partial with a large set of undocumented limitations.
This means that a standard USD or USDZ file exported according to the official specifications will not load into Apple software or if it does, it likely will look incorrect, especially with regards to materials. As such, one needs to know that the consumer of the USDZ file is an Apple device and thus export within the limitations of Apple’s software.
Large File Sizes
USD and USDZ was designed by Pixar Animation for use on its award winning 3D animation films. Pixar Animation’s studios and software is designed around the need to transfer large files to support their incredibly rich visuals. Pixar is not a games company nor a company that needs to transfer data quickly and efficiently to remote locations. USD is thus designed for this environment and thus it favors rich visuals over the various space saving techniques that other 3D formats, such as glTF, employ.
Specifically, USDZ does not employ 3D geometry specific compression algorithms, thus it losses out on the compression ratios that glTF can achieve with DRACO compression. USDZ does not allow for the efficient texture channel packing that glTF utilizes, which significantly increases texture efficiency.
Interestingly, even though the USDZ file uses a zip file container to bring together all of its component files into one package, it does not allow currently for the zip compression feature to actually be enabled to make the file size smaller.
The end result is that USD files will generally be larger, sometimes much larger, than equivalent glTF files.
If you are working in film production, especially computer animation film production, and your toolset supports USDZ, using USDZ as a means of transferring data is a great choice.
If you need to transfer data to software that will run on Apple devices or utilize Apple’s web-based Quicklook AR functionality, using USDZ is also a great choice, a must really, but be careful with Apple’s significant incompatibilities with the official USD specification.