Home · Lab · 2.5D & Projection

P5 Why 2.5D breaks: the revealed gaps

Move the camera and you see behind the rocks, which the plate never filmed: paint it in advance

2.5D & Projection · ~8 min · Free

1 The idea

A plate holds only what the camera saw from one position. The ground behind each rock was never filmed. When the camera slides, the rocks move faster than the ground behind them, and gaps with no data open beside the rocks, above the hills and at the frame edges.

Do nothing and you get holes. Let the geometry stretch and you get long streaks that are easy to spot (this is not the stretch measure from P2). The working fix is to paint a clean plate with the objects removed (their dark contact shadows too, so they don’t get cloned into the hidden ground), project it behind, and paint past the frame edges too.

gap width ≈ f_px · T · (1/Z_near − 1/Z_far)

2 Hands-on

Slide the camera at least 1.5 m, then pick the fill that leaves no holes and no streaks

Tick “Peek” to see the painted layer behind

SkyVFX Lab · P5interactive · 1001

3 Deep dive

Where gaps open, and how wide

Gaps open wherever depth jumps: rock edges against the ground behind, hill tops against the sky, and the frame edges. Width ≈ f·T·(1/Z_near − 1/Z_far). Slide 1.5 m and a rock at 7 m in front of ground at about 10 m opens a gap of about 40 px.

A gap opens on one side of the object only; the other side gets covered more. The gaps open on the side the camera moves toward.

Three choices

The figure lets you try all three on the same scene.

MethodResultWhen
NothingHoles, obviousTo find what needs painting
StretchLong streaks off object edgesOnly for 1–2 px gaps
Clean plate behindContinuous groundAlmost every real shot

A good clean plate

Paint out the objects completely, including the dark contact shadow around them, so that shadow doesn’t get cloned or smeared into the area behind. Then paint the hidden ground as it would really look, continuing any shadow that truly falls there. Also paint past the frame edges as far as the camera will travel.

The figure’s clean plate is automatic: it clones ground from beside each rock on the same row (about 1.4% of the frame). Peek at it alone and you can see faint patches. Real work needs a cleaner paint, though the gaps are usually narrow enough that small flaws stay hidden.

Paint behind objects = paint what the camera will see when it moves

Project only the patches

Sending the whole plate through undistort, projection, render and redistort softens it slightly. It is better to project only the painted patches (alpha on the patch only) and lay them over the original plate, so untouched areas stay as sharp as they were.

If the hidden area is visible in another frame of the shot, project the real picture from that frame instead of painting it.

4 In real work

In Nuke

  1. RotoPaint on the projection frame: paint out the objects and their contact shadows without cloning shadow into the area behind, and paint past the frame edges
  2. Keep alpha only on the patch, then Premult
  3. Patch + frozen projection camera → Project3D → a Card or geometry for the ground behind
  4. Scene → ScanlineRender through the moving Camera, then merge it under the object layer

Common mistakes → the fix

  • ✗ Cloning the object’s dark contact shadow into the ground behind it✓ The revealed ground shows a dark patch that doesn’t belong. Clone from clean ground, and keep only shadow that would really fall there
  • ✗ Letting geometry stretch over the gap✓ Cut the stretched part away and let the clean plate behind fill it
  • ✗ Painting only inside the frame✓ Add overscan as far as the camera travels
  • ✗ Reprojecting the whole plate instead of the patches✓ Project patches only; the real plate stays sharp

Before you send the shot

  • Play the whole shot: no holes or streaks beside objects
  • No stray dark shadow patches cloned into the revealed ground
  • No empty areas at the frame edges
  • Unpainted areas are as sharp as the original plate

5 Check yourself

One question to check yourself

A shot slides past a lamp post with a patterned wall behind it. What should you prepare?

What you learned

🔒 Answer the question above and this card opens

More questions

1. The camera slides right. On which side of a rock does the gap open?

2. The area behind a rock is actually visible in the last frames of the shot. What should you do?

Where the numbers come from: The scene is rebuilt in your browser from our desert plate and its Blender depth pass (35 mm lens, 36 mm sensor, 1.6 m high, tilted 4° down). Parallax numbers use the pinhole formula: move the camera T m and a point Z m deep shifts ≈ 622·T/Z px in a 640-wide frame. The layer split, the “stretch” measure, the depth mesh and the automatic clean plate are teaching versions (object edges and rock removal are simplified), not Nuke output.