Projection Shader

Description:

The projection shader makes it possible for you to project a picture or animation on your scene like a cinema-projector would do. To use it you take the picture/animation you want to project and use it as a texture on a square (other objects can also be used). Assign the projectionshader to the square - this makes the surface have a film-like property that when light-rays passes through the surface, they are colored by the texture. By Placing a light behind the square you can project its texture on the scene. 
 

Tutorial:

Load the "Projection_tutt" scene from the Projection-tut database into softimage. Render it and it will look like this: 
 
 

Now we want to add the projectionpicture. 

  • Select the square "face1" in the scematic view. Enter the Texture->2d-Global menu and select the picture "approved2".  Press 'ok' to exit the dialog. Select the material dialog and select the shader named "projection" in the NF-shader database.
Now the only thing we are missing is a light that can project the image. 
  • Define a new light (Light->Define) and select Raytrace shadows and a umbra intensity of 0. This have to be set this way because the projection is generated from the shadow of the surface to which the projector is applied. Umbra intesity is set to 0 to avoid disturbing extra light to be added to the projection. Finally place the light inside the box named "cube8" (the projector).
Thats it. Render the scene (remember it has to be with mental-ray): 
 
 

Now go into the the shaders parameters dialog and see that the shader contains one parameter. The parameter allow you to scale the light that pases throug the surface by a factor you decide. Per default it is set to 1 so you dont have to adjust it if you dont wan't to. Try to play arround with it to see the effect of it. Try to put a red, a green and a blue light in the projector-box and see the effect.. 

If you wan't to be able to move the projector around it's an advantage to add the projector-light to the projector hieracy. This can't be done directly since lights aren't considered normal objets in softimage. Instead define a null on the spot where you wan't the light to be and add this to the hieracy(get->primitive->null and model/Parent, click with middle mousebutton to select the Projector-object).  Then constrain the lights position to the null that you just defined (select the light, motion/constrain ->position and pick the null). 

 (NB. To get make the projected lightbeams visible like in the presentation picture add the volumic MF_sunbeam shader to a volume around the projection.)