Home · Lab · Camera Lab 3D

CL3 Same size, different lens

Perspective comes from camera distance, not from the lens

Camera Lab 3D · ~8 min · Free

1 The idea

You can get the same robot size with a wide lens up close or a long lens far away, but the backgrounds look very different. What changes perspective is the distance from the camera to each thing, not the lens itself.

Step back and the distances to the robot and to the poles behind become more alike, so their sizes differ less and the background looks packed in (compression). A long lens just crops the middle to fill the frame. In matchmove you need both the right focal length and the right distance, or the CG floats or slides against the plate.

background size ∝ focal ÷ its distance · subject size ∝ focal ÷ subject distance

2 Hands-on

Task: every target has the same robot size. Find the focal length and distance that match the background too, for all 3.

Get the robot size first, then read the background hint: “too packed” means the lens is too long.

SkyVFX Lab · CL3interactive · 1001

3 Deep dive

Lenses don’t bend perspective

Stand in one place, shoot at 20 mm, then crop the middle to match a 135 mm frame: the two pictures have identical perspective and differ only in resolution and depth of field. A long lens is a crop; perspective comes from where you stand.

“Wide lenses distort faces” really means “wide lenses make you stand close”. Being close makes the nose big next to the ears, not the lens itself (ignoring real lens distortion).

It’s all about distance ratios

Each object’s size on screen ∝ focal ÷ its distance. How big a pole 12 m behind the robot looks next to the robot = robot distance ÷ (robot distance + 12). The focal length isn’t even in that formula.

Camera distancefocal for the same full robotpole (12 m behind) vs robot
2.55 m20 mm0.18×
6.4 m50 mm0.35×
17.3 m135 mm0.59×

Packed background = a distant camera, not just a long lens

Why matchmove needs both

With the wrong focal you can still adjust distance until the subject size matches, and a single still may pass. Once the camera moves, near and far slide differently from the plate and the CG skates. That’s why a solver needs the right focal, or enough parallax to work it out (parallax: near and far shifting differently as the camera travels, see CL6).

Shots without parallax (a camera turning in place) make the focal hard to solve; lean on the camera report and lens grids.

  1. 1Focal + sensor from set
  2. 2Remove distortion
  3. 3Solve the camera
  4. 4Check near vs far

The dolly zoom is the same idea

Slide from target 1 to target 3 continuously in one shot (back the camera off while raising the focal) and the robot stays the same size while the background rushes in: a dolly zoom. Lesson L2 in the Camera & Lens pack animates it.

4 In real work

In Nuke

  1. Camera: set the focal from the camera report and the horizontal aperture from the sensor area actually used.
  2. LensDistortion (may need NukeX / Nuke Studio depending on your licence): undistort the plate before tracking, then redistort the CG at the end. Without it, an STMap distortion map from matchmove does the same job.
  3. CameraTracker (NukeX): if you know the focal, lock it instead of letting the solver guess.
  4. Check with Cards near and far through a ScanlineRender over the plate, and watch the whole shot for sliding.

Common mistakes → the fix

  • ✗ Changing the CG camera’s focal to fix subject size without moving the camera✓ If the background is off too, the problem is distance, not focal.
  • ✗ Believing a long lens “compresses” the background on its own✓ Compression comes from the greater distance; the long lens just keeps the subject the same size.
  • ✗ Tracking a plate that still has lens distortion✓ Undistort first, or the solved focal will be off.

Before you send the shot

  • Focal and sensor match the camera data
  • Subject and background sizes match the plate at the same time
  • Near and far objects don’t slide through the shot
  • Distortion removed before tracking and put back at the end

5 Check yourself

One question to check yourself

Two shots have the robot at the same size, but in shot B the poles behind look twice as big. What happened?

What you learned

🔒 Answer the question above and this card opens

More questions

1. The robot is 6 m away and a pole of the same height is 18 m away. How big does the pole look next to the robot?

2. You want the hills behind to look bigger next to the robot, with the robot the same size. What do you do?

Where the numbers come from: The background score uses the pole row 12 m behind the robot: its size on screen ∝ focal ÷ (distance + 12 m). Exact for a pinhole camera; real lenses add distortion and breathing. The camera is an ideal pinhole (no lens distortion) with a 36 mm wide sensor cropped to 16:9 (36 × 20.25 mm). The set and robot are built in code with three.js.