This is the tutorial I wish existed when I started doing photogrammetry work commercially. It covers the full pipeline: planning your drone flight, processing in RealityCapture, exporting to 3D Tiles, and sharing with clients — without requiring them to install anything.
What you’ll need
- Drone: Any drone that can capture nadir (straight-down) and oblique imagery. DJI Phantom 4, Mavic 3 Enterprise, or similar.
- GCP targets (optional but recommended for survey-grade accuracy): Printed targets at least 40cm × 40cm, measured with RTK GPS.
- RealityCapture: From Epic Games. Pricing is per output — much cheaper for smaller projects than subscription tools.
- A target tile set format: We’re exporting to 3D Tiles (the OGC standard for streaming massive 3D datasets in browsers).
Step 1: Flight planning
Overlap is everything in photogrammetry. Insufficient overlap produces holes, poor surface reconstruction, and inaccurate results.
Minimum recommended overlap:
- Front (along-track): 80%
- Side (cross-track): 70%
For complex terrain or structures, increase to 85/80. Flying two grids at 90° to each other (a “crosshatch” pattern) significantly improves the reconstruction of vertical surfaces like walls and facades.
Flight altitude: Determines your Ground Sample Distance (GSD). For 2cm GSD with a DJI Phantom 4 Pro (1-inch sensor), fly at approximately 60m AGL. Adjust based on your camera’s specs and the GSD your client requires.
GCP placement: If you need survey-grade accuracy, place GCPs around the perimeter of the survey area and at least one in the centre. Distribute them so no area of your survey is far from a GCP. Measure with RTK GPS — a post-processed GNSS solution with 2-3cm accuracy is usually sufficient.
Step 2: Import into RealityCapture
- Open RealityCapture → New project
- Drag your images into the 1D/2D/3D scene panel
- If you have GCPs: add them under Ground Control Points → import your CSV with columns:
name, x, y, z(in your target coordinate system) - Mark GCPs on images — RealityCapture’s auto-marking works reasonably well for distinct targets, but manually verify
- Set your coordinate system (EPSG code for your region)
Step 3: Alignment
Run ALIGN (under Workflow). This is the structure-from-motion step: RealityCapture identifies matching features across images and solves for camera positions.
If alignment struggles:
- Check for low-overlap areas
- Ensure sufficient image sharpness (review for motion blur)
- Look for scenes with insufficient texture (large flat surfaces like water or uniform ground)
After alignment, check your reprojection error in the Ground Control Points panel. Aim for sub-pixel reprojection error across all GCPs.
Step 4: Reconstruction
Run RECONSTRUCTION → Dense point cloud or Mesh, depending on your deliverable.
For 3D Tiles export, you’ll typically want:
- Mesh reconstruction for solid surfaces (buildings, terrain)
- Point cloud for raw survey data delivery
Reconstruction quality settings:
- High: Best results, longer processing, more RAM required
- Normal: Good for initial review; acceptable for many deliverables
- Preview: Fast, lower quality — useful for checking alignment before full processing
Step 5: Coordinate system and accuracy check
After reconstruction, verify your coordinate system is correctly assigned. In RealityCapture, this is under Registration → Set reconstruction region coordinate system.
Check that your output aligns with your GCPs. In the GCP panel, compare measured positions against RealityCapture’s computed positions. A well-processed dataset with survey-grade GCPs will produce RMS errors of 2-5cm in XY and 3-8cm in Z.
Step 6: Export to 3D Tiles
RealityCapture supports direct export to 3D Tiles (Cesium format):
- Select your reconstruction in the 1Ds/Models panel
- Click Export → 3D model
- Under format, select 3D Tiles (Cesium)
- Set your target tile size — 256m is a reasonable default for large surveys; smaller tile sizes improve streaming performance but increase tile count
- Set your LOD (Level of Detail) — 4-6 levels is standard for survey-grade models
- Export
The output will be a folder containing tileset.json and subdirectories of .b3dm (batched 3D model) tile files.
Step 7: Share the result
This is where most tutorials stop — with a folder of tiles on your hard drive. But a 3D Tiles dataset on your hard drive is useless to your client.
To view 3D Tiles in a browser, you need a streaming server and a viewer (CesiumJS is the standard open-source option). Setting this up manually requires web hosting, CDN configuration, and front-end development work.
Platforms like Swyvl handle this automatically: upload your 3D Tiles folder, and Swyvl generates a shareable link your client opens in any browser — no software required, no server to configure.
The client sees your reconstruction in the same CesiumJS viewer used by NASA, Google, and the European Space Agency. They can zoom in, measure distances, and explore the model at full fidelity.
Accuracy expectations
| Condition | Horizontal accuracy | Vertical accuracy |
|---|---|---|
| No GCPs (GPS only) | 1-3m | 1-3m |
| GCPs, drone GPS | 3-8cm | 5-12cm |
| GCPs, RTK drone | 2-5cm | 3-8cm |
| GCPs, RTK + PPK | 1-3cm | 2-5cm |
For most engineering and infrastructure applications, RTK drone + GCPs gives you the accuracy you need at a cost-effective price point.
Common issues and fixes
Holes in the reconstruction: Usually caused by insufficient overlap or reflective/transparent surfaces. Increase overlap on refly, or mask out problem areas and reconstruct without them.
Misaligned sections (“banana effect”): Often caused by insufficient cross-flight coverage or no GCPs. Flying a crosshatch pattern and adding GCPs at the extents of the survey area fixes most cases.
Poor vertical accuracy: Vertical accuracy is almost always worse than horizontal in photogrammetry. Adding nadir-pointing GCPs near the centre of the survey area significantly improves Z accuracy.
Processing crashes: RealityCapture is RAM-hungry. Dense reconstruction on a 1,000-image dataset can require 64-128 GB RAM. If you’re hitting limits, split the project into smaller tiles and merge post-processing.
The full pipeline — flight, processing, export, sharing — takes practice to get right. But once you have it down, you can deliver professional 3D Tiles outputs to clients who can explore them in a browser, without any specialist software. That’s a fundamental upgrade to the traditional “here’s your Dropbox link” delivery model.