Sep
07
Camera Projection Tutorial
Acquire a Source Image
Find a photo with:
- Few overlapping elements
- Simple perspective
- EXIF data from the camera (focal length, distance, other useful information)
Prepare the Image
Bring it into Photoshop and remove any unwanted parts from the image. Then, save an image for each element that will require a unique projected image, such as a foreground plane, sky, background plane, and any object that is partially hidden by another object.
The Scene
Camera
Create a new camera, “cam_projector”. Add an image plane and match focal length & distance from the furthest object.
Set a key at frame 1 to lock down the projecting camera, and duplicate the projecting camera and use this for rendering, “cam_render”.
Models and Shaders
Create simple objects and position them in the approximate locations.
Create a new Lambert shader and add a color map. Choose “As Projection” and pick your file. Projection Type is “Perspective”, and Link to Camera should be set to cam_projector.
Set the ambient color to 1.0 and turn down the diffuse to zero; the photo is already lit, so there’s no need to add any more light.
Duplicate the shader and replace the image as necessary for each object in the scene.
Subdivide the objects and drag points around from various viewpoints to match objects in the source photo. The objects don’t need to be very detailed.
Disable texture filtering for areas where the texture stretches, or adjust the scene so that stretching is not noticeable.
Finishing Up
The scene is now ready for whatever nefarious purposes you have in mind. Insert characters, vehicles, or buildings, and render.
It’s a good idea to split up the scene for several render passes, in case you need to adjust color, background movement, etc. More importantly, you should render new objects and their shadows separately, because shadows will not appear on 100% ambient / 0% diffuse geometry.
For a finished example, see the rendered animation from an older version of this project that I created in XSI.
There’s another great tutorial by Janine Pauke that goes into a little more detail. It’s a tutorial for Cinema 4D, but it should be usable with any other 3D app.



