All guides

AI 3D Models for AR and VR: GLB, USDZ, and XR Export

Choose AI 3D models for AR and VR, export GLB, USDZ, or spatial formats, and optimize geometry and textures for WebXR and headsets.

AI 3D Models for AR and VR: GLB, USDZ, and XR Export guide cover

Direct answer

Use GLB for portable WebXR and real-time assets, USDZ for Apple Quick Look, and SPZ or PLY only when the target XR runtime supports Gaussian splats; always test file size, geometry, textures, scale, and frame rate on the actual device.

Takeaways

  • Tripo, Meshy, Rodin, and Hunyuan3D create discrete XR assets; Marble, Echo, SpatialGen, and Skybox create different kinds of spatial environments.
  • GLB and USDZ describe mesh assets, while SPZ, PLY, SOG, and proprietary world packages may require a dedicated viewer or plugin.
  • Desktop quality is not headset quality. Thermal limits, memory, texture resolution, transparency, and draw calls must be tested on-device.
Match AI 3D output to the XR runtime
NeedModel laneFormatRuntime note
WebXR objectTripo, Meshy, Rodin, or Hunyuan3DGLBCompress and test browser decoding
Apple AR previewProvider-native asset exportUSDZValidate scale and materials in Quick Look
Immersive splat sceneMarble, Echo, or SpatialGenSPZ or PLYRequires a compatible splat renderer
360 environmentSkybox AIPanorama, cubemap, or available GLBBackground shell, not walkable level geometry

Output formats

Choose the file your next tool can use.

File extensions do not guarantee identical contents. Check whether the result is a mesh, a Gaussian-splat scene, or a provider-specific package before importing it.
SPZ

SPZ

SPZ stores compressed 3D Gaussian splats rather than a conventional polygon mesh. It retains splat attributes such as position, scale, rotation, opacity, color, and spherical harmonics while reducing file size. Use an SPZ-compatible splat viewer and confirm coordinate-system handling before moving the scene between tools.

Best for
Compact Gaussian-splat worlds, web viewers, and real-time scene delivery.
Open with
Open it in an SPZ-compatible Gaussian-splat viewer or runtime. Niantic's browser-based SPZ Tools can inspect metadata and convert between SPZ and compatible PLY splat files without installing an application.
How to use
Keep SPZ as the compact delivery copy when the target viewer supports it. Import it through that viewer's SPZ loader, or convert a working copy to PLY when an editor needs a less compressed interchange format.
Check first
Confirm the SPZ version, point count, spherical-harmonic detail, coordinate system, orientation, scale, and visual quality after decompression. Do not treat it as a polygon mesh.
SOG

SOG

SOG means Spatially Ordered Gaussians. It is a lossy, compact container made from a metadata file and compressed image data that stores the properties of a Gaussian-splat scene. Treat the download as a file set and keep its files together when hosting or importing it.

Best for
PlayCanvas, browser delivery, and streaming Gaussian-splat scenes.
Open with
Preview it with the PlayCanvas Viewer or another runtime that explicitly supports SOG. SOG is a dataset made from meta.json plus compressed image files, not a single conventional 3D model.
How to use
Extract the complete download when needed, preserve every companion filename and relative path, then load meta.json through the compatible viewer or host the entire file set together for streaming.
Check first
Check that no metadata or image file is missing, that the server returns the correct files, and that color, opacity, orientation, scale, and compression quality match the source scene.
PLY

PLY

PLY is an openly documented format for vertices and optional polygon faces with custom per-element properties. In a world-generation workflow, a PLY may contain Gaussian-splat point attributes rather than a ready-made triangle mesh. Inspect the header and use a compatible splat tool before assuming it will behave like an OBJ or GLB.

Best for
Splat editing, research tools, point-cloud exchange, and conversion workflows.
Open with
Open a Gaussian-splat PLY in a splat-aware editor or viewer such as SuperSplat. A general PLY importer may read the points but ignore the custom opacity, scale, rotation, and spherical-harmonic properties.
How to use
Use PLY as an editable or conversion-oriented copy of the splat scene. Import it into the intended splat tool, make or validate changes there, then export the delivery format required by the final viewer.
Check first
Inspect the PLY header before choosing a tool. Confirm whether it contains polygon faces, a basic point cloud, or Gaussian-splat attributes, then check point count, axes, scale, color, and opacity.
DRC

DRC

DRC is a raw file compressed with Google Draco, a library for meshes and point clouds. It is optimized for storage and transmission, but it is not a complete scene package by itself: materials, textures, cameras, and other world data may be delivered separately or omitted.

