๐ธ Photogrammetry: Step-by-Step Tutorial
From your first photo to a clean 3D model โ practical, with concrete settings.
This tutorial guides you through a complete photogrammetry run on a small to medium-sized object. You need neither expensive equipment nor prior knowledge โ a reasonably recent camera (or a good smartphone) and a PC are enough. All software details are current as of 2026.
Requirements & Equipment
- Camera: a mirrorless/DSLR camera with a manual mode is ideal. A modern smartphone also works to start with (use pro/RAW mode).
- Tripod: recommended when the object stays fixed and you move around it; less necessary with a turntable.
- Light: two diffuse light sources (softbox/lamp with diffuser) or an overcast day outside.
- Surface: a turntable for small objects, plus a neutral, opaque background.
- PC: for processing. An NVIDIA GPU speeds up many tools significantly (practically required for dense reconstruction in Meshroom).
Step 1: Prepare the object & setup
Setup
- Place the object on the turntable, with enough space around it.
- Position both lights so that no hard shadows and no highlights appear. The goal is even, "flat" lighting.
- Keep the background neutral and opaque. A slightly textured background can help with walk-around, but hurts with a turntable โ more on that shortly.
- Optional: include a color chart and a scale in the shot if correct colors/measurements matter to you.
Step 2: Configure the camera
Manual mode โ fixed values for all photos
| Setting | Starting value | Note |
|---|---|---|
| Mode | M (manual) | Keep all values constant across the whole series. |
| Aperture | f/8 โ f/11 | Full depth of field. Don't stop down further (diffraction). |
| ISO | 100 โ 200 | Minimal noise. |
| Shutter speed | whatever exposes correctly (tripod: any; handheld โค 1/800 s) | Handheld short enough to prevent camera shake. |
| Focus | manual, on the object's center, then lock | Autofocus off โ it must not drift between shots. |
| White balance | manual (fixed Kelvin) | Constant color. |
| Format | RAW | More headroom; only develop uniformly, don't edit creatively. |
Step 3: Take the photos
Systematically all the way around
- Overlap 70โ80%: the image content of two adjacent photos must overlap heavily.
- Angular spacing 10โ15ยฐ: that yields 24โ36 photos per full rotation. For complex objects, feel free to shoot 60+.
- Several height rings: one pass slightly from above, one at eye level, one slightly from below.
- Underside: at the end, flip the object and photograph the previously hidden side separately (merge as a second scan later).
- Not too close, not too far: the object fills the frame well but stays completely sharp and within the frame.
Step 4: Choose the software
For processing in 2026 there are essentially three sensible options โ depending on your operating system, budget and ambition.
| Software | Cost | OS | For whom |
|---|---|---|---|
| RealityScan 2.1 (formerly RealityCapture) |
free* | Windows | The fastest way to top quality. *Free for hobbyists/studios under $1M annual revenue (Epic Games). |
| Agisoft Metashape 2.2 | ~โฌ179 Standard | Win/Mac/Linux | Cross-platform, a very good all-rounder, and since 2.2 also exports Gaussian Splats. |
| Meshroom 2025.1 | free | Win/Linux | Open source, node-based, fully transparent. Practically requires an NVIDIA GPU. |
I describe the following steps generically โ the buttons are named slightly differently in each tool, but the process is the same everywhere. Detailed prices/strengths in the Software Comparison.
Step 5: Process (Align โ Mesh โ Texture)
Import the images
Load all photos into a new project. Develop RAWs uniformly to TIFF/JPEG beforehand (same values for all) or โ where supported โ import them directly.
Alignment / camera orientation (Structure-from-Motion)
The software looks for common features and computes where each image was taken from. Result: a sparse point cloud and a "camera swarm". This reveals whether the capture is good: are all cameras aligned? Do they sit logically in a circle?
Set masks (with a turntable)
So that only the object counts, mask the background. Modern tools (RealityScan 2.x) offer AI-assisted mask generation for this; otherwise use a color/brightness threshold.
Dense reconstruction / depth maps
A dense point cloud is computed from the aligned images. Compute-intensive โ this is where the GPU helps the most.
Meshing
The point cloud becomes a closed surface (mesh). High-resolution at first; it's reduced later during cleanup.
Texturing
The original photos are projected onto the mesh. Choose a texture resolution of e.g. 4096 or 8192 px, depending on object size.
Step 6: Cleanup in Blender
The raw scan is rarely usable straight away. Blender (free) is the standard tool for post-processing.
Import & remove excess
Import the mesh as .obj/.fbx. Select and delete the floor, turntable remnants and loose fragments.
Close holes
In Edit mode, select the open edges and close them with Fill Holes or F (Face). Remove small stray geometry with Mesh > Clean Up.
Decimate (for lightweight assets)
Add a Decimate modifier, lower the ratio step by step until the polygon count is manageable without losing visible detail.
Optional: Retopology & baking (Pro)
For games/animation, create a clean low-poly topology (e.g. QuadRemesher/Instant Meshes), then bake color and the Normal Map from the high-poly onto the low-poly. This preserves fine detail at a low polygon count.
Step 7: Export
| Target | Format |
|---|---|
| Universal exchange | .obj (mesh + texture) |
| Game engine (Unity/Unreal) | .fbx |
| Web / AR | .glb / .gltf (compact, PBR) |
| Film/VFX pipeline, Apple AR | .usd / .usdz |
| Point cloud, surveying | .ply |
When exporting textures, make sure the image files are written/embedded along with them (automatic with .glb, as a separate .mtl + image files with .obj).
Quick Checklist
- Chose a matte, immovable, textured object
- Diffuse, constant light โ no hard shadows/highlights
- Manual mode: f/8โf/11, ISO 100โ200, locked focus & white balance, RAW
- 70โ80% overlap, one photo every 10โ15ยฐ, several height rings
- Captured the underside as a second pass
- Checked the alignment (all cameras aligned?), masked the background
- Cleaned the mesh, filled holes, decimated
- Exported in the right format (textures embedded)