2022.08.05 Reprojection from Any Angle

Properly set up a demonstration of the Viewer Projection > Viewer Capture > Projector Reprojection > Projector Capture > Preview Reprojection process.

What I mean by this is, that there is a there a Viewer camera that captures everything the user should be seeing in the virtual world (revolving sphere, Galaxy FX, etc.) and that is "projected" onto the projection surface. Then, there is another camera that occupies the same place as the desired Projector position and captures what it would see of the projection surface from its viewing angle. The final Projector then projects this captured image onto the projection surface.

The end result is that in Unreal you can position a viewer camera, a projector, and a projection surface, and as long as the viewer camera and projector can "see" the projection surface, you can produce the illusion that the viewer can see into the virtual world through the physical projection surface.

The texture output from the last step (Preview Reprojection) can theoretically be passed directly to a physical projector and as long as the REAL viewer, projector, and projection surface are positioned as they are in the Unreal environment, it should produce the illusion IRL!

When you're watching the video, keep an eye on the viewer camera preview on the bottom right. that's what the user would see IRL and where you'll see the illusion demonstrated.

ATCQ_MM - Unreal Editor 2022-08-05 15-53-46.mp4

Set up:

There are 3 versions of the Projection Surface to avoid redundant rendering, all occupying the same position. Each one is only visible in a certain render pass.

The Viewer Camera occupies the same position as the Viewer SceneCapture2D

The Viewer SceneCapture2D renders to TextureTarget1 while hiding all of the projection surface objects.

The result rendered to TextureTarget1

The BP_Projector represents the real-world projector. The Projector SceneCapture2D occupies the same position as the BP_Projector. BP_Projector must, of course, face the projection surface and have a large enough Attenuation Radius.

The Projector SceneCapture2D renders to TextureTarget2 while hiding everything that isn't the projection surface.

The result rendered to TextureTarget2

This is the texture that could be projected from a physical projector to achieve this illusion IRL