Tips'n'Tricks

The Tips in detail

back to Tips'n'Tricks index send mail to Adger
previous Tip next Tip
 

 "Omnilights don't cast light everywhere."

3D Studio Max specific
 

Basically omnilights cast light in every direction. Due to how they are "made" (see also: 042: "How can I speed up rendering?") there are thin areas where they don't cast light evenly at. You won't notice them unless you are doing large scale scenes. Don't believe me? Try this:

  • In topview at coordinates 0-0-0 create a large flat cube (ie. 5000 x 5000 x 1). Give it some plain white colored texture (Ambient to 255/255/255, Difuse to 255/255/255, Specular to 255/255/255, leave the rest "as is", don't add any maps.).
  • In frontview rotate the cube to X= 0 Y= -32.5 Z= 0 degrees.
  • Create an omnilight and move it (frontview) to the coordinates X= -3500 Y= 0 Z= 3500.
  • Create a target camera. Move the target to the cube's center, the camera to the coordinates X= -1000 Y= -1500 Z= 500.
  • Switch to cameraview.
  • Render.

You should get a flat surface almost filling up your scene with a small triangle of background in the upper left corner.

  • Select the omnilight and switch on "cast shadows", leave all the rest as before.
  • Switch to cameraview.
  • Render again.

You see?

To get rid of this effect, you can go several ways. One ist to rotate the omnilight until the shadowline is cast where you don't see it. Another one is not to make omnilights cast shadows but use directional or spotlights for the shadowcasting instead. Else you can modify the sampling range (shadow parameters). Lowering this will make the shadowline smaller but at the cost of the other shadows looking strange. Else you might push up the size (shadow parameters) to 1024 or beyond, but this makes your rendering take longer and even at 1024 there is a thin but still noticeable artifact.
 

 
Do you think this tip or trick is... very usefull -- medium -- waste of time