1 The idea
Symptom: the sparks are behind the robot, yet its right arm glows as if the light floated in front. Probe the arm and compare "Merge over" with "Merge plus (sparks)": where they overlap it is several times brighter. On a real job, this kind of probe showed people standing in front of an element getting 1.6× brighter.
The cause is order: plus adds the light to every pixel, including the robot’s, which should block it. The fix is a holdout: cut the light with the robot’s alpha before the plus (a stencil). That equals putting the light under the robot and then laying the robot over.
holdout: sparks · (1 − a_robot)2 Hands-on in the mini compositor
Task: put the light behind the robot without changing the sparks where nothing covers them
A holdout node is already in the graph: check whether it is switched on
3 Deep dive
Plus doesn’t know what is in front
Over uses alpha to decide what hides what, but plus just adds every pixel. If the light of an element behind is plussed after the foreground has gone over, the light lands on the foreground too.
Two fixes give the same result: (1) plus the light onto the plate first, then lay the foreground over, or (2) stencil the light with the foreground’s alpha, then plus. This lesson uses the second.
- 1Light × (1 − a of the FG)
- 2Plus onto the comp
- 3FG stays unlit
Measure it with a ratio
To catch this with numbers, divide the comp by the image before the plus over the foreground area. Correct is about 1. On a real job this read 1.6 on people standing in front of a glowing element; after moving the glow under the holdout it was back to about 1.0.
Every glow or added light goes under the foreground holdout
What if the light really should fall on the foreground?
Sometimes light from behind should rim the people in front. That is interactive light, built as its own layer: blurred light, reduced with distance, multiplied by the person’s matte, and kept to the side facing the source. Don’t let the element’s glow do that job by accident.
4 In real work
In Nuke
- Merge (stencil): B = the light, A = the foreground matte, then into a Merge (plus)
- Or: plus the light onto the plate first, then Merge over the foreground
- The foreground matte comes from roto, a key or depth; use a Copy or feed it into A directly
- Check: Merge (divide) comp ÷ the pre-plus image, then sample on the foreground
Common mistakes → the fix
- ✗ Plussing the glow at the very end, after everything✓ A background element’s glow goes under the holdout.
- ✗ Lowering the light’s gain so the foreground isn’t lit✓ The light dims everywhere; fix the order or the holdout.
- ✗ Using a matte that also grabs other people or objects✓ Overlay the matte on the plate every shot; it must cover only the intended object.
Before you send the shot
- Every light and glow from behind sits under the foreground holdout
- Comp ÷ pre-plus image on the foreground ≈ 1
- The holdout matte covers only the intended object
- Light on the foreground, if wanted, is separate interactive light
5 Check yourself
The robot’s arm is several times brighter where it overlaps the sparks. What is the cause?
🔒 Answer the question above and this card opens
1. Are these equal: (robot over plate) + light·(1 − a), and robot over (plate + light)?
2. How do you prove with numbers that the people in front aren’t catching the glow?
Where the numbers come from: A case from a real production problem, retold without naming the job and rebuilt with our own Blender images. Computed in your browser: Merge, Grade, Premult, Keymix, Invert and Clamp match Nuke 17.0v2 (checked); Toe, Defocus, Sharpen, Grain, the Keyer and Despill are teaching versions, not identical to Nuke’s nodes.