Category: Tutorials

Notes on Using Sun and Sky.

This only works in the 3delight for Maya Plugin and not currently in the 3delight Studio Pro Package. works in both now

3delight has shipped with a sun and sky shader for a while, but there have been issues around them (which I believe the developers are looking into). Now with the support for the MR shaders its easy to get something setup quickly and with the use of scripts to modify the time of day, year, location etc.

Ok first thing make sure that you’ve got Mental Ray plugin loaded
Window –> Settings/Prefrences –> Plug-in Manager, find in the list Mayatomr.mll and check Loaded is Autoload.
go to Window –> Rendering Editors –> Render Settings . Change drop down menu ‘Render Using’ to Mental Ray

From the ‘Indirect Lighting’ tab create a ‘Physical Sun and Sky’
In the Maya Outliner you can now see a ‘Sun Directional light has been created and in the utilities of the hypershade there is a mia exposure, mia physical sky and mia physical sun. There are mel scripts available to change the directional light based on the time, julien day etc. I recommend to download the ‘TOI’ set of tools to do this.
Create a 3delight pass , turn on global illumination in the render setting with add to final mix. Heres some quick and nasty renders.

This one was overblown so I tweaked the shading multiplier in the mia_physicalsky

Heres one with a change of time using the TOI script

In addition I would look at modifying the directional light and shadows color temperature based on the time of day. These images don’t feature any aerial perspective shading. The viewer would normally expect to see destauration based on distance – dependent on time of day again.

String Primitive Variables

This is another neat technique modified to work with 3delight.
Each sphere has a random texture applied from a group of 8 (see the mel script for more details)

Quoted from the pixar tutorial
“Primitive Variables are a powerful feature letting you pass information to your shaders on a per object basis. If you have
already completed the Primitive Variables tutorial from the introductory section, you will be aware of how useful they are.
However, you may have noticed there are no string PrimVar nodes in Slim or Hypershade. Using our understanding of
RIB and PrimVars we can easly create a workflow for passing arbitrary strings to our shaders. This could easily be
scripted to randomize a number of texture maps over leaves or stones; or to pass other arbitrary string data to our
shaders.”

Run the mel script on the selected geometry (you will need to modify a couple of details in the script)
// select geometry pieces and run
// modify ‘rand’ for number of pieces to pick from
// modify address to where source images come from

Here is an example rsl node surface shader. Cheers Ogre

RSL NODE
parameters
:
shader_input string Tex
output color out

code:
out = texture(Tex);

Random Colors with objectID in 3delight

This technique uses object ids and a shader to create random colors. Here is the mel script you will need to run and here is the shader.
– example scene. create piece of geometry, attach ‘random_id_surface’ shader.
– duplicate special options – duplicate geom as copy, group under “parent”, with “assign unique name to child nodes’
– select all the geom and run the mel script.