Best for
Compact geometry transfer and pipelines that already include a Draco decoder.
Open with
Decode it with Google's Draco decoder or open it through a 3D pipeline that explicitly supports raw DRC geometry. Most desktop viewers cannot use a standalone DRC file by double-clicking it.
How to use
Decode or transcode the geometry into the format expected by the next tool, then reconnect any separately delivered materials, textures, cameras, or scene data. Keep the original DRC as the compressed source copy.
Check first
Verify whether the decoded result is a mesh or point cloud and confirm positions, normals, texture coordinates, color attributes, scale, and orientation. DRC alone is not a complete rendered world.
WORLD

WORLD

WORLD labels the primary scene file returned by the Hunyuan World provider; it is not a universal interchange standard like glTF. Preserve the original filename and any companion files, then use the provider's documented workflow or convert the result before opening it in a general 3D tool.

Best for
Keeping the provider-native Hunyuan World result for its supported workflow.
Open with
Use the Hunyuan World workflow or runtime documented for the generated package. General-purpose 3D applications should not be expected to recognize a provider-native WORLD file directly.
How to use
Preserve the original filename, folder structure, and every companion asset. Start from the provider's loader or conversion path, and create a separate GLB, DRC, or other working copy only when that workflow supports it.
Check first
Confirm the provider version, required runtime, companion files, coordinate system, scene scale, licensing, and conversion limitations before depending on the package outside its native workflow.
GLB

GLB

A world GLB uses the same binary glTF container as an object GLB, but the contents can be very different: it may be an environment mesh, depth mesh, or a provider-specific scene export. It does not automatically preserve the view-dependent appearance or navigational behavior of a Gaussian-splat world.

Best for
Mesh-based web previews, common 3D applications, and engine import.
Open with
Preview it in World Models Watch or a glTF viewer, edit it with Blender's glTF 2.0 importer, or import it into a compatible Unity, Unreal Engine, Godot, or web 3D workflow.
How to use
Treat it as a mesh-based environment export. Import one copy into the destination, then configure materials, lighting, collision, navigation, cameras, and performance settings required by that project.
Check first
Check scale, axes, normals, material extensions, texture color, holes, collision suitability, polygon cost, and whether the scene is only a depth shell. A world GLB is not automatically a navigable splat world.

Choose the representation

An XR object, splat scene, and skybox solve different problems.

Use an object generator for a product, prop, or character the viewer can approach and rotate around. Use a world generator when the scene itself must carry spatial detail. Use a skybox when the environment only needs to surround the viewer. A convincing 360 image does not provide collision, nearby parallax, or editable room geometry.

For mesh assets, GLB is a strong default because it can package geometry, materials, and textures. USDZ is the delivery format associated with Apple Quick Look. Gaussian-splat formats such as SPZ and PLY can preserve captured appearance, but they need a renderer that understands them and do not behave like ordinary editable meshes.

Export

Take the format from the target application backward.

For WebXR, confirm that the chosen viewer imports GLB and supports the materials or animations used. For Apple AR, obtain USDZ from the provider workflow or convert the inspected source asset with an appropriate tool. For Quest, Unity, or Unreal, choose the engine importer and performance budget before generating a large content set.

World Models Watch may return GLB for a model or SPZ, PLY, SOG, WORLD, DRC, or GLB for a world, depending on the selected route. Those labels do not guarantee native XR support. Follow the provider documentation and install a dedicated plugin when a splat or proprietary format requires one.

Device test

Optimize for the slowest device in the experience.

Check polygon count, texture dimensions, material count, transparency, shader compatibility, file size, and decode time. Reduce unseen geometry and oversized textures. Confirm meters, origin, and forward direction so objects appear at a believable scale and do not spawn behind or inside the viewer.

Measure frame rate and memory on hardware, not only in a desktop editor. Test the closest viewing distance, controller or hand interaction, loading state, and fallback behavior. An asset that opens successfully can still be uncomfortable or unusable when it causes dropped frames in a headset.

FAQ

Is GLB or USDZ better for AR?

GLB is the more portable choice for web and many real-time pipelines. USDZ is the expected path for Apple Quick Look. Maintain separate tested exports when the experience targets both.

Can a Gaussian splat be used in VR?

Yes, if the runtime has a compatible splat renderer and the scene meets device performance limits. SPZ or PLY is not a drop-in replacement for an ordinary mesh.

Decision tables

Use a comparison when two lanes are still competing.

Sources

Discussion

Reader discussion

Add source-backed corrections, questions, or notes for this page.

Loading comments
Loading discussion...

Loading comments...