Skip to content

Support for USDZ and GLB/glTF 2.0 Export for Augmented Reality #497

Description

@JMB-Scripts

Is your feature request related to a problem? Please describe.
Currently, exporting molecular scenes from PyMOL for use in Augmented Reality (AR) or modern web-based 3D viewers requires a multi-step conversion process. Users often have to export to .dae or .obj and then use external tools (like Blender or Reality Converter) to reach .usdz or .glb formats. This often results in lost scaling, material properties, or vertex color data.

Describe the solution you'd like
I would like to see native export support for:
.GLB (glTF 2.0): The industry standard for web-based 3D and Android AR.
.USDZ: The standard for Apple’s AR ecosystem (iOS/macOS).
Ideally, these exporters would preserve:
Atom/Surface colors (including spectrum and b-factor coloring).
Representations (Cartoons, Sticks, Spheres).
Correct Scale: Ensuring 1 A˚

Describe alternatives you've considered
Currently, I have to use a multi-step pipeline (e.g., exporting VRML/OBJ, then importing into Blender or using command-line converters). This is time-consuming and prone to errors in scaling and vertex coloring.
I have noted that Mol* (Molstar) already supports direct export to .glb and .usdz. While Mol* is excellent for quick web viewing, PyMOL remains more advanced.

Additional context
With the rise of spatial computing and AR-based education, the ability to quickly "Save As" a format that a smartphone or headset (like Vision Pro) can read natively would significantly enhance PyMOL's utility.
Specifically, this can be used in academic for poster presentations. Currently, researchers want to include a QR code on their posters that links directly to a .usdz or .glb file. This allows attendees to instantly view a 3D, interactive model of the structure on their own devices without installing specialized software. Native export from PyMOL would make this workflow seamless for the scientific community.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions