m a y a    l i g h t i n g    a n i m a t i o n


The animation and notes on this page explain some aspects of applying RenderMan light sources to a Maya animation.





 

 

 

 

 

 

 

 

 

 

 

 

 

 

From the beginning of this project, I knew I wanted to take full advantage of the mtor renderfarm.

It took me awhile to figure out how to submit projects and custom shaders successfully, but

the effort was definitely worthwhile. Thank you Mehmet Erer for noticing I had a ../rmanshader relative

reference that should have been ./rmanshader. One period = three days of troubleshooting!

The problems report/renderfarm technician probably didn't notice that she put two periods in her email.

Anyhow, I was just happy to be able to focus on what I wanted to create and not worry about rendering and

time restraints.

 

The animation above has an ambient occlusion layer set to overlay to brighten the details. For the background,

two spheres were textured with lo-res space and Earth textures.

 

All shadow maps were set to deep shadows and at least a 512 resolution. Pixel sampling was set to 4.

Sampling rate was at least 36. For experimental purposes, I left all the shadow maps to calculate every

frame for all 900 427x240 frames. The following occurred:

 

Total render time was 1 hour and 56 minutes
CPU rendering time was 3 days 6 hours and 40 minutes
Average CPU time per frame was 5 minutes

 

After that, I changed the setting to calculate once per job for all applicable shadow maps. Render time was

cut in half:

 

Total render time was 53 minutes
CPU rendering time was 1 day 11 hours and 38 minutes
Average CPU time per frame was 2 minutes and 22 seconds

			
			

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

Here is the animation with all objects textured with a light-grey, plastic material and displacements applied.

My fake-caustic shader is much more apparent in this version without the distraction of the color map.

			
			

 

 

Displacement Map Example

Displacement texturing was done in ZBrush using AUVTiling so there is no texture distortion and no wasted

UV space. I only textured the areas that are seen in the animation to get a sense of how much space was used for

the details applied. Now I have a much better sense of how large my textures need to be in relation to

geometry surface area and proximity with the camera.

			
			

 

 

Texture Map

 

Texture Map Close Up

Since much of my animation has the camera skimming closely to the surfaces of my geometry,

I wanted to really test the speed of the renderfarm and determine how much detail could be

packed into 4k displacement and color maps. Using just a few hi-res maps would normally take me hours

to render, and many times cause my personal PC to crash. After a few test renders on the renderfarm,

I quickly learned that 4k texture maps aren't enough when doing extreme close-ups. Even at a low resolution

of 427 x 240, blurring of the maps can be seen in the final animation. The three upper sections of the space station

each have their own 4k displacement maps composed of simple grey-scale rectangles. The rectanglular

deformations visible in the animation are actually only a few pixels wide and tall. As for the color map, I used one

4k map (upper image) for all three sections of the upper space station. The lower image above shows a section of

the map at 100%.

			
			

 

 

Work Space

In addition to having incredibly fast render times, a huge advantage was not having to worry about file space.

Send the project off to render, do some adjustments, check back in a few minutes and you have your tiff's and a .mov

ready to be moved off the server space. While I have heard some students say that it's a waste to send one frame to

the renderfarm, I disagree. One reason to send off the frames is to free up resources on your own computer. You can

continue to work without any bogging while two renders can be calculated on other machines. For some reason, you

are only allowed to submit two rendering jobs at the same time. From my experience, three or four would be the perfect amount.

The image above shows a screen capture of my workspace on a dual monitor system. Basically the left monitor is reserved for

working within Maya. The right monitor is used to submit jobs to the renderfarm and to hold some menus. The only problem I

encountered was forgeting to move the slim palette to the left screen when I finished working for the day. If I logged onto a single

monitor machine next time, the palette would be off-screen and unreachable..

			
			

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Caustic Shader

The animation above shows a test render of my generator's shader. By attaching a few nodes to a light's color parameter,

I was able to achieve a cheap, caustic-like rendering solution. A black spot appears for a few frames which could probably

be fixed through careful keying and more test rendering of parameters, but it doesn't show up in the final animation so I left

it as is. I used turbulence with a lerp command in its fourth dimension (time) parameter. The turbulence node was

linked to a color correction node to apply a blue hue. There are four shaders of this type used in the animation.

(2 blue generators in the upper station, 1 yellow in the middle, and 1 blue inside the cannon)

			
			

 

 

 

 

 

 

 

 

 

 

 

The animation above is a playblast that shows the position of many of my lights.

Spotlight geometry will be added later.

 

 

Final Thoughts:

 

I'm very satisfied with the results of this project (particularly the fake-caustic shader), but now I wonder if the same can

be done to create a volumetric caustic light shader. I need to figure out how to eliminate the occassional flickering around

some of the displacements, and my model needs to have some edges beveled. I will bump up my displacement and color

maps to 8k or higher. I also need to figure out how to create a specular and reflection layer. Creating this animation at a

high resolution will be challenging, but at least I have an idea of what needs to be worked on.