You’ve processed your drone survey in your photogrammetry software. Now you need to get it into a format your client can actually view — without them installing Pix4D, Metashape, or a GIS platform.
3D Tiles is the answer. Here’s how to export it from each of the three major platforms.
Why 3D Tiles?
3D Tiles (OGC standard) allows massive 3D datasets to stream in any modern browser via CesiumJS. The viewer loads only what’s visible at the current zoom level — so a 20 GB mesh dataset can be explored in a browser on a standard laptop.
Your client gets an interactive, full-resolution view of their survey data. No software download. No emailed ZIP files. No “I can’t open this.”
Exporting from RealityCapture
RealityCapture has native 3D Tiles export — it’s the cleanest workflow of the three platforms.
Steps
- Complete your reconstruction (mesh or point cloud)
- In the Workflow panel, click Export → Export model
- Under Format, select Cesium 3D Tiles
- Configure export settings:
- Geometric error: Controls LOD transitions. For surveying work, 0.5–1.0 is a good starting point
- Tile size: 256m is a reasonable default. Smaller tiles load faster per tile but generate more tiles
- Texture format: JPEG for smaller file size; PNG for transparency support
- Click Export and choose your output directory
The result is a tileset.json file and a folder of .b3dm files.
Tips for RealityCapture
- Process your model at High reconstruction quality for 3D Tiles export — the LOD compression handles file size
- For large areas (>1 km²), split into smaller RealityCapture components and merge the tileset JSON manually or use Cesium ion
- Set your coordinate system correctly in the Registration panel before exporting — reprojecting after export is painful
Exporting from Agisoft Metashape
Metashape doesn’t have native 3D Tiles export in all versions. The approach depends on your version.
Metashape Pro (2.0+) — native 3D Tiles
- Build your Dense Cloud and Mesh (or Tiled Model)
- File → Export → Export 3D Model
- Under Format, select Cesium 3D Tiles (*.json)
- Set your tiling parameters and export
Metashape Standard or older Pro versions — via PDAL
If direct export isn’t available, export to .laz first, then convert:
# Install PDAL with the 3dtiles writer
pdal pipeline pipeline.json
Example pipeline.json for LAS → 3D Tiles:
{
"pipeline": [
"/path/to/your.las",
{
"type": "writers.cesium",
"filename": "/output/tileset.json",
"threads": 8,
"a_srs": "EPSG:32756"
}
]
}
Adjust a_srs to your coordinate system’s EPSG code.
Metashape → Tiled Model (alternative)
For textured mesh output, Metashape’s Tiled Model format (not 3D Tiles, but similar principle) is sometimes more convenient. You can convert Tiled Model output to 3D Tiles using Cesium ion or py3dtiles.
Exporting from Pix4Dmapper / Pix4Dmatic
Pix4Dmatic (newer platform — native 3D Tiles)
- Complete processing (DSM and mesh)
- In the Outputs panel, enable 3D Tiles
- Set your tile parameters and run the 3D Tiles generation step
- Download from the Pix4Dmatic cloud, or copy from the local output folder
Pix4Dmapper (classic desktop — no native export)
Pix4Dmapper doesn’t have a native 3D Tiles exporter. Export your mesh as OBJ or GLB, then convert using one of these approaches:
Option A: Cesium ion (cloud)
- Upload your OBJ/GLB to cesium.com/ion
- Cesium converts and hosts — generates a shareable ion asset
- Limitation: Cesium ion is $25/month minimum; assets are hosted on Cesium’s platform
Option B: obj2gltf + py3dtiles (local)
# Convert OBJ to GLTF
npx obj2gltf -i model.obj -o model.gltf
# Convert GLTF to 3D Tiles
pip install py3dtiles
py3dtiles convert model.gltf --out output_tiles/
Option C: FME (commercial) Safe Software’s FME has a 3D Tiles writer. Expensive but powerful for production workflows with complex transformations.
Hosting and sharing your 3D Tiles
Once you have your tileset.json and tile files, you need to serve them somewhere. Options:
Static file host (S3, R2, Azure Blob)
Upload your tiles to a cloud storage bucket with public read access. Point CesiumJS at the tileset.json URL. Requires front-end development to build the viewer.
Cesium ion Cesium’s managed platform handles hosting and viewer generation. $25/month for basic use. Aimed at developers building applications on top of Cesium.
Swyvl Upload your exported 3D Tiles folder — Swyvl serves it in a CesiumJS viewer with a branded share link. No CDN setup, no viewer code to write. The share link is what you send to the client.
Troubleshooting common export issues
“Tileset.json references missing tiles” Usually caused by an interrupted export. Re-export from scratch rather than trying to patch.
Model appears in wrong location (far from origin) Your coordinate system isn’t set correctly. In RealityCapture: Registration panel. In Metashape: Tools → Set Coordinate System. Make sure your EPSG code is correct for your region.
Textures missing in browser viewer
Check that your texture files (JPEG/PNG) are in the correct relative path from tileset.json. Also check CORS headers if self-hosting — your tile server needs to allow Access-Control-Allow-Origin: * for the browser to load cross-origin resources.
Model appears correct in Cesium Sandcastle but blank in viewer CesiumJS requires your tiles to be served over HTTPS (not HTTP) and with correct CORS headers. Local file:// URLs won’t work.
The export step is often the one that trips surveyors up — especially when your photogrammetry software doesn’t have native 3D Tiles support. But once you have a working export pipeline, it becomes a repeatable step in your delivery workflow. The result — clients exploring their site in a professional browser-based viewer — is worth the setup cost.