Home · Lab · Camera Lab 3D

CL7 The 180° rule

Stay on one side of the line and screen direction holds

Camera Lab 3D · ~6 min · Free

1 The idea

Draw an imaginary line between two characters talking (the line of action). If every camera stays on one side of it, each character keeps their side of the screen and keeps looking the same way, so cutting between shots doesn’t confuse the audience.

Cross the line and Orange, who was on the left, jumps to the right; cut between singles and both characters seem to look the same way, as if they were no longer looking at each other. In VFX this matters when placing CG cameras across a sequence, or when a plate gets flopped (mirrored), which flips screen direction just like crossing the line.

2 Hands-on

Task: put camera 2 behind Orange for a reverse shot of Teal’s face, with Orange still on screen left

Click in the green half of the top view, then try the other half and watch Orange jump.

SkyVFX Lab · CL7interactive · 1001

3 Deep dive

An invisible line the audience feels

The audience remembers who is on the left, who is on the right and which way each one looks. If every shot stays on one side of the line of action, that mental map holds and shot/reverse-shot cutting flows.

Camera 2 isOrange on screenResult
on camera 1’s sideleft, looking rightcontinuous
right on the lineoverlapping / facing cameraneutral; can bridge
across the lineright, looking leftjarring

Crossing on purpose

You can cross if the audience sees it happen: the camera moves across within one shot, a character walks across, or a neutral shot right on the line sits between. Sometimes directors cross deliberately to unsettle the audience or mark a change in the relationship.

Screen direction of movement

The same rule covers movement: if a car drives left to right in one shot, it should still drive left to right in the next, or it seems to be going back. Here the line of action is the car’s path.

  1. 1Find the line (talkers / path)
  2. 2Pick a side
  3. 3Keep every camera there
  4. 4Cross when the audience sees it

In VFX work

All-CG shots must place cameras on the same side as the live-action shots around them. Editors sometimes flop a shot to fix direction, which mirrors text, signs and anything asymmetrical; check whether your CG goes in before or after the flop.

Mirrored signs in a plate = the shot was flopped

4 In real work

In Nuke

  1. Mirror: flops the picture left–right like an edit does; check that CG and text still read right afterwards.
  2. Camera + Viewer 3D (Tab): look from above to confirm every CG camera stays on one side of the line.
  3. Axis: place axes at the two characters as a reference for the line of action in the 3D scene.

Common mistakes → the fix

  • ✗ Placing a CG camera for a pretty angle without looking at the neighbouring shots✓ Always check the shots before and after.
  • ✗ Flopping a plate and forgetting that CG with text gets mirrored too✓ Add text-bearing CG after the flop, or pre-mirror the text.
  • ✗ Thinking a closer camera crosses the line✓ Distance doesn’t matter; only the side of the line does.

Before you send the shot

  • Every camera in the scene stays on one side of the line
  • Movement direction continues across cuts
  • You know which shots are flopped
  • Every crossing is deliberate and visible

5 Check yourself

One question to check yourself

In shot 1 Orange is on the left looking right. Which shot 2 breaks the rule?

What you learned

🔒 Answer the question above and this card opens

More questions

1. A camera sits right on the line. What is that shot good for?

2. A car drives left to right in shot 1 and right to left in shot 2. What does the audience feel?

Where the numbers come from: Teaching scene: the “direction holds” check compares where the two robots land on screen (pinhole projection). Real productions sometimes cross on purpose, or move the camera across on screen so the audience sees the line change. 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.