Maya: Camera Projection using a Matte Painting

Matte Painting by Wendy Park.

We will start with a quick look at the image we will be using to project thru a camera onto geometry


Color Component
Matte Component

< The flattened matte painting on the left.

Painted by Wendy Park.

You can see more of her work at:

thank you Wendy !

The Original image was 5970 x 2274 pixels.The image has an aspect ratio of 2.62:1.

The Matte Painting was handed off in layers so this makes things much easier to separate.

Below are the individual layers we will use with their mattes.

Tree in foreground with matte.

I will name these "otis_cam_proj_mp_layr_01_C.tga" and "otis_cam_proj_mp_layr_01_M.tga" respectively.

"_C" for color and a separate file "_M" for the matte from this point on.

Bush in lower right corner with matte.



Midground hill and tree with matte.


Midground tree center with matte.


Background trees A with matte.


Background trees B with matte.


Hill midground right with matte.


Mountains in background with matte.


Small mountains with matte.


Water layer corner with matte.


< This is the last element in the Photoshop
file and our background.
We will not need a matte element for this.

Sky background.


  Launch Maya: Create a camera and name it "Proj_Cam" in the outliner.
We don't have to worry about matching the perspective since this is a matte painting.
We can leave it at it's origin (0,0,0 for translate rotate and scale). I would recommend
locking the translate, rotate and scale so your projection camera does not move once you start.


Select the "Proj_Cam" and open the camera attribute editor.

The original image was 5970 x 2274 giving us an aspect ratio of 2.63 to 1. (5970 /2274)

The default focal length of 35mm will work fine.

We do need to set the Film Aspect Ratio to 2.62 to project our image without distorting it.


Set Fit Resolution Gate to "Overscan".
You will be able to view the entire image when it loads.


Scroll down to the “Environment” tab,
select “Create” next to Image Plane.


Select your image plane and adjust the alpha gain
so you can see the grid and geometry in the background.


Set Fit to “Fill” and “fit to film gate”.

Modeling / Geometry Notes:

Create geometry to match the image in the Projection camrera’s view.
The geometry should be low poly and as simple as possible. By painting,
cloning etc, create the image maps for you are set. Foreground, mid-ground,
background and any specific maps you may need for your particular scene.
Have these ready for the shader / projection process.



In the front view I created a poly plane with 30 subdivisions in H and W.
This will line up with the first tree in the FG on the left side of the screen.
I will name this "plane_01"
(..._01 matches the texture name "otis_cam_proj_mp_layr_01_C.jpg") .


In the Hypershade create a Lambert shader.
Select the "plane_01" geo.

Assign this new material to this selection and name the shader “plane_01_shader”.


Back to the “plane_01_shader” in the in the hypershade, select the “out color” in the surface shader attributes.


Make sure “as projection” is selected, then select file.



Projection type to “Perspective”.
Link to camera to our “Proj_Cam”.
Match camera film gate.

Select the triangle in the circled are to navigate to the matte image we will load into the shader node.



Navigate to the textures directory you are using and select the image you want to project.

For this geometry the image will be "otis_cam_proj_mp_layr_01_C.tga"

The Hypershade should reflect the changes we have made. The plane currently has no
transparency and has not been applied to the geometry. The is a matte created named
"otis_cam_proj_mp_layr_01_M.jpg" ready to be plugged into the transparency channel of this shader.



In the hypershade double click on the "plane_01_shader" to bring up the dialog box in Maya.


Select the Checkerboard next to the Transparency as we did earlier with the color image, we will load the transparency or matte into the shader node.



As before select "As projection" and "File".



Just as before set:

Projection type to “Perspective”.
Link to camera to our “Proj_Cam”.
Match camera film gate.


Select the triangle in the circled are to navigate to the matte image we will load into the shader node.



Navigate to the "otis_cam_proj_mp_layr_01_M.tga" image and add it to the transparency channel in the shader node.



The shader should look like this in the Hypershade.


Now apply this shader to the geometry you created for the tree in the forground "plane_01".



I moved the image back -95 units in Z.
We will build the rest of the scene back from this point.



I will make a new layer for the bush in the lower right corner and set it back in -100 units in Z.

Then repeat steps 7 thru 14 for this.

Step 18
After I applied the shaders to the first two geometry elements, I did a test render. The colors were very dark and on a black background, so I couldn't really see anything until I checked the alpha channel.

Layer 3 is the next layer.


It shows a tree on a small hill sloping down to the river bank.

I will build the geometry for this then translate it back -135 units in Z behing the previous 2 geometry elements.


Next repeat steps 7 thru 14 to create the shader.

In the perspective window I enabled "High Quality Rendering". This way we can see the environment develop while we build it.

Step 19


Go to: Show / Isolate Selected / View Selected.

As shown on the image on the left.

Now right click on the geometry and go to" Paint / Sculpt.

Step 20


This should activate the "Sculpt Geometry Tool" options.


So they don't look completly flat, we will now add some depth to the hill and tree in the image.


Using the "Push", "Pull", "Smooth", "Relax" and "Erase" tools I will add some depth to the geometry.

Using the "Sculpt Geometry Tool".
Using the "Sculpt Geometry Tool".

After I am done sculpting the geometry,

I will remove soome of the faces that are not needed.

Using the "Sculpt Geometry Tool" on "Plane_01".


I will do the same for "Plane_02".

otis_cam_proj_mp_layr_04_C.tga and it's geometry have been added.
Plane_04 has been sculpted slightly.
Plane_04 shown in contex with scene.
Plane_05 added with shader and sculpted in open GL.
Plane_06 added with shader in open GL.

Plane_07 added with shader and sculpted in open GL.

Note the slight angle of the sculpted plane.

A screenshot of the environment to this point.
Plane_08 added with shader and sculpted in open GL.

Plane_09 added behind mountains.

Plane_10 will be the water layer.

Perpendicular to the trees, mountains, etc.

Add the plane_10 shader.
Translate it down to the water level in the scene.

There we go.

only one more layer to add.

The sky has been added behind the mountains.


Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

At this point the Camera Projection is done.


It will be necessary to create another camera with a similar focal length and filmback as the projection camera.

The start position of the "Record" camera will need to be in close proximity to the "Projection" camera, or you will see the images stretch horribly. So, yes the camera movement will be somewhat limited. You can always add more "Projection" cameras with more povs, allowing you more flexibility with your camera.

Have fun!





This is a very nice camera projection example done by Brian Cuartero. QT