Welcome to Part 3 of our 4-part WorldBuilder Basics tutorial.
In this tutorial, we will continue building the scene we started in Parts 1 and 2. We will add water, and set the placing conditions for the material and vegetation so that they will be consistent with the water level.
We will use OpenGL rendering mode to speed up moving the water object around. For even faster rendering, we will hide all the areas containing grass and vegetation.
NOTE: The tutorial is designed to be used with the downloadable demo version of WorldBuilder 4. Some features such as scene and rendered image saving are disabled in this version. In order to follow along with the tutorial example scene files, each of the tutorial’s four parts are available for download.
Select Areas 2 through 4 by Ctrl+clicking them. Also you can Shift+click for a continuous selection, just as you might do in Windows Explorer.
Right-click on the selection. It will bring up a pop-up menu with common operations that are applicable to all objects in the selection.
Select Hide.
When hidden, objects appear grayed out in the Scene Tree.
Render the scene with OpenGL rendering.
OpenGL mode is very convenient for many editing tasks, like adjusting the location of objects. In this mode you can see just enough of the scene even for very precise tuning.
Use the Creation Toolbar to create a Lake object.
It is a simple square water surface with reflection, transparency and ripples. Immediately, you will see the blue surface, which represents the Lake object.
We want to move the water slightly lower.
Select the Move tool.
Refresher: You can do this by using the top toolbar or by right-clicking in the Viewport which brings up a pop-up menu.
Moving objects with the manipulator gives real-time feedback on the location of the water surface. You can zoom into the window to obtain greater precision while moving the Lake object.
If dragging with the Manipulator does not allow you to move the object with enough precision, then you can always enter a numerical value for the object’s Move property. For our scene, we’re using a value of approximately -4.31 (meters).
Once we’ve moved the Lake object downward, the camera Viewport automatically re-renders in OpenGL mode.
After we are satisfied with the location of the Lake object, we can render it in a higher quality.
Before doing that, though, we need to perform some tweaking of the default water parameters.
In the Scene Tree, select and expand the Lake object (Water0) so that its default area is visible. Click on the area to access its properties in the Properties Tree.
For Generate Map, set Every Frame as the parameter. If we plan to tweak the scene or animate the camera, we need the reflection rendered in every frame.
Since we do not want to spend too much time re-rendering a high quality surface reflection, let’s set a Quality value of 25 percent. This will make the reflective water surface render much faster.
(Make a note of the altitude at which we placed the Lake object.
We will use this number later.)
Let’s render our scene in Production mode.
Let’s examine and adjust the Phong Photometry parameters for our water surface.
Let’s set the Color/Depth values.
Deep at defines the depth to which the water retains transparency. If this value is set too high, then the water may become almost entirely transparent, so we need to choose a value smaller than the default value.
Now we will add a ‘sandy’ material along the water to give greater definition to the shoreline.
Render the scene with Preview rendering. To add another material into Area 1 (full), select it and right-click on its properties, and then select Add.
Select Material in Area from the Texturing group and click OK. The material is initially created empty and will render itself black. We can add different components called Shaders to make the material look realistic.
Right-click Material in Area: ON and select Add. The Add command is context sensitive. Here it displays all of the available shaders that we can put into the material. Shaders are arranged into groups for easier navigation in the extensive list. We need Constant Color from the Texture/Color group. Click on Constant Color to select it.
Don’t press OK yet.
Ctrl+click on another item – Phong Photometry, in the Photometry/Reflection group. It will allow you to add two shaders simultaneously to the material. Now press OK.
Here you see the two new components in the material that we are building.
Material components (shaders) have to work together to calculate the correct color of the object. While each of the shaders may create a very simple effect, their combination can create infinite variations of the object’s color.
The Constant Color shader defines a generic solid color for the object. Without Phong Photometry it would look flat since it is not sensitive to the direction, color and intensity of light.
Pick a sand-like color here. This will define the base color of the sand. Phong Photometry allows you to define how the surface appearance is affected by the lighting. It needs some base color, which is usually provided by Constant Color Shader or Texture Shader. Photometry does not produce anything useful without a base color.
Now let’s select Placing Conditions. This is an invaluably useful common property that allows you to combine overlapping shaders in a realistic manner.
First, let’s disable the Ignore All control (otherwise Placing Conditions will have no effect, and the most recently added material will obscure the underlying one).
Next, let’s try an initial Altitude Range of 20 for Max height, and 10 for Min Height. The sandy material should appear within as a narrow horizontal band, overlapping the underlying rocks18 material that we applied in Part 1 of the tutorial.
To speed our render a little more, right-click on Aspen 1 in the Scene Tree and Hide it.
When we render our scene, we can see that our Altitude Range places the sandy material too high on our landscape. We need to lower our range so that it falls between Aspen 1 (note the shadow map which is still rendering even though the tree is hidden) and somewhere below the waterline.
Let’s re-apply our Altitude Range values as -2 for Max height and -6 for Min Height.
Re-render to check the results.
That’s better!
Notice that the boundary line between our sandy material and rock18 is unnaturally sharp. We can adjust this using the Area Feathering parameters.
The Area feathering property allows us to adjust the softness/hardness of the transition between areas, and between different materials inside one single area.
Selecting the area in the Properties Tree can access this property; the Area Feathering Properties Page will appear below.
The boundary in our case is defined by the Soft Placing Conditions in Area by: Altitude parameter. We’ll need to change it the from the default value of 0.1 to 0.5.
Re-render the scene to view the adjustment.
The new rendering shows an improved boundary. The transition between materials is now soft enough, but it is also unnaturally straight. We can address this by adding a Fractalizer.
Right-click on Area 1 (full) and select Add from its pop-up menu.
Since the boundary between Material in Area (our sand) and rocks18 is based on the altitude difference between them, we should pick Altitude Fractalizer from the three Fractalizers available.
The Amplitude parameter tells us how much the true altitude will be disturbed when the object is rendered.
A setting of 0.7 should be a good initial value for Fractalizer Amplitude.
The new boundary has been greatly improved. Further tweaking of the boundary can be done with two other parameters – Fragmentation and Details.
Smaller values for Boundary Fragmentation stretch the pattern, and higher values tile the pattern tighter.
Practical values for the Details are under 5. Details set too high can lead to flickering in animations.
Now with the boundary in between the sandy and the rocky material finalized, we have to bring grass and other vegetation back to the image.
Let’s use Incremental Design.
Refresher: Incremental design allows you to keep the current rendered image and hides previously rendered objects automatically. When you render the scene next time, only newly added objects will be rendered. This speeds up the design process dramatically.
In the Scene Tree, unhide the three Areas under Landscape0, as well as Aspen 1 and the AltostratusClouds layer under CompoundSky.
Render again in Production mode.
We can now see our integrated materials, along with our vegetation and our water object.
This concludes Part 3 of our WorldBuilder Basics tutorial.
In Part 3 of our WorldBuilder Basics tutorial, we:
Note: If you are using WorldBuilder Demo, then you will not be able to Save your work up to this point, because that feature is disabled in this version of the software.
You can, however, refer to the downloadable example scene files for this part of the tutorial. All of the objects and property settings featured in this tutorial are present in the files.
Please proceed to Part 4 of the WorldBuilder Basics tutorial.