Although USDZ files are fairly new, we have years of experience with all 3D formats. With USDZ, consumers can view and share AR and 3D content on Apple iOS 12 devices. We’ll explain when to use USDZ files and how to create and convert them.
In this article:
What Is the USDZ File Format?
USDZ is a 3D file format that displays 3D and AR content on iOS devices without having to download special apps. Users can easily share this portable format, and developers can exchange it between applications in their 3D-creation pipeline.
The USDZ format enables iOS 12 iPhone and iPad users to view and share AR files. USDZ offers portability and native support so users who do not need to download a new app for each viewing situation. Users can easily share USDZ files with other iOS users. Currently, Android does not support USDZ and has its own equivalents, gLTF and gLB.
The file format can render several objects and supporting files in one file, including data for mapping, textures, rigging, geometry, and more. Developed by Pixar and Apple and introduced at the Apple Worldwide Developers Conference (WWDC) in 2018, USDZ enhances USD to promote the exchange of 3D models for AR.
USDZ is based on the Universal Scene Descriptor (USD) format that comprises 3D models or animations. Created by Pixar, the format allows for extensive collections of assets in one scene. USD layers for assets mean that multiple artists can work on the same scene simultaneously and appears in some animated Pixar movies created using the Hydra Engine.
Currently, the USDZ format hasn’t seen wide adoption, and some detractors feel USDZ could be an anomalous format required for assets developed elsewhere to run on iOS. Currently, gLTF finds wide use, while USDZ is usable only on iOS.
USDZ Use Cases
At the 2019 WWDC conference, Geoff Stahl, Apple’s Senior Director of Software, Technology Development Group, posited these use cases for USDZ and AR:
- Preview tens of thousands of products from Target, Home Depot, and Wayfair.
- View virtual objects using your own home or the location of your choice without having to install an application.
- Easily share USDZ files in Apple’s iOS 12Mail and Message apps, or through the Safari web browser.
- Attract customers even for small businesses with the Apple Pay integration in Quick Look.
- Leverage Shopify’s 3D-model development tools to make products AR-accessible.
USDZ is an unencrypted zip file, without compression. USDZ provides a container, or package, to render several objects and tools as one object. The file is read-only, and to edit it, you use the unzip command at the command line, called Terminal in Mac and iOS development.
Alternatively, you must change the file extension to .zip and extract the contents. Then, you edit the individual files with appropriate tools. As the USDZ specification prescribes, any data included in a USDZ must be accessible by any of these approaches:
- Their data is used by the USD runtime via mmap
- Via pointer to memory
- Thread safety access
For now, a USDZ file can contain only these file types:
- USDA: The ASCII format for saving a scene description in text. ASCII itself takes a long time to parse.
- USDC: The binary format of a USD file, USDC files load faster. USDC is necessary for Quick Look to load assets on mobile phones and other devices.
- USD: USD files can be either ASCII or binary, and you can rename them USDC or USDA: Devices read the first few bytes to determine the file format.
- USDZ: A type of zip file that contains at least one USDC file and textures for the scene. Used for Xcode projects and for rendering in Quick Look.
- PNG: The Portable Network Graphics (PNG) format is the next generation of a GIF, and supports palette-based color and non-palette-based full color. USDZ uses PNG for textures and images.
- JPEG: Also known by the extension JPG, jpeg permits adjustable levels of resolution. USDZ uses jpegs for images and textures. Use any jpg format.
- M4A, MP3, WAV: These audio formats provide embedded audio. For use in USDZ, M4A is most preferred, and WAV least preferred.
USDZ was explicitly developed as uncompressed, so programs—or APIs—could consume them without first unpacking them. They leverage the encryption capabilities inherent in most graphic file formats to reduce file size. You can use plugins to reference individual files within a USDZ.
Some developers say that the prescription in the specifications for USDZ files to begin at 64 bytes basically describes a text file. Therefore, you can save any USDC or USDA as a USDZ file.
The USDZ format comes with some constraints for artists and developers:
- Not Editable: USDZ files are read-only. Although they are readable with Quick Look-based viewers, as with any zip file, the elements must be extracted and edited separately.
- No USD Specification for Materials: When creating USD scenes, use Physically-Based Rendering (PBR), which provides more realistic reflections on virtual objects in AR scenes.
- Streaming Content: Streaming content may be possible for a USDZ package that contains a single object, and with consideration for the level of detail (LOD). A LOD is a 3D animation principle wherein the complexity of detail is reduced the farther away it is from the viewer. Streaming may start with a low definition object, one with minimum texture, or for animation, a static object. Only the client application can stream a file.
- Caches Files: USDZ always begins at the frame where the play stopped. Files play on a loop.
- Limited Interaction: USDZ files recognize some hand gestures, but additional interactions are not yet possible. Animation must be baked in and is not interactive.
USDZ are containers similar to the widely used gLTF, and DAE formats. A USD usually contains one 3D model called a scene. A USD scene consists of a hierarchy of node-like structures called prims. USDZ files can contain multiple USDs and supporting data.
You can find some of the principal utilities for editing USDZ in Pixar’s USD Toolset, which include the following:
- Usdcat: If the USD contains a Default Layer (this is a native USD file format and is the first file in a package), if the package is targeted with a reference or presented on a USDstage, usdcat prints its contents.
- Usdedit: If the USD contains a Default Layer file, usdedit displays the contents in an editor. However, you cannot save any changes.
- Usdchecker: The usdchecker validates the contents of a USD.
- Usdzip: Use this tool to create USDZ containers of USD compositions. Arguments offer control over how files are packaged and read.
- Unzip: With the unzip utility, you can unpack or unzip a USDZ package at Terminal, without renaming it to.zip.
How to Create USDZ Files
USDZ files can start as USD files. See the USD open source code on GitHub and use the Pixar USD Documentation Set to guide you. You will need the Mac development environment Xcode, particularly for AR development. It may be difficult to preview PBR texturing in Xcode, and the only accurate way to test USDZ is by viewing it on a Quick Look-enabled device.
Some third-party software makers, such as Vectary and SketchUp, offer tools for creating a 3D model that you can export to USDZ. Alternatively, you can create or download a 3D file, such as OBJ or ABC, and convert it to USDZ. Note that USDZ does not include associated MTL files. Some artists find that correctly mapped textures transfer well to USDZ, making MTL redundant. If you intend to publish the file as AR content, you must use a physically-based rendering of textures to provide added realism in appearance and movement.
Physically-Based Rendering (PBR)
Physically-based rendering maps textures of a USDZ model. You can see each characteristic in the image files contained in a USDZ package.
- Ambient Occlusion: This grayscale map describes the ambient light blocked or reflected by a model.
- Color: The diffusion map for each part of a model.
- Emissive: This setting describes how much light the object emits. For objects other than lights, this setting is black or not used.
- Metallic: A grayscale setting where white describes metal parts and black specifies non-metal elements.
- Normal: Normal describes relief in the surfaces of a model. It appears as purple in image files.
- Roughness: The roughness map represents shiny and matte surfaces. It is a grayscale setting, and its values are the opposite of the emissive map. Consequently, black describes glossy surfaces, and white represents matte surfaces.
If you edit your files in Xcode, here’s a model mapping example from Perficient Digital Labs for reference:
How to View USDZ Files
You can view USDZ files using AR Quick Look on an Apple device that’s running iOS 12. Items viewable in Quick Look will display an AR in the top right corner of the photo or icon, click that link to see an AR object on your device.
What Is AR Quick Look?
AR Quick Look on iOS 12 and in Safari lets you view AR or 3D content overlaid on views of the real world. Previous versions of Quick Look enabled previews of assorted file types, from images to documents. Since AR Quick Look is part of the operating system, USDZ files open seamlessly, meaning users don’t need to download anything extra. Quick Look provides limited interaction that allows you to move or size models with a swipe or pinching gesture. Android has no similar native solution, although some third-party options exist.
How to Export USDZ Files
Apple hasn’t provided a way to export USDZ files, so you’ll need to use third-party tools to export USDZ files out of a design program. You’ll need to use a conversion tool to convert the USDZ file into another 3D format if you want to use it in another 3D program.
How to Convert USDZ Files
The options for converting USDZ files have increased since the announcement of the format. Pixar released a pre-compiled Python library to convert media, but there are also tons of programs that will do the trick.
You can use the command line converter in Xcode 10, which will look something like this:
USDZ Conversion Programs
Artists frequently create 3D models, including textures, in other programs, and then convert them to USDZ. Common formats for saving 3D models include OBJ and ABC. You can try to convert USDZ to gLTF by unzipping the USDZ file, and then editing the texture files, and exporting it as a gLTF. To create 3D models or edit models that can be converted to USDZ files, see these programs:
- Adobe Project Aero: The first company to announce development support for the format in their Adobe Creative Cloud Suite. Quickly animate standard 2D and 3D assets from Photoshop and Illustrator and create 3D objects from them and third-party applications such as Cinema 4D. Use the free Aero app for viewing the files, and then output it to USDZ.
- Adobe Substance Painter: Export textures to USD and USDZ.
- Autodesk Maya: Use the Multiverse plugin to export USDZ.
- Blender: Use the Export menu to convert files to USDZ in this open-source program.
- Nvidia Omniverse: The Omniverse platform provides utilities, USD Python 3 bindings, tutorials, and a library of pre-built USD assets.
- Pixar RenderMan: A plugin for Maya, this utility ensures textures transfer in USDZ.
- Python-based tools: Using these tools eliminate the need for a Mac. Export a USDA file which you rename to USDZ, or use the gltf2usd python module. Drag and drop OBJ, STL, or DAE files into a 3D scene and export as them as USDZ.
- Quixel: Quixel provides shading and rendering, plus connections to all major 3D platforms.
- SceneKit: Create a USDC first, and then saves it as a USDZ.
- SimSoft Composer: SimSoft exports to USDZ, using files from programs such as Rhino, 3DS, Maya, SketchUp, SolidWorks, Inventor, Revit, and Fusion.
- TurboSquid: TurboSquid now includes USDZ models for download.
- Unity: A leading real-time 3D and AR development platform for the industry.
- USD Manager: Created by DreamWorks, USD Manager is a tool for viewing contents, links, and references in a USD.
- Pixar USDView: Use the USDView utility with Python to run USDZ.
- Vectary: With this browser-agnostic tool, you can upload a 3D file and export it as USDZ.
- ViewAR: You may need to convert the material files first for your 3D model. However, this free application exports USDZ files.
- Xcode 10: Use the built-in conversion capabilities of this integrated coding environment from Apple. Convert UV-map textures to JPG or PNG for OBJ, ABC, or DAE and then remap it in XCode. Drag files into Xcode, and under the Edit menu, select the output you want.
Solving Conversion Problems
If conversion problems appear, consider these changes to your source files:
- Simplify model geometry.
- Reduce the materials count.
- Provide a high-res and low-res version. Designers use the low-res version for arranging objects in a scene. Customers use the high-res version for viewing and walkthroughs.
- Reduce resolution for CAD models. CAD models require high resolution because they are referencing models for manufacturing. The same level of detail is not necessary for straightforward viewing.
- Apply a photo rather than a modeled texture.
- Place features that designers might change higher in the hierarchy of the model for easier access.
Download Free Sample USDZ Files
Apple offers a library of free sample USDZ files that you can download. There aren’t a ton of objects, but there are basic ones like a chair, TV, and tea kettle.
What Is ARKit 2.0?
First released in 2017, ARKit is a set of software tools that developers use to create AR applications for devices running iOS 11 and higher. ARKit presents a low barrier to entry into AR production for both creators and consumers. The software leverages native motion-tracking and camera sensors in corresponding iPhone and iPad devices. Device users can then add virtual objects to real space, and as of recent iOS updates, locate objects against walls and next to other real-world items. Since its release, thousands of AR apps have appeared for download for iOS.
ARKit 2.0 builds on established ARKit capabilities by enabling up to four people to share in an AR game or experience and adds the ability to lock a virtual object in place. Upgrades included improved 3D object detection and rendering, and more agile face tracking. With the release of USDZ files, users can now share AR files in Apple’s Messages and Mail apps.
Virtual items previously existed in a flat space. Innovations add dimensionality and immersion. ARKit-tracking allows the device to understand where it is in context to its space and update virtual objects and other information. Further updates include occlusion, which means a real object will block a virtual object to add additional realism and drive iOS AR technology an extra step towards interactivity.
As a practical example, a new ARKit application called Measure acts as a tape measure to lets users measure objects by tapping and dragging lines in the device’s screen. Apple also released a beta version of its new AR development platform, Reality Composer, a user-friendly tool that uses USDZ files to create AR assets easily.
Seamlessly Share Your 3D Designs with Marxent’s 3D Modeling Services and 3D Cloud
With USDZ capabilities, anyone with an iPad, iPhone running iOS 12 can experience the advantages of AR. For developers, USDZ is simply another file format they have to learn. Having a tool that will allow you to make your complete product catalog available in 3D and export assets to most file formats seamlessly is essential. Marxent’s 3D Cloud is capable of storing assets generically, providing access to team members when and where they need them. Use the solution to produce consumable format types for many other platforms and search engines, including USDZ, glTF, OBJ, and Google 3D Visual Search.
Learn more about our 3D Cloud service with 3D asset management for ecommerce.