PhotoRobot Controls Supported 3D Model Formats
PhotoRobot Controls App (further referred to as “CAPP”) supports multiple 3D model formats. This is thanks to CAPP’s integration of Apple Object Capture, which uses photogrammetry scanning to create a 3D model from photos. The following overview will provide a list of PhotoRobot supported 3D model formats, their features, and their compatibility across platforms.
Note: This overview provides only information on 3D model formats. To learn about using CAPP to capture 3D models, see the Capturing Images User Support Manual.
1 - USDZ (Universal Scene Description Zip)
The USDZ file format is the most common format for displaying 3D objects across various platforms and devices. It has native iOS support, and is widely popular for creating 3D and augmented reality (AR) experiences on Apple devices.
- Developer: Pixar
- Features:
- Encapsulates 3D scene information (geometry, shading, lighting, textures, etc)
- Optimized for real-time rendering, and for augmented reality (AR) use cases
- Non-binary format (text-based USD is compressed into a .usdz file)
- Platform Support:
- iOS/macOS: Full support, especially in AR applications (ARKit), Safari, and apps such as Keynote
- Windows: Limited native support, which typically requires third-party applications like Adobe Aero or specialized USD tools
- Android: No native support, which may require conversion tools or AR apps that support USDZ
- Web: Native support in Safari for web-based AR experiences, and broader web support possible via AR frameworks (e.g. WebXR or Three.js).
2 - STL (Stereolithography)
STL is a file format native to Stereolithography CAD software, and a common format for 3D printing.
- Developer: 3D Systems
- Features:
- Simple and widely used format for 3D printing
- Encodes only geometry (surface triangles) without color, texture, or material data
- Available in both ASCII and binary formats
- Platform Support:
- iOS/macOS: Viewable using specialized apps (e.g. Meshlab, FreeCAD); limited AR/3D support without third-party software
- Windows: Broad support across tools like Blender, Meshmixer, and 3D Builder; compatible with many 3D printers
- Android: Requires third-party apps like Slicer for Fusion 360, or mobile STL viewers
- Web: Visualization possible using JavaScript libraries (e.g. Three.js); common in 3D printing communities where models are shared in STL format
3 - OBJ (Wavefront Object)
OBJ files contain the 3D models to optimize for game engines, and for sharing on virtual reality (VR) / 3D object visualization platforms.
- Developer: Wavefront Technologies
- Features:
- Wide use for exchanging 3D model data
- Supports geometry, textures, and UV mapping, but material properties are stored in separate .mtl files
- ASCII-based, making it easy to edit manually
- Platform Support:
- iOS/macOS: Tools like Blender, Maya, and Cinema 4D can open and edit OBJ files, but third-party apps are necessary for viewing
- Windows: Full support in most 3D applications (e.g. Blender, 3DS Max, Autodesk Maya)
- Android: Viewable via apps such as Sketchfab or 3D modeling tools like Spacedraw
- Web: OBJ has wide support in web-based 3D viewers via libraries like Three.js and Babylon.js
4 - MTL (Material Library File)
MTL file formats have wide support for 3D modeling, and are commonly used for 3D computer graphics, and 3D object animation.
- Developer: Wavefront Technologies (as a companion format to OBJ)
- Features:
- Contains material and texture information for OBJ models
- Describes color, texture maps, and other surface properties
- Platform Support:
- iOS/macOS/Windows: Companion format paired with OBJ in 3D modeling software like Blender, 3DS Max, and Maya
- Android: Requires 3D model viewers that support OBJ and MTL files together
- Web: Supported with OBJ in 3D web viewers like Three.js
Supported 3D Model Formats - Summary
In terms of use cases and support, each PhotoRobot supported 3D model format has its own pros and cons:
- USDZ: Best for iOS/macOS AR, but with limited support elsewhere
- STL: Universally supported for 3D printing, although lacks texture and material data
- OBJ/MTL: Widely supported across platforms; ideal for sharing detailed models with materials, but tends to be larger than other 3D formats