The Camera Match
The .blend base file and the reference images used in this walkthrough.
Introduction
This is the first half of the worked reconstruction, and it is where the second anchor is built: a camera that matches the source photograph. Every step is done in the open, so you can see where the numbers come from and when a guess needs a second source.
The walkthrough runs 32 minutes. This page follows it chapter by chapter, so you can work beside the video and come back to a single step when you need it.
The Scene You Match Into
The walkthrough starts from the scene you built in the previous module: the satellite image sits on a 1:1 grid, at the site's real coordinates. Before any camera work, you align the image itself. Add a temporary cube, rotate the image until the building edges run parallel to the cube and the global X and Y axes, then apply the rotation so its value resets to zero. Move the image into a reference collection, and switch off its selection in the outliner so you cannot grab it by accident while you model.
Choosing the Reference Image
Add a camera, load the photograph as a background image, and turn its opacity to full so nothing competes with it. Then analyse the photograph before you match it.
Look for clean edges and a sharp roof line: those become your perspective lines. Look for a clear view with few trees or obstructions. Check the distortion: no barrel or pin-cushion warping, no extreme wide angle, and not zoomed in either.
The walkthrough's image has one weakness: you never see where the building meets the ground. The video works around that later, and you get a height estimate rather than a measurement.
When you have a choice, prefer a real photograph. A Street View screenshot is a crop of an equirectangular image, so its midpoint shifts and its field of view is virtual. Zoom out and you get a heavily distorted image. If you model from Street View, zoom in first, and keep it for a reference or a second camera match rather than your only source.
Setting Up the Match
The walkthrough matches inside Blender with Perspective Plotter. fSpy does the same job for free, but it lives in a separate application. Inside Blender you can zoom into the image, you control where each line lands, and you keep every camera in one scene — which matters once you match more than one camera.
Match the resolution first. Both tools need the resolution of the original image. Skip this and the tool assumes 1920×1080, and the whole match is wrong from that moment on.
Press Plot Perspective to start. The red lines correspond to the X axis, the green lines to the Y axis.
Placing the Perspective Lines
Look for edges that are perpendicular in real life. One wall in the walkthrough is dubious: it may run at a different angle than the rest, so it is a bad candidate for a vanishing line. Two rules carry the rest of the work. Longer lines are better, and lines further apart are better.
The image looks up at the building, so three-point perspective is possible. Reserve it for more extreme angles — but set it up anyway, because it costs nothing, and you can switch between two and three vanishing points at any time to see which one fits.
A test plane settles the question: rotate a plane upright, slide it across the image, and watch whether its edges stay on the building's edges. Two-point drifts. Switch to three-point — your lines are still stored — and the plane holds across the whole facade. Delete the plane and move on.
Anchors and the Reference Distance
With the lines in place the camera sits underground, because the camera position is established relative to the world origin and the target location still sits at world center. That gets fixed in a moment. First, find the reference distance.
Measure it on the satellite image: the northernmost line running toward the tower — mind the overhang, that line runs slightly longer than it looks — and the full roof line including the tower. Take four or five measurements of each edge with Blender's measure tool, then log each one as a trial in the Forensic Spatial Auditor add-on. It returns the sample mean, and the mean is your number.
Choose the sensor profile to match your imagery. The walkthrough picks aerial photography with a balanced profile, because a windshield test shows the windshields of cars clearly, though they could be crisper. Copy every result into a note inside the .blend file so the numbers travel with the project.
The gray dot at the center of the image is the target location: the point on the 2D image you pin to a coordinate in 3D space. It starts at world center, but you can drag it anywhere, or set it to the origin anchor where the grid is anchored to that spot on the building. The reference distance is measured from that point. It starts at 100 cm; type in your measured 856 cm and the scale of the entire scene changes with it — the blue line keeps its length on screen, but now it means 856 cm.
Verifying the Match
Replace the temporary cube with a plane. A plane that sits exactly on the ground plane flickers, because Blender does not know which surface to show you, so lift it by 1 cm. Set its dimensions to the measured length, move it over the image, check the alignment, then apply the scale.
Two checks follow, and both catch a match that looks right but is not.
Direction: if the scene reads mirrored, both vanishing points carry the wrong sign. The first should run along −X and the second along −Y. Correct them and the view flips into place.
Drift: add a plane, rotate it upright, lower the image opacity, and slide the plane along each axis. In the walkthrough the horizontal edges hold and the vertical drifts. That drift is the signal that you need three-point perspective after all.
Blocking In the Site
The photograph never shows where the building meets the ground, so you cannot model bottom up. Reverse the direction and model top down.
The building is, in its basic shape, a square: scale a plane to its sides, extrude it back, and you have a cube. Nothing tapers the way a pyramid does, which means the footprint at roof level equals the footprint at the ground level. You know where the roof plane sits, you can see the sidewalk intersecting the wall, and you have the roof measurement. Those three facts are enough.
Work from a top-down satellite view. Select a vertex on the reference plane, move the 3D cursor to it with Shift+S, then set the object origin to the cursor. Do the same for the satellite image so both share an origin. If you prefer, use Options → affect only origins and snap the origin to a vertex while you hold Ctrl — and switch that mode off again when you are done.
From the shared origin you build the roof footprint, move the origins where you need them, extrude the blockout, and align it against the camera view.
Sizing and Locking the Camera
This is where the measurements pay off. Cut a loop with Ctrl+R and slide it to the point where the tower meets the roof. Select the measured edge, open the Edit Mesh Tools add-on, and use Set Edge Length to force the edge to your measured value. The edge is now exact by construction rather than by eye.
Extrude the tower edge out to where you judge the tower's border, then check the result against the camera: it no longer lines up, and the camera moves.
For camera height, the video carries an updated recommendation from its own future: split the screen, select the camera, and read its height in centimetres under Transforms. the image reads as eye level, so somewhere around 160 to 180 cm estimates better than guessing from the view. It is still an estimate. The only real verification is matching more cameras, which the next page covers.
Watch your reference images while you work. The street view shows stairs rising to the door, which means the ground floor is not at street level. Extrude the floor plane up to the roof, fix the tower alignment, and lock the model's location under Transforms so you cannot move it by accident.
Iterating to a Trustworthy Match
From here you tweak: adjust the camera position, adjust the height of the building, try new perspective lines, and keep the building in the same location while you do it. Delete the side faces so only the roof and the floor remain. That pair of planes is your clean baseline.
The closing thoughts are the honest part. Matching is iterative. You add layer upon layer of detail, and every layer makes the next adjustment harder, so be happy with the model at every stage before you add the next one.
There are more reference sources than satellite imagery. Doors have standard heights, but those standards shift with the age of the building. Street tiles are standard in most countries, and one researched tile dimension can build a whole street floor with an array modifier, which gives you dimensional reference. Cut the building into floors and check whether each floor height makes sense in the context of the site.
Camera matching asks you to see through two layers at once: the model and the image. With modeling at an angle and all the variables running, it can frustrate even after many attempts. Expect iteration, keep your reference images close, and treat the match as a hypothesis that each new camera tests.
Summary
A camera match comes down to two numbers and one check. The perspective lines give you the angle, a measured reference distance gives you the scale, and the test plane tells you whether the two agree with the photograph.
What this walkthrough hands you is a camera you can model against, with a roof-and-floor blockout in the right place at 1:1 scale. What it does not hand you is proof: the height of the camera stays an estimate until a second camera checks it. That check, and the modeling itself, is the next page.
Resources
- Camera Matching Strategies — the technique this walkthrough applies
- Perspective & Camera — the theory behind the lines you place
- Modeling & Photomatching — the second half of this walkthrough
- Course Syllabus — full course overview and module map