3D Formats - Capabilities Overview

When exporting 3D data for delivery or for further processing, it is important to be aware of the features that are supported by each of the available 3D formats. This may also have an impact on your 3D model optimization (for example, if and when tiled textures or secondary UV maps will be supported). The following table provides an overview:

Feature glTF USD(Z)6 OBJ FBX STL PLY
Draco Geometry Compression 2
KTX2 & Basis Universal Texture Supercompression
Textures & UVs
   Texture Transforms
   2+ UV Sets (✔)3
Transparent Materials
Basic Real-Time PBR Materials (✔)4 (✔)5
Rigid Animations
Skinned Animations
Embedded Texture Images 1
Scene Composition

Comments

  1. glTF supports embedding of binary image data via binary glTF (.glb). But even in its text-based version (.gltf), it is possible if the (less efficient) based64 encoding is used for the images to be embedded.
  2. Draco support can be added via plugin. This is not necessarily supported.
  3. Although an arbitrary number of UV sets is supported by the format, it seems the ARKit viewer is limited to one UV set, making the feature currently unusable in many AR applications in practice.
  4. There is no standard, but an inofficial nomenclature for some common PBR maps.
  5. Similar to OBJ, FBX does not define an official PBR material, although several inofficial and/or vendor-specific material systems exist.
  6. Files with extensions .usd, .usda or .usdc are considered USD files. File extension .usdz implies a USDZ package file containing one USD file plus textures, see here for reference.