Skill Level Intermediate
- [Narrator] One way to integrate photographs or other 2D imagery into a 3D scene is a matte painting, and this is a term from analog filmmaking. In the good ol' days, matte paintings were painted with real paint onto an opaque surface or onto a sheet of glass. In the 3D world, the term matte painting generally refers to some piece of geometry that accepts an image, but does not participate in lighting and shading. That matte painting could be a flat plane like this one, or it could be some proxy low level of detail geometry on which we've projected an image.
This is a simple case, with the image applied onto a plane. To make sure that it doesn't participate in lighting, we need to apply special material and also adjust the object properties. Let's go into the Material Editor to take a look. This is the Shader Network that's currently assigned to that matte painting or image plane. I've got a bitmap image. Double click on that and it's an EXR file. To make sure it has the same exposure as the rest of the shot, in the output section down here, I've cranked up the output amount of that EXR file, so it's much, much brighter than the default.
That's feeding into an Arnold flat map note. Double click on that. So to render a surface without any shading or lighting in Arnold, you'll use a utility note called flat. It simply just accepts a map or a color. In order to apply that map onto an object in 3ds Max, it has to be piped through a map to material note, and that's what this is here. Its sole purpose is to convert a map to a material, so that that map can be assigned to an object.
Okay, so that's the shading aspects of the image plane or matte painting, but we also need to consider the possibility that it might actually bounce light in a global illumination solution, or cast or receive shadows in the scene. We don't want any of that to happen. I'll select that image plane or matte painting, go into the modify panel to show you I've applied an Arnold properties modifier. In the general properties section, I've enabled the visibility section and disabled diffuse reflections.
I don't want light to bounce off of that plane to illuminate other objects, but I do want it to be visible to the camera. I do want it to be visible in reflections and refractions. I've also enabled the shadows section here and disabled cast, receive, and self shadows. So the image plane is all set up. We want the image plane to face towards the camera. To accomplish that, we can use a look at constraint. We can also use another constraint called position to make it look like the image plane or matte painting is at an infinite distance away from the camera.
We also want the ability to art direct the position of the image plane through the window here. In order to do that, we need to have another node in the hierarchy. That's what this point helper is here. The point helper will accept the constraints, and then the image plane or matte painting will be linked to the point helper, giving me the ability to produce a transform offset on the image plane or matte painting. In other words, I want to be able to move it around, but still keep it aligned with the camera.
So the first step in that process is to line up this point helper with the camera's line of sight. We want it to be positioned precisely along that camera's Z axis. The first step is to align the point helper's rotations. Select that point helper and go over to the main toolbar and click on align and then click the camera. We don't want to change the position yet, so turn off all position axes. We want to enable orientation alignment in X, Y and Z.
Click okay. Now that point helper is precisely aligned with the camera's rotations. Next, we will align it with the camera's line of sight, or its position. Just to make sure we do this properly, we want to be in local coordinate system. So with the move tool active, go over to reference coordinate system, and switch it over to local. We can see now that the Z axis is pointing diagonally. We can select the camera, and it's pointing the same way.
On our image plane, the Z axis indicates the direction of the image itself. In other words, when the Z axis is pointing towards the camera, the image is right-side up and flipped correctly left to right. Alright, so now we want to move this point helper. So select it, and in local coordinate system, click on align once again. Click on the camera. We don't care about alignment in rotation, so we can turn off the orientations here, but we want to align in the camera's local X, and also the camera's local Y.
Camera's local Y in this case is actually the elevation. We can see that here. When we turn Y position on and off, the point helper moves vertically. When we click okay, now that point helper is exactly lined up with the camera's line of sight, and it appears exactly in the center of the camera frame. Let's move it back a little bit in Z, in the local Z axis, making sure that we have enough space there, so that if we move the camera around, and the point helper is position constrained, that the matte painting or image plane will not crash into other geometry.
So that's moved out a little bit there. Now we want to align the matte painting with the point helper. So select that matte painting, and go back into the align tool. Click on the point helper and turn on X position, Y position and Z position. Also, turn on X, Y and Z orientation and click okay. So now the matte painting is also perfectly aligned with the camera. The matte painting appears exactly in the center of the camera frame as well.
Now let's link that matte painting to the point helper. From the main toolbar, choose select and link. Click and drag from the matte painting to the point helper. When that's done, go back to the move tool just to test it. Select the point helper and move it around. In moving it in the local Z axis, we can see that the matte painting is following. Now we want to make sure that no matter where the camera is, the point helper will point towards the camera. So with that point helper still selected, go up to the menus and choose animation, constraints, look at constraint, and then click on the camera.
The default orientation is not correct, but we can fix that easily. The motion panel opened automatically. Scroll down near the bottom of the motion panel. What we've got here are the look at constraint parameters. Most importantly, we have the look at axis. This is the local axis of the object that's going to point towards the target object, in this case the camera. We want the Z axis of the point helper to point at the camera. So that's pointed correctly, but as we can see, our matte painting is rotated funny.
Scroll down a little bit more. This is just one of the parameters we need to adjust. We also need to make sure that the image plane and the point helper are pointed up in the correct direction. Over here, we have Source/Upnode Alignment. Which axis of the selected object do we want to point up? We do want the Y axis to be pointing up. So that's correct, but down here we have aligned to Upnode Axis, and that is the reference for which way is up.
If we have world chosen here, then we can choose Z here, and that will define the world Z axis as being the Upnode. Now we can see that the mountain is oriented correctly. Alright, so we've got our look at constraint working, and we can test that. Select the camera and move it around, and the image plane always points toward the camera. Okay, that's pretty good, but we also want to make sure that as we move the camera, the image plane looks like it's at a very great distance, or even infinite distance.
To do that, we'll use a position constraint. So I'll undo the movement that I just did. Once again, select the point helper. Once again, go up to animation, constraints, position constraint, and click on the camera once again. The point helper moves to the location of the camera. The motion panel opened automatically once again. In the position constraint parameters near the bottom, we have a switch labeled keep initial offset. We want that to be on in this case, so click that.
Now we have an offset between the camera and the point helper. So now if we select that camera and move it, notice that the image plane, which is linked to the point helper, maintains the same position relative to the camera. We can see that a little more clearly in our camera view here, if we go over there and just turn off shading by hitting the F3 key. Once again, if we move the camera around, it's as if that image plane or matte painting is at an infinite distance.
Alright, very cool. So back in the physical camera view, we can turn on shading again with F3. Okay, so we just need to adjust the position of that matte painting, relative to the point helper. So select that matte painting. With the move tool in local coordinate space, we can position it really in any view, it doesn't matter. If we need to, we can scale it. Grab the scale tool. Click in the very center of that scale manipulator to scale in all three axes equally.
Okay, so we've got our rig. So we can select the camera, and Mount Hood is out there, and it looks like it's at a very great distance away. It's always pointing towards the camera. We can also rotate. You can grab that camera and actually rotate it in Gimbal reference coordinate system. Our matte painting is all set up. That's how to rig an image plane for a camera-facing matte painting.
Q: Why can't I earn a Certificate of Completion for this course?
A: We publish a new tutorial or tutorials for this course on a regular basis. We are unable to offer a Certificate of Completion because it is an ever-evolving course that is not designed to be completed. Check back often for new movies.