Using Bitmap Heightfields To Shape TerrainsOne of the very first things I did when I got Bryce 1 was to put a greyscale map of my own into the terrain editor. With MojoWorld, however, terrains are procedurally created with various fractal functions and there doesn't seem to be a way to make a terrain to exact specifications. The big advantage of that is the infinite level of detail possible, which is something you just cannot get with bitmap heighfield data. But what can be done is to use a bitmap heightfield in combination with MojoWorld's fractal functions to get the best of both worlds - terrain shaped to specifications _with_ MojoWorld's infinite detail. This tutorial covers how to use bitmap heighfields to drive terrain forms.
To place a terrain form of a specific shape in a specific location on the planet, a parameter bomb must be used. Bitmaps can be used without using parameter bombs, but there is little control over where on the planet the bitmap will end up (the origin point of the bitmap is centered on either pole and one pole will show the bitmap as a mirror image). Either a round or square parameter bomb (also refered to as a 'helper object') can be used, but since most bitmaps are rectilinear in nature, the square ones will fit most bitmaps better than the round ones. Getting Started Start by creating or opening a planet on which the specific bitmap-driven terrain is to be placed. For the purposes of this tutorial, it's best to use a planet that has a single leaf to drive the texture of the terrain. Some work-arounds will be covered when we get to how the bitmap is combined with the procedural texture. Make a note of the name of the terrain texture. If it doesn't have an obvious name, re-name it to something which will stand out in the list of other textures in the world file.
Helper Hot Buttons Once the helper object has been placed, the hot buttons on the left will change to parameter bomb editing tools. They look very much like the global parameters hot buttons. The first one to be concerned about is the very top one, which is the parameter bomb editor. It's a good idea to open this now and give the helper object a name. The second hot button to be concerned with is the circle-t below the mountain icon. This one edits the terrain inside of the helper object. Click that circle-t to open the texture editor for the terrain inside the helper. An empty texture editor will open. If the texture inside of the helper was driven solely by the bitmap, it would end up at 0 altitude, regardless of whether that was far below or far above the current terrain on the rest of the planet. Also, it would only have the bitmap to shape the terrain, which would not have MojoWorld's infinite level of detail. What needs to be done is to combine the existing terrain texture with the bitmap texture. Clone the Planet Terrain Inside The Helper Use the ddlb in the upper left corner of the terrain editor to select the texture that's currently applied to the planet terrain. (That's why we gave it an obvious name, to make it easy to find for this step.) Use the menu icon and select "clone texture". Enable the second texture leaf (remember that we're using a planet which has only one leaf driving the terrain texture for now). Configure the Bitmap Texture Leaf Open the kickstand and from bottom to top, configure it as follows:
|
|
Finishing Touches I say "nearly" because there's still one more really important bit to attend to before the bitmap will appear as part of the terrain. That's the blend mode combining the two leaves. By default, it's set to "maximum". Click the 'b' to open the blend mode between the two leaves. Change it from "maximum" to "add". This will add the bitmap terrain to the existing terrain texture, creating a raised area in the shape of the bitmap. Try using "subtract" to create a valley shaped like the bitmap. Still not quite done yet, there's one final touch to tweak in the parameter bomb editor, the Response Curve. The default Response Curve will make the bitmap "full strength" at the center of the helper object, tapering off to zero effect at the edges. To create the effect in the image at the top of this tutorial, I used the curve shown in the following curve editor:
Some Final Notes - Bitmaps without Helpers A bitmap can be placed without using a parameter bomb, but that has some limitations. The origin point of the bitmap will be at both poles of the planet. One pole will show the bitmap correctly, the other will show a mirror image. If the offset is used to move the bitmap, it will slightly distort near the equator, as well as being mirrored at the equator. Scaling is also a bit of a challenge. Without a helper object to provide the scaling, one must use trial and error to specify a scale that works. Values are in meters. For my Planet With A Virus, I used a value of 360,000 meters in the two bitmap scale parameter fields. Adding Bitmap Heightfields to Planets with Complex Terrain Textures To add a bitmap heightfield to a planet that has a terrain texture which uses more than one leaf, the trick is to convert the terrain texture to a function first. Open the Terrain Editor (the mountain icon in the Global Parameters, note that's _not_ the one in the set of hot buttons for a helper object, but the hot buttons for the planet!). Change the Mountain Height parameter from texture to function. Open the function graph editor. Select the node immediately above the brown root note. Give this node an obvious name, something like "THIS ONE". Exit the function graph editor. Select the helper object. Open the terrain texture editor for the terrain inside the helper. An empty texture editor will open. Use the menu to create a New texture. Enable the first leaf. Change the first leaf to a function graph. Open the function graph editor. Delete all the nodes except for the brown root node. Use the menu and select "Import Node From Other Graph". In the dialog that appears, choose the node which you named from the main terrain function. When the node tree appears, drag the output of the named node to the input of the brown root node. Close the function graph editor. Enable the second leaf of the texture and use that one for the bitmap.
|