An Introduction to IBL and AO using 3Delight in Maya

Tutorial Details
  • Software: Autodesk Maya
  • Difficulty: Beginner
  • Estimated Completion Time: 30 Minutes

3Delight is one of the most powerful rendering engines available, and it is also very well known in the industry, making it an extremely valuable tool to have in your skillset. In this beginner level tutorial, you will learn you how to create IBL (image based lighting) and also raytraced occlusion using 3Delight in Maya.

Final Effect Preview


Step 1

To complete this tutorial you also need hdri map, which you can find at the link above (under Tutorial Details). For the purpose of this tutorial I used RenoSuburb01_sm.hdr. If you want to use the same values as I do, you should keep your objects in similar dimensions (the height of character is 115cm), and also change your Working Units to centimeters. You can do this by clicking the icon shown on picture below. You can obtain 3Delight itself from the link above as well, and you will also be able to find detailed instructions for installation. The only disadvantage of the free version is the limit of two threads during rendering, so if you have a quad core processor, only two of it’s cores will work during rendering.

Step 2

For the purposes of this tutorial I used a very simple scene consisting of a floor and model of a boy. As you can see, at this time model looks very rough.

Step 3

To make a quick render using 3Delight you must add a render pass. Click 3Delight -> Add Render Pass -> Default.

Step 4

Click the render button.

Step 5

For future renders you can simply click 3Delight -> Render -> “your render pass name” (ex. delightRenderPass1).

Step 6

To access the rendering attributes, click 3Delight -> Select Render Pass -> “your render pass name”.

Step 7

After rendering you should get a poorly looking image.

Step 8

Time to invoke some renderman awesomeness. In renderman polygonal models can be rendered very smoothly without any actual mesh smoothing modifier, which can speed up your render times tremendously. All you have to do is assign special attributes to the objects that you want to render smoothly. Select your objects and click 3Delight -> Assignment Panel.

Step 9

I have selected only the boy model. In the Assignment Panel click button 1 (in the image below) to create attributes, and then click button 2 to show the attributes in the Attributes Editor.

Step 10

In the Attributes Editor, press and hold the button Add/Remove Attributes and chose ALL to assign all attributes.

Step 11

If you accidentally deselect your object, don’t assign new attributes. Just re-select the objects and find the desired tab in Attributes Editor. In my case, the model of the boy combines several objects into one group, and the attributes are added to that group. So if I only select one object in the group, there will be no attributes from 3Delight. I must select the entire group via the Outliner.

Step 12

Under Geometry check the Poly as Subd. This simple click will make your model look smooth, but with almost the same render time.

Step 13

Render, and you should get something like this.

Step 14

To make an environment light, you must first convert your HDRI map into a format that is readable by 3Delight. To do this, run the command line by hitting Start -> Run, then type CMD and press ENTER. Go to the directory where you have your HDRI map and type: tdlmake “envlatl RenoSuburb01_sm.hdr RenoSuburb01_sm.tdl

If your hdri map is in different format (light probe for example), then the command should also be different. For light probe type: tdlmake “lightprobe *.hdr *.tdl. For more information type ~tdlmake “h”.

Step 15

Create an Ambient Light by going to Create -> Lights -> Ambient Light. Leave all of the settings as default. You can place it wherever you want. You must assign a 3Delight light shader to it. Select the light and click 3Delight -> Assignment Panel. In the Assignment Panel press button (1) (in the image below) to create a light shader, then select the desired shader from the list (in this case envlight2 (3)). Hit Select (4). Now click button AE (2) to edit the attributes of the shader.

Step 16

In the Attributes Editor specify your converted hdri map by hitting the folder icon next to the envmap line. Ensure that you have selected the *.tdl file not *.hdr. Kenv lets you adjust the intensity of the light. Render. If the image is too dark, simply increase Kenv.

Step 17

The render below was done with Kenv set to 5.

Step 18

To turn occlusions on, change the value of Kocc (in the environment light shader) to 1.0 , and samples to 256 to increase the quality.

Step 19

If you render now, you will notice no changes. This is because you must make the objects visible to Rays. Make the changes under Visibility, in the 3Delight attributes of the object, to match the settings shown below. The floor plane must also have this attribute enabled. To do this, simply select the Plane and press 3Delight -> Assignment Panel, as described before.

Step 20

Render.

Step 21

This time rendering should be noticeably slower. To speed up our next steps, change the Kocc value (in the environment light shader) to 0. Now add a lighting map to the camera so the environment will be visible. In the Outliner, select the perspective camera persp, and click 3Delight -> Assignment Panel.

Step 22

In the Assignment Panel, create a background shader by clicking button (1) and choosing background shader from the list (2). Next press the Select button (3), and then the AE button (4) to show the settings in the Attributes Editor.

Step 23

In Attributes Editor chose a background image (the same as for the environment light). Ensure that you have selected the *.tdl file and not the *.hdr.

Step 24

After you render you may notice that the map is not correctly placed. This information is very important because the map for the environment light is placed the same way. In upper left corner you should see the bottom of the map, which tells you the way it must be rotated in order to place it correctly.

Step 25

To change the placement of the background image and light map, you must create a Coordinate System. Press 3Delight -> Add Coordinate System.

Step 26

Change the name of the Coordinate System to env_coord, and set the Draw Method to sphere.

Step 27

You can resize your sphere for a better view. Resizing does not affect the render.

Step 28

Select your perspective camera and assign the new Coordinate System to it. Type the name given to the Coordinate System in the bgspace field.

Step 29

Make similar changes to the environment light. Type the Coordinate System name in the envspace field.

Step 30

