Video Projecting to a Receding Surface and Mapping from Viewers Perspective

My question is about setting up and compositing two different perspectives into a final render. I imagine the first render would be of an animation from a viewer’s perspective. That render would then be stretched and composited with a background image shown from a projector’s perspective and then baked into a surface for a final render. Am I on the right track? Here’s my goal:

I want to project a Blender animation, on to the floor, at the end of a dark hallway. Imagine a video projector mounted at the ceiling and pointed straight down. I want the animation to look correct to a viewer standing 8 feet away. Imagine an average person, perhaps 5’ 6"?

For example, if I animated a snake that lifted its head, and then crawled into the darkness, toward the viewer, I don’t want the snake to look like the distorted, flat, keystoned image you’d normally expect while standing off to the side of a projector screen. Rather, from the viewers perspective, the snake should appear as you’d expect an actual snake to appear.

To complicate matters, I want to take a photo, from the projectors perspective, of the floor, to use as a background in my animation, and when projected, exactly align with the existing floor. Obviously, the viewer would correctly see the floor as a flat, keystoned image. However, the snake, if composited correctly, would appear to sit on top of the floor, casting shadows, and blocking the view of the floor underneath and behind.

If such a tutorial exists, I would so appreciate a link. Otherwise, any help or suggestion is appreciated.

Here is an outline for a procedure, which might work to project an animation from the ceiling, which would appear correctly to a viewer standing 8 feet away. I appreciate any suggestions and corrections you may have. thanks.

A. First Render

  1. Photograph Actual Scene of the Floor (flat lighting at Projector, Photograph from Viewer’s Perspective)
  2. Model Scene of the Floor
  3. Map & Bake Image of Actual Scene Onto the Virtual Scene
  4. Create Model of Snake
  5. Animate Snake Onto the Scene Model
  6. Set up non-diffuse, shadow-casting light at the lens of virtual projector
  7. Set up virtual Camera at Viewer’s Perspective
  8. Render Preliminary Animation

B. Second Render

  1. Project & Bake the Preliminary Animation Onto the Scene from Viewer’s Perspective
  2. Set up virtual Camera at Lens of the Virtual Projector
  3. Set up Soft Light at Lens of the Virtual Projector
    a. Turn off reflections (in material? In light?)
  4. Render Final Animation

Only a suggestion about projector tools in blender… It seems that you re planning a visual installation. I’m a little bit lazy at the moment to figure out what you are trying to achieve but, here is a link here for a free addon to help you simulating projectors in blender.

Is this the type of effect yr after?

Forced perspective, with animation…

I think so.

I would look into a software called madmapper, as this handles this sort of image warping in realtime,

I used to use it as a VJ for videmapping projections on odd shaped surfaces, and keystoning wierd aspect ratios.

You may also need more than one projector to get the long image needed, look into dual head to go or triple head to go or projectors that blend.

height of ceiling maybe a deciding factor in which lenses you will need, long/short throw etc.

Thanks to all for the replies. I should have explained the final setup will be quite simple. The final render will be an MP4 file on a USB drive, which will simply play in a loop from the projector on the ceiling. The projector’s video screen is the 4’ x 4’ floor space, at the end of the dark hallway. If watching the video on a PC screen, the snake would appear stretched. However, when projected on to the floor the viewer, standing 8 feet away, should see it in proper proportion.

It seems to me, that all the tools I need are built-in to Blender, if only I had more Blender skills.