Prototype a Projection-Mapped Commercial Scene Without Promising the Installation
Prototype a Projection-Mapped Commercial Scene Without Promising the Installation
A treatment line says the projected image lifts a panel open from the wall. Someone in the room asks whether that works, and there are two questions inside the one. Does the picture land where you said it lands? And does it look like anything once it gets there?
The first is geometry, and you can answer most of it at a desk before lunch. The second needs a surface, a projector, a room, and somebody who owns the finish sample. The failure mode this article is trying to prevent is answering the second question with evidence for the first — handing over a warp that lands beautifully on a drawn outline and calling it a demonstrated installation.
The whole method rests on one separation: choosing which pixels you sample is not the same operation as deciding where those pixels go.
Define the surface relationship worth demonstrating
Start by naming the single event the projection has to perform. Meet an edge. Cross a face. Appear to open a plane. A treatment usually contains three or four of these and only one of them is load-bearing; the others follow from it.
For the example running through this piece, the event is: a drawn hinged flap opens out of a flat wall panel, hinged along a real seam in the panel. Everything else — the shading, the timing, the flap's motion — hangs off that one relationship. If the hinge line doesn't sit on the seam, the effect is a rectangle of light wandering across a board.
So define the surface concretely:
- A panel 2.40 m wide by 1.35 m tall, flat, mounted on a wall.
- Four registration marks, one at each corner, measured and taped.
- One vertical seam, 0.90 m from the panel's left edge, running the full height.
Then name the viewing position, because it does real work later. Put the primary viewer 4.0 m back, roughly on the panel's centerline, eye height about 1.6 m. The drawn flap implies depth, and depth implies a station point. A fold reads as a fold only from somewhere near where the drawing assumes you are standing. Move the viewer two meters sideways and the same flat animation reads as a smeared parallelogram. That's not a rendering problem you can fix in the warp; it's a decision about where the audience stands, and it belongs to whoever owns the viewing conditions.
Resist the venue reconstruction. You do not need a model of the room, the other three walls, or the ceiling. One face answering the treatment's question is a better prototype than a half-built room, because the half-built room invites conclusions about the parts you modeled loosely.
Select the input region before moving the output
Now build the source. In a composition of 2560 × 1440, place a 1920 × 1080 graphic layer at an offset of (320, 180), so the graphic occupies composition columns 320 through 2240 and rows 180 through 1260. The surrounding margin holds a slate: treatment name, take number, a timecode burn-in.
The graphic itself should be diagnostic, meaning any single frame tells you which part of the source you're looking at:
- A 5 percent grey ground.
- A grid of 16 columns by 8 rows. Column width 120 px, row height 135 px, line weight 3 px. Both divide evenly, which matters — you want to be able to say "third column" and have that be exact.
- A small label in each cell, column letter across, row numeral down, so a frame identifies its own region without a readout.
- Four L-shaped registration marks, 60 px arms, 6 px stroke, at the graphic's corners, with each mark's corner coincident with the graphic's corner.
- The hinge line: an 8 px vertical bright line at graphic column 720.
- The flap: closed at frame 0, spanning graphic columns 720 to 1620 and rows 270 to 810 — 900 px wide by 540 px tall. It opens over 90 frames to 60 degrees. Because the flap is drawn as a flat element rotating about a vertical hinge, its apparent width at full open is 900 × cos 60°, which is 450 px. Its free edge travels from graphic column 1620 to column 1170.
Check the hinge against the surface before you touch anything else. Graphic column 720 of 1920 is 0.375 of the graphic width. On a 2.40 m panel, 0.375 × 2.40 is 0.90 m — the seam. The two were chosen together, and if they don't agree, you're about to discover it in the warp and misdiagnose it as a warp problem.
Resolume's support page on input selection describes input slices as selecting regions from a composition, and it treats the selected input region as separate from where those pixels eventually land. That is the operation doing the work here, and it is a different field from anything on the output side.
The mistake to make on purpose. Leave the input slice at the full composition, 0 through 2560 by 0 through 1440, instead of the graphic's 320 through 2240 by 180 through 1260. Now the graphic occupies the middle 75 percent of the slice, horizontally and vertically, with slate on all four sides.
Notice what the interior grid does here. Nothing. It stays straight, evenly spaced, perfectly proportional. The grid cannot see this error, because the error is a change of scale, not a change of shape.
What you see instead, if you draw the panel's outline into the preview as a reference layer, is the graphic sitting inside the outline with a margin on every side. The hinge line, which should be at 0.90 m from the panel's left edge, now falls at 1040/2560 of the panel width — 0.975 m. Seven and a half centimeters right of the seam, with 0.30 m of graphic missing from each side.
And here is the tempting wrong fix. You can drag the output corners outward until the graphic fills the panel. It works. The graphic's marks land on the panel's marks, the hinge lands near the seam, and the preview looks right. What you have also done is enlarged the slice to 4/3 of the panel width, so the four output corners no longer name the panel's four corners. They name four points 0.40 m outside the panel on each side, and the slate is now being thrown past the panel's edges onto whatever is behind it.
The output corners are named for the panel. If the slice isn't the graphic, the corners are naming something else, and every later reading of that preview is contaminated.
The fix is one field. Set the slice to the graphic's rectangle. Re-check. This is why the reference outline belongs in the preview: at a desk with no projector there is no physical panel to disagree with you, and without a drawn outline you'll never see the margin.
Place and warp the selected output deliberately
With the slice corrected, the output side gets four corner points. Two facts about them are worth holding onto.
First, on a flat surface, four point correspondences determine a plane-to-plane perspective map completely. Four is not a budget compromise or a starting point for refinement. If no three of your four source points are collinear — and the corners of a rectangle never are — there is exactly one projective map that sends them where you sent them. Clean the four corners up and the interior follows.
Second, that guarantee is conditional on the geometry actually being one plane to one plane. A bowed panel, a lens with visible distortion, a surface that isn't the one you measured, or a chain that adds nonlinearity of its own — any of these breaks the assumption, and then four corners being right means nothing about the middle.
Resolume's support page on output transformation describes output transformation as moving selected pixels, and describes perspective warping as using four corner points. It also describes linear and Bezier warping as separate options, and it's explicit that masks remove portions without performing that geometric correction. The distinction is worth taking literally. If the hinge line is 7.5 cm off the seam, a mask cannot put it back. A mask can only hide the part of the graphic you decide not to show, which is a different creative decision wearing the costume of a fix.
The mistake to make on purpose. Correct the slice, then place the four corners carelessly and repair the symptom with the wrong tool. Set three corners on three of the panel's registration marks. Put the fourth on the panel's corner rather than the mark, or eyeball it because the mark is in shadow. Then, because the outline is now visibly off along one side, drag a mid-edge control point to drag the edge into place rather than moving the corner.
The outline is approximately right. The corners are not.
The panel is planar, so a correct perspective map would put the whole interior right from four correct corners. You have instead built a map that is approximately right at the corners and wrong in the middle, and the amount by which it's wrong grows as you move inward.
Inspect the motion against the surface relationship
Now the checks, in the order that isolates causes.
Straightness and evenness of the interior grid. Every grid line in the graphic is straight and evenly spaced. On the panel, so should every grid line be. If the lines curve, you have a nonlinear map — the mid-edge drag, or a Bezier approximation, or a non-planar surface. If the lines are straight but the spacing compresses toward one corner, that corner is misplaced, and the compression is the map absorbing your error.
The hinge line, which is static. The hinge line occupies the same graphic column at frame 0 and frame 90, so any mapping that puts it on the seam at one frame puts it on the seam at both. Check the first and last pose anyway, since the open one is where you'll be looking, but an error at either end is a mapping or a source-region problem, not a timing one — and you should not touch the warp until you know which.
The free edge, which moves. The flap's free edge should finish at graphic column 1170, which is 0.609 of the graphic width, or 1.4625 m from the panel's left edge — 0.5625 m to the right of the seam, with a flap height of 0.675 m. Because this edge travels, its finish line is a separate reading from its start line, and the two can disagree. Disagreement between poses points at the animation or at a source region that has scaled the flap's travel differently from the graphic. The warp is not the first thing to check.
The center check. Here is the check that separates a true perspective map from an approximation, and you can do the arithmetic by hand.
Take a unit square mapped to a trapezoid with corners at (0, 0), (2, 0), (5/3, 1) and (1/3, 1). Under a genuine plane-to-plane perspective map, the center of the source square lands where the destination's diagonals cross. One diagonal runs from (0, 0) to (5/3, 1); the other from (2, 0) to (1/3, 1). They meet at (1.0, 0.6).
The average of the four destination corners is (1.0, 0.5).
Both answers agree in x, because the trapezoid is symmetric. They disagree by 0.10 in y. A warp that interpolates its interior bilinearly — which is roughly what dragging edge control points produces — sends the center to (1.0, 0.5). A true perspective map sends it to (1.0, 0.6).
On a 1.35 m panel, that 0.10 of vertical extent is 13.5 cm. All four corners can be perfect, and the middle of your graphic is still sitting 13.5 cm from where the geometry says it should be. That is the entire cost of using the wrong kind of warp, and the check costs you a diagonal drawn across the destination and one look at where the graphic's center pixel falls.
This is arithmetic on a chosen fixture, not a measurement of anything. Nothing in this article has been run against a projector or a physical panel. The point is that the arithmetic is available to anyone with a pencil, and it tells you which class of map you're actually using. In the preview, you do it numerically. On a real setup you'd mark the destination diagonals on the panel and look.
Keep three things visible at once while you work: the input selection, the output shape, and the resulting preview. When a frame looks wrong, decide which stage produced it before changing anything. Changing both at once is how a correct-looking frame ends up concealing the wrong source region — you fix the symptom, the underlying error survives, and the next person to open the file inherits a warp that fights them.
Write down the edition of the software, the composition size, the slice rectangle, the four corner coordinates, the panel dimensions, the seam position, and the projector setup if there is one. A preview whose conditions aren't recorded can't be defended six weeks later when somebody asks why the flap starts where it starts.
Choose the next proof according to the remaining uncertainty
Everything above is a geometry argument, and it settles a specific and limited list. It can establish that the sampled region is the graphic. That the graphic's four corner marks sit on the panel's four corner marks under a plane-to-plane map. That the hinge line is on the seam at frame 0 and frame 90. That the flap's free edge ends where you said. That the interior grid is straight and evenly spaced. That the center check agrees.
It establishes none of the following, and no arrangement of the same preview will:
Brightness and contrast. Whether the flap reads as a surface catching light depends on the projector's output, the throw distance, the panel's reflectance, and the ambient level in the room. A 20 percent to 70 percent grey ramp — a brightness test pattern, not the diagnostic graphic above — is a set of numbers at the desk. On a matte panel under venue lighting it may read as a paper cutout.
Focus across the surface. A 2.40 m panel at an oblique angle does not hold focus uniformly. Where the softness lands, and whether it lands on the hinge line, is a test with a lens.
Material behavior. Finish, sheen, texture, seams, the way the panel takes a highlight. If the flap is supposed to look like a lifted lid, the material is doing most of that work.
Occlusion. Anything or anyone between the projector and the panel. In a public space this is not an edge case; it's the normal condition.
Viewing position. Whether the implied fold survives from where the audience actually stands, which brings back the station-point question from the beginning.
Installation feasibility. Mounting, rigging, power, heat, access, and whether the venue permits any of it. Different conversation, different owner.
Put that boundary in the treatment in plain language. Not a disclaimer paragraph bolted to the end, but a line or two beside the preview: this is what the preview shows, and here is what still has to be tested.
The next test question should be narrow enough that a single session answers it. Something like: with the panel in its final finish, at the proposed projector position and distance, and under the venue's measured ambient level, does the flap read as a lifted lid from each of the two named viewing positions, and does the hinge line stay visibly distinct from the seam at the first and last frame of the flap's travel? Record the two positions, the ambient reading, and the projector and lens. The geometric tolerance on the seam is a separate setup verification: confirm the four corners against the registration marks before the session, then leave the warp alone and watch the material. Everything that doesn't bear on that question can wait.
A preview that says exactly what it shows and exactly what it doesn't is more useful to a director than a preview that looks finished. The two mistakes — wrong source region and wrong destination — are worth making once each at the desk, because after that you'll recognize both on sight, and you'll know which field to change.
Frequently asked questions
What separation is the whole prototyping method built on?
Choosing which pixels are sampled is not the same operation as deciding where those pixels go. The input slice selects a region from a composition; the output side moves the selected pixels. Keeping those two stages distinct lets you diagnose whether a frame is wrong because of the source region or the warp.
How do you check that the input slice is actually the graphic?
Set the slice to the graphic's rectangle—in the example, 1920 × 1080 at offset (320, 180) inside a 2560 × 1440 composition—and keep a drawn panel outline in the preview as a reference. If the slice stays at the full composition, the graphic sits inside the panel outline with a margin, and the hinge line falls about 7.5 cm right of the seam. The diagnostic grid cannot reveal this error, because the interior grid stays straight and evenly spaced.
Why are four output corners enough on a flat surface?
On a flat surface, four point correspondences determine a plane-to-plane perspective map completely, provided no three source points are collinear—as rectangle corners never are. The guarantee is conditional: a bowed panel, lens distortion, a surface that is not the measured one, or any nonlinearity in the chain breaks the assumption, and then correct corners say nothing about the middle.
What does the center check distinguish, and why does it matter?
It distinguishes a true perspective map from a bilinear approximation. In the trapezoid example, the diagonals cross at (1.0, 0.6) under a genuine perspective map, while averaging the four corners gives (1.0, 0.5). On a 1.35 m panel, that 0.10 difference is 13.5 cm, so all four corners can be perfect while the center is 13.5 cm off. A warp that interpolates bilinearly—roughly what dragging mid-edge controls produces—sends the center to the wrong place.
What can this kind of preview establish, and what can it not?
It can establish that the sampled region is the graphic; that corner marks sit on the panel marks under a plane-to-plane map; that the hinge line is on the seam at the checked frames; that the flap's free edge ends where stated; that the interior grid is straight and evenly spaced; and that the center check agrees. It does not establish brightness or contrast, focus across the surface, material behavior, occlusion, viewing position, or installation feasibility. Nothing in the article was tested against a projector or physical panel; the geometric arithmetic is desk work.