The Coordinate System is now assigned. You must then rotate it to the correct position. Test renders from different angles might be helpful to check the current position of the map. In this case, the Coordinate System is rotated on the X-axis because I wanted the sun from the map in front of the Boy.

Step 31

Render.

Step 32

Add one Directional Light to simulate the sun. Turn on shadows for this light, and change the Kocc value of the Environment Light to 1.0. Render again, and you’re done! You should have a nice quick render using IBL and AO in 3Delight!!

Don’t miss more CG tutorials and guides, published daily – subscribe to Cgtuts+ by RSS.

  • adfa

    [quote]Tomasz Uliniarz

    Renderman is one of the most powerful rendering engines available[/quote]

    Dude Renderman is a standard not a render engine!

    Render engines are 3delight, prman and so on!

    If you are teaching people please consider explaining that.

    • ADQ

      PRman and Renderman can refer to the same thing.

  • Scott

    borng

    • http://kaleb-3d.com Kaleb Aylsworth

      I don’t know why you guys persist on commenting just to try and cut other people down. Maybe you already know what he is teaching here, but he has taken his own time to provide useful information to those who do not already know it. So please, if you do have criticism (which you are certainly entitled to)…why don’t you at least try saying it in a positive and constructive way.

      • Darko

        very well put :) this is suppose to be a friendly and helpful site.

      • Jannes

        Unlike Scott I do apreaciate the work you are doing here, thanks alot for this tutorial. It’s no use for me since I don’t use maya but thanks in name for the maya users here :)

  • cookie

    “Renderman is one of the most powerful rendering engines available”
    Rendering engine??
    If you’re going to teach it, at least understand what you are teaching.

    • Speechless

      Have you even read the tutorial? For all intents and purposes, he does understand what he is teaching….at least enough to be able to relay the information that is truly important to the tutorial. But instead of acknowledging that, you latch on to one single sentence in the intro that may not be 100% accurate, and then try to flame him for it? It’s this type of ungrateful and deliberately negative attitude that causes good authors to give up trying to create these wonderful resources so that the rest of the community who actually appreciates it ends up losing out in the long run.

      • cokkie

        I never got to finish what I was going to say and posted a qoute.
        I was going to say that I too get ticked when people comment just to put others down.
        I think its awesome that someone takes the time to write a tut for us to use. its there time they give and
        for some smart ass to “correct” his terminology” seems rediculious.
        So I quoted “Renderman is one of the most powerful rendering engines available”
        Rendering engine??… bla bla. then had to change nappies.
        I like the tut.
        thanks tomasz.

    • http://www.evanschaible.com Evan Schaible

      You need to read my comment below. Renderman is a engine that set a standard in the industry that other render engines follow. The renderman standard is set by the Renderman engine, and 3Delight, Aqsis, Pixie, etc. follow this standard.

      For a strident comment like that, you dont display YOU know what your talking about very well.

  • Daniel Amedoda

    Thanks for the tut man.

  • weiq

    adfa, scott, cookie – if u guys knew so much, why don’t YOU be the one writing tutorial? obviously this tutorial aim @ beginners who wanted to learn, not snobs who just wanna render realistically.

    • craig

      Hey Weiq,
      I wasn’t banging this guys tut man. I like it.
      I about to agree Kaleb when I had to attend my kid.
      I must of hit enter when I was quoting the negative comment.
      I to am a beginner in 3dfm.
      I hate dicks that sit up high with there ideas of technical superiority.
      Ok?
      Im not the hater dude.
      I just pushed the button before i was finished

  • http://www.evanschaible.com Evan Schaible

    Renderman is actually a rendering engine.

    PRMAN.exe = Photorealistic RenderMan

    If you are going to criticize at least understand what your criticizing before you say it.

  • http://www.evanschaible.com Evan Schaible

    Just a clarification:

    prman.exe

    P = Photo
    R = Realistic
    MAN = Render Man

    So prman the engine is actually called renderman, therefore renderman is a render engine.

    Just wanted to make that clear as day.

    • http://www.evanschaible.com Evan Schaible

      Sorry

      P= Photorealistic
      R= Render
      MAN = MAN

      • Issac

        P = Pixar
        R = Render
        Man.
        There are many Renderman renderers, but PRMAN is designed by Pixar.
        Anyway renderman is created by Pixar which they made open to public.
        So other used that to make there own renderer based on Renderman.
        It works different then Physical based renderers Like Mental Ray, V Ray, Maxwell any many more.

  • Chris

    This Conversation is so unnecessary!

  • digi

    thanks for the tutorial! well explained and easy to understand.

  • http://n/a famousWolf

    I dont care for this arguament. A great tutorial for a great renderer. Thanks mate, this helped me a lot.

  • cookie

    Hey, great tut.
    1 question.
    how do I turn off the primal visibility of the envMap?
    every render comes through with the tdl in the BG.
    Any info would be great.
    thanks.
    c

    • craig

      sorry,
      Primary Visibility.

  • craig

    can no one tell me how to turn off the maps visibility in the render?

  • Elven

    I want to know how to make the occlusion work with Textures in 3delight?

  • greg

    I don’t know why people try to look smart than others by cutting him down with technical terms .
    Where as they don’t have the guts to come up with some decent tutorial explaining those things.
    II am sure people who are involved in such bad practices don’t know anything and rather gets benefits from such tutorials but want to show the whole world that they knew more than what is explained here.

    So please be nice and try to help the community if you can don’t use rude words which reflects your personality and upbringing.

  • http://gourish317.blogspot.in/ Gourish

    Hey guys, i just started to use 3Dlight and i’m facing a serious problem.. Whenever i put an image into Env. color swatch maya crashes.!! Is it because of my PC configuration.? I’m using WinXP(32bit), 2gb of ram, Intel core2duo and a pretty normal graphic card…