Welcome to WorldBuilder 4!
This is Part 1 in a 4-part tutorial. In this guided tour, we will explore some of the basic features of the program. We’ll also build a simple scene.
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. Example scene files (for each of the tutorial’s four parts) are available for download.
Before we get started with our tutorial, let’s examine the primary elements of WorldBuilder’s user interface.
When you start WorldBuilder the default scene will load,
and your screen will look something like this:
The default scene contains the following elements:
The center area is your workspace, comprised of four Viewports. Although you can customize the configuration of these Viewports, the default setting provides three orthographic views (Top, Right and Front) plus one Perspective view. This is where you will place and manipulate the various elements in your scene.
Located on the top are the Main Toolbar and the Main Menu.
The Creation Toolbar is located at the left side of the workspace.
To the right is the Property Editor with three panels:
The topmost panel is the Scene Tree; in the middle is the Property Tree and at the bottom is the Property Page, where you can access and edit object parameters.
At the lower right are the View Tools (sometimes also referred to as the Navigation Bar). These tools include Pan, Arc Rotate, Zoom and several Zoom modifiers; they allow you to adjust your view of the WorldBuilder scene.
Let’s use one of the View Tools to widen our view of the scene. In the Scene Tree, click on the Landscape0 object so that it is highlighted in all of our viewports.
Now, in the View Tools section, click on the Zoom Extents All Selected button (or press Ctrl+End). This will cause the viewports to ‘auto-zoom’ to the selected object.
In this case, the Landscape is the largest object in our scene that is directly ‘selectable’, and our adjusted view will encompass a larger working area.
WorldBuilder comes with a number of libraries that contain different objects, scripts, prefabricated scenes and more. Libraries can be accessed via the library window or from the main menu.
Let’s start by opening the WorldBuilder Demo Library, and then selecting Skeletons. This set contains several pre-made groups of Skeleton Lines.
WorldBuilder uses Skeleton Lines to deform the terrain surface. You can visualize Skeleton Lines as flexible shapes over which a cloth is draped to simulate different landforms (the Landscape mesh object).
Let’s select rock03 from the Skeletons set, and drag it into the Scene Tree. To adjust its location, click on Move in the Main Toolbar.
As an alternative, you can right-click in the window (when the object is selected) to access the object’s pop-up menu. With common Manipulation modes such as Move, Scale and Rotate you can edit selected objects in any active viewport. Right-clicking allows one to easily switch between the different modes available. This way it is easy to manipulate the selected object in seconds.
Now let’s open a Camera view to see how the rock03 Skeleton Lines object is effecting our terrain. Double-click Camera01 in the Object Tree. The camera viewport opens to show the scene in Skeleton Rendering mode.
Let’s view it again in Wireframe rendering mode.
As we can see, our Landscape is being deformed pretty radically by our Skeleton Lines. Let’s diminish this effect by using the Scale tool on our Skeleton Lines object.
With rock03 selected, click on Scale in the Menu bar (or right-click on the object for its pull-down menu).
Drag downwards on the blue Z-Axis handle of the Scale manipulator, until the Skeleton Line’s height is approximately half its original size.
As an alternative, you can select the Manipulator: Scale property for rock03 (in the Property Tree).
Numerically, the Z scale for rock03 is 66.08.
Now that we’ve scaled our Skeleton Line object, we’ll need to update our Landscape to view the change.
Select Landscape0. and then click on Make Skin in Landscape Tools.
(this can be found in the Menu bar)
As we can see, our Landscape ‘snaps’ to the new scale of the Skeleton Line.
Let’s re-render our scene in OpenGL mode, so that we can see our landscape in a little more realistic light. While OpenGL is a good method for reviewing changes to our scene in a near real-time shaded view, it does not support materials or textures.
Next, we are going to open the materials set in our Library to place a new material on the terrain.
Let’s use rocks18.
In order to replace the default material in Area 1 (Full) of the Landscape object, you have to select Landscape0 in the Object Tree, and then click on the ‘+’ (expand tree) symbol to show the area. Click on the area to select it. Drag and drop rocks18 from the Library into Area 1 (Full) in the Property Tree. The cursor’s shape hints where you can drop the item.
Select the “old” material (Default material) and press the ‘Delete’ key to remove it.
You can explore the properties of the new material by expanding nodes in the Property Tree (clicking on the ‘+’ sign in front of the selected property will expand the nodes). You will get an idea of how the material will look in the scene before you render.
Now that we have the terrain covered with a new material, let’s render the camera viewport using Production rendering.
Notice that Production rendering mode takes longer to display the image. This is due to the higher degree of calculations that WorldBuilder must perform for this type of render. At this point in our tutorial it may not be slowing us down very much, but as we proceed and add more elements to our scene we’ll definitely observe increasing render times.
Fortunately, WorldBuilder incorporates a feature designed to minimize that render time: the Incremental Design tool.
Incremental Design Step Forward stores both image and Z-buffer data for re-use in subsequent renders. This is a little bit like substituting a snapshot of an object for the object itself. This way, the previously rendered objects don’t have to be re-rendered every time we want to view an adjustment to the scene. Elements that have already been rendered are then ‘hidden’ in the Scene Tree. We can ‘un-hide’ these elements individually by right-clicking on them in the Scene Tree, or once we’re satisfied with our final scene, we can click on Incremental Design Step Backward to show all objects and ‘flush’ the memory of all stored image and Z-buffer data.
First, we’ll need to move our camera a little closer. We’ll also need to view the changes interactively, so re-render the scene in OpenGL mode.
Click on Camera01 and, in the Top Viewport, move it toward the rocky, mountainous part of our landscape. As you move the camera, watch the Camera Viewport to get an idea of a good position. If you wish to duplicate the camera’s placement exactly, check the downloadable example file ‘pt1_end.awb’ for the camera’s Location & Direction property.
Here’s how our camera Viewport should look, after we’ve moved Camera01.
Ok, let’s try out Incremental Design.
To freeze the image and prevent the terrain and sky from rendering again, we press the Incremental Design Step Forward button. Now we have skeletons drawn over the previous image. The previous image is frozen in the window together with its Z-buffer (depth information).
Next we are going to plant some grass. First, select the Landscape0 object, and then click on the Create Area icon on the Main Toolbar. Note that the cursor shape has changed.
Now you can draw a new area in any viewport by the click-and-drag method. Alternatively, you can do it point by point, with a single click per point. In most cases, the Top Viewport is the best suited for creating areas. To finish drawing the area, right-click once. This will close off the new area.
You can now see the newly created area (Area 2) in the Scene Tree, as well as in the camera Viewport.
Now let’s go back to our Library and select the grass set. Drag greengrass01 onto Area 2 in the Properties Tree. Click on ‘+’ to expand the editable properties for greengrass01.
Click on the Blades property. We will make our grass taller than the default setting by changing the average height. Experiment with different settings, or use the settings shown in the examples shown.
In the Clumps property, apply the following settings:
n the Patches property, apply these parameters:
Let’s render again in Production mode to observe the adjustment to the grass.
Notice that this time, when you press the render button, the terrain and the sky are not re-rendered. Instead, only the grass is rendered over the terrain image. This happens because we used the Incremental Design feature. If you are satisfied with the appearance of the grass, then press the Incremental Design button again and add the newly created grass to the stored image data in memory.
Next, we will add a tree to the scene.
In the Library, select the trees set, and then drag Aspen 1 into the Top Viewport. You can drop it into the exact location where you want the tree to appear. Again, the change in the cursor shape gives you a hint on where you can place the selected item. Use the Move manipulator if your want to adjust the tree’s position.
The tree appears in the Viewport but is too small. We need to adjust its scale. From the Main Menu we select the Scaling manipulator. To achieve a uniform scale, click and drag inside the cyan square. By clicking-and-dragging on any of the axis you will get a non-uniform scaling. The schematic image of the tree gives you an idea of its size while you manipulate it.
If we re-render the camera viewport, then we will see the tree rendered using the Z-buffer with grass, landscape and sky saved into it. Again, only the tree was rendered. It took significantly less time than it otherwise would have taken, if we had not not used Incremental Design.
The tree does not yet cast a shadow on the landscape. To set up the shadow, we need to select the light source (Parallel_Light_0).
Now, in the Property Tree, right-click on the Shadow property and enable the shadow (the default setting is OFF). Note that you can have more than one shadow map per light source (we will not go into detail about this item at this stage).
Use the default settings in the Shadow’s
Properties Page.
We want to ‘see’ through our light source, in order to ‘aim’ it where we want the shadow to fall. Click on the Perspective Viewport to make it active (its border will turn blue). You may need to move or minimize the Camera01 Viewport to see all of the Perspective Viewport.
Now, in the Shadow’s Properties Page, click on the Shadow View in Current Viewport button. The Viewport is now named Parallel_Light_0_Shadow 1 (you can reset the Viewport by right-clicking on the caption at the upper left of the Viewport).
Use the View Tools to adjust what is visible in the Parallel_Light_0_Shadow 1 Viewport. If nothing is visible, click on the Zoom Extents All button (Ctrl+End) to reset the view. Now use Pan, Zoom and (if necessary) Arc Rotate to adjust the view.
We want to make the tree, which we just added to the scene, as large as possible within the Viewport. This will produce more detailed results in the shadow’s appearance.
NOTE: If later you change the tree location, you will have to return to this page, re-zoom in on the new location of the tree for shadow map generation and reset the Generate Map into First Frame. After generation of the shadow map (when set to First Frame) the setting goes to Never to avoid additional calculation time for shadow map generation with each render.
The default shadow options are fine for our tutorial. With the current settings, we will generate a shadow map only for the first frame of an animation or static picture. We’ll need to purge the stored Z-buffer data accumulated by the Incremental Design option, before we can re-render with the shadow. If you do not get rid of the z-buffers, the shadow will only be visible on the tree itself.
To empty the Z-buffers, click on the Incremental Design Step Backward button.
Next, we should exclude clouds from the shadow-casting objects.
The reason for excluding the casting of shadows from the clouds is simply because our shadow map covers only a small area around the tree.
The shadow from the clouds would not look natural (it would be clipped according to the selection rectangle you created when zooming in to the tree in the Shadow View option).
If you would like the clouds to be a part of the scene, then you can create an additional shadow map specially for the whole area, so you will not have any visible clipping.
Let’s re-render again, using the Production mode, to view the results. As we can see, our tree is now casting its shadow onto the ground.
Congratulations! You just completed your first WorldBuilder scene!
In Part 1 of our WorldBuilder Basics tutorial, we:
Note: If you are using WorldBuilder Demo, 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 2 of the WorldBuilder Basics tutorial.