From BlenderWiki
Radiosity
Assumptions are made that approaching to this tutorial you know how to:
- 1) Add and remove objects from the scene
- 2) Manipulate objects (duplicate, rotate, change position in 3d environment etc.)
- 3) Manipulate meshes
- 4) Work with materials
- 5) Change rendering options
If you are not very familiar with the above, don’t worry I’ll try to explain everything step by step. In this tutorial we’re going to learn how to light up animated scene using blender’s radiosity function.
We’ll create simple scene (similar to one above). Add two light sources of different colors and finally animate them.
The Cube
- 1) Start blender and select the lamp with RMB
and press X to delete it. Then select the default cube using RMB
. Press S and scale it 3.5 times. With the cube still selected scale it along the X-axis by 1.3 (you can press X to lock in x-axis)
- 2) Go to edit mode by pressing ⇆ Tab. Change view to front by pressing 1 NumPad. Change selection mode to “FACE” and delete front face only.
- 3) Still in “Edit Mode”, select whole mesh by pressing A, following by W. From special menu select “Subdivide Multi”. Click LMB on number in the menu and change value to “15”.
| SUBDIVIDING MESHES | |
| Remember more faces have your models for radiosity, better they will look but you will also suffer from longer rendering times |
- 4) Deselect mesh A.
- 5) Go into "Edit Mode". Select "Editing" (F9). Uncheck "Double Sided" in "Mesh" panel.
Note
Switching "Double Sided" off is necessary to achieve radiosity effects. Otherwise the mesh will be illuminated on faces not reached by light, like on the back of the mesh.
|
- 6) Check "Draw Normals" in "Mesh Tools 1" panel. Figure. 3
- 7) Select everything by pressing A. Then Press W to invoke "Special Menu" and select "Flip Normals"
- 8) Press F5 to switch to "Shading". In "Links and Pipelines" panel choose "Add New" to add new data block (material) to the "Cube".
- 9) Set "Ambient" value in "Shaders" panel to something between 0.3 and 0.6. You can experiment with those values to achieve desired result.
Note
Radiosity depends on the ambient value of your materials. Setting it too low will result in dark render. Setting the values too high will result in higher exposure of possible artifacts, caused by more exposed and better visible shadows. It's clearly visible in more complex meshes with more complicated shadows.
|
After setting "Draw Mode" to "Draw Normals" your "Cube" will look like in Figure 4.
The Emitters
Now we are going to add two light sources. We are going to use two different colors to be able to spot color change inside our scene. I’m going to use Red and Green light sources.
- 1) In “Object Mode” Select our cube and press ⇧ ShiftS. To invoke “Snap Menu” and select “Cursor->Selection”.
- 2) Now “Add” => “Mesh”=>”Icosphere”. Leave default settings. You don’t need to flip normals, because in default normals are facing outside of the mesh.
- 3) Change name of that object to “Green Lamp”. Move it -0.8BU on x-axis. Set material and shaders like in Figure 5.
- 4) Duplicate “Green Lamp” and move it 1.6BU on x-axis. Change name of duplicate to “Red Lamp”
- 5) Select "Red Lamp" with RMB
. Go to “Shading” (F5). And press on materials button. In "Links and Pipelines" you will notice digit "2" nest to the name of your material. It means that there are two objects using the same material. Left click LMB
on that "2" and confirm question to change material to "Single User". A new name will be automatically generated "Green Lamp.001". Change that name to "Red Lamp". Then change color in "Material" panel to red.
| 'Subsurfing and Radiosity' | |
| It's good to use Subsurfing in scenes with radiosity. Adding Subsurfing or subdividing mesh will add more details to the mesh (increase resolution of radiosity solution). Emitters with added subsurfing or subdivided mesh will shoot less light, but Radiosity solution will be nicer quality. If there are two "shooting patches" (Emiters) with added subsurfing or subdivided mesh, the one with less number of faces will negate influence of one with greater number of faces (subdivided mesh or added subsurfing). If both emitters have equal nuber of faces, the one with with lower "Saturation" and higher "Value" will overcome or negate influence of the one with higher "Saturation and lower "Value". If "Saturation" and "Value" are equal, the "Hue" value will have its biggest impact on mixing of colours. Solution from "Red Emitters" will be more likely negate by solution from other "Emiters". This phenomenon escalates for "Shooting patches" with higher number of faces ("Subdivided" or "subsurfed"). |
In the first 3 pictures Right Red Emiter have values H=1,S=1,V=1.
The Preview
We are going to use very simple way to animate our scene. I would even say very a primitive way to do that.
- 1) We are going to split our view. Press MMB
on the edge between header and navigation buttons. A split area command will appear. Split area into half vertically. In new area in “Display Current Window Type” choose “IPO Curve Editor”.
At this stage your you should see something like this:
- 2) For further render use settings form Fig. 6. Don’t forget to set the number of “Iterations” (number of radiosity rounds) in “Materials Panel”/”Radiosity Buttons” (small yellow/black radioactivity icon) to value different from “0”. Usually value between 120 and 300 is sufficient and remember to turn on “Radi” button in “Render” options. Copy Settings form Fig. 7
- 3) We are only interested in first panel “Radio Render”. We are not going to use them for animation. I just explain this for later purpose.
- 1. Max Iterations is responsible for number of “Radiosity Calculations”. Should be set bigger than “0”. The higher the value – the brighter the scene and calculation take more time.
- 2 "Multiply" and 3 "Gamma" are responsible for the colour space of the Radiosity solution and is far more detailed than can be expressed with simple 24 bit RGB values. When Elements are converted to faces, their energy values are converted to a RGB colour using the Mult and Gamma values. With the Mult value you can multiply the energy value, with Gamma you can change the contrast of the energy values.
Following two panels you will be using in situation when you would like to calculate “Radio Solution” for static image (later in tutorial).
- 4. Collects Meshes for “Radio Calculation”
- 5. Free Meshes (after pressing “Collect Meshes” edit functions are suspended.
- 6. After pressing Number 8. “GO” and having “Radio Solution” calculated you can replace existing meshes with new ones or press:
- 7. And “Add new Mesh”.
- 8. Starts “Radio” calculation using materials properties and settings from “Radio Render” panel giving you preview.
- 9. Give you different rendering options for your “Radio Solution” (In static Image). “Gour” is most realistic.
- 10. Hemires The hemicube resolution; the color-coded images used to find the Elements that are visible from a 'shoot Patch', and thus receive energy. Hemicubes are not stored, but are recalculated each time for every Patch that shoots energy. The 'Hemires' value determines the Radiosity quality and adds significantly to the solving time.
For making quick render make sure you have same settings as in figure 6. and 7. and just press render. After making quick render you should see something like Fig. 1.
Now when we’re sure it is working the way want it to work, can proceed to next stage:
The Animation
- 1) In “Render Options” under “Anim” button set end value for something like 50 frames. It will give you an animation 2 seconds long. (You have to remember that blender will have to calculate radiodiosity for every frame so the more “Iterations” you have, the longer render time you will get.
In “Format Panel” under “Rendering Options” choose eg. AVI Codec (If you have codec installed)
Note
Make sure to choose AVI in "Format Panel" to render animation. Otherwise you will get sequence of JPG's
|
- 2) Select one of your “Emitter” press I to invoke “Insert Key” pop-menu and select “Loc”. Press ↑ to skip forward by 10 frames and move you object into different position in 3d environment (within bounds of your scene). Press “I” and select “Loc” again.. Having 50 frames at your disposal you can repeat that operation 4 times, every time changing position of your "Emitter"
- 3) Apply above to the other “Emitter” or leave it as is.
- 4) When you are finish, press “ANIM” to start rendering your new animation. The newly rendered animation will be stored in your “/tmp\” folder, default location on “c:\ drive”.
- 5) To play your animation, press "PLAY" button located under "ANIM" button in "Anim" panel in "Scene" options.
That concludes this tutorial.