World-Machine 2.2 Announced

Written May 13th, 2010
Categories: Blog
No Comments »

Hey all,

Looks like Stephen Schmitt released a new version of his incredible World-Machine. For those of you who’ve never used it, it’s a procedural terrain generation program that creates the most realistic effects in the industry. If you’re a reader of my blog, you’ve probably seen my World-Machine tutorials.

Drop by his site and take a look. If you use Terragen or Vue d’Esprit you won’t be disappointed.

World-Machine Colors and Mixing Tutorial

Written January 10th, 2009
Categories: Articles, Import / Export, Textures / Materials
1 Comment »

Welcome to another World-Machine 2 tutorial! There’s a lot to be excited about in this nifty program, and one of them is the new color maps feature.  If you don’t have a copy of World-Machine, you can always download the trial version.  You can now use the awesome selection tools in World Machine to mix and match color swatches (and even image maps) in order to create your own color overlays for terrains. We’ll be going over all the selection types in the context of mixing colors. Of course, you’re not limited in how you use these; feel free to use them to create new heightfields, mix heightfields together, and whatever else you can imagine.
World Machine Finished File Download

Here's my final rendered terrain.

So let’s get started. I’m going to be using the basic World-Machine 2 default file, and I assume you’ve played around with the program for a few sessions. The only change I made to the original scene was to make it a little larger.  You can see my world extents window by clicking here.  I’ve created a new group to help keep things organized for you. You don’t have to do that if you don’t want.

The colors generator in World-Machine.

To get started, create a few colors.  You can find the “Color Generator” device under the “Generator” tab or the “Bitmap” tab- depending on how you have things organized.  You can alternate between organization structures from the “Tools” tab, using the first two buttons.  The Color Generator looks like a rainbow blob in a green button.  Hover over buttons to see their names.

The default world is fine.

Let’s go ahead and insert some colors into the scene by selecting the “Color Generator” and clicking a few times in your node graph.  Double click on the node and assign each node a color.  I made two shades of green, a rock color, and an off-white snow color.

I’d like to mix up the two green colors in a creative way!  How about using the new “Convexity” selection device?  Ordinarily, we’d have to use ambient occlusion maps outside of World-Machine in order to generate a map like this.  But nothing compares to pre-calculation, so let’s bake it into the map.  You can find all the selection devices under the “Selector” tab.  This tab is only visible under the “Filter by Device Type” organization, so if you don’t see it, re-read the earlier note about filtering.

Convexity filter settings.

Note that the “Advanced Perlin” device is outputting to multiple devices.  I did this by clicking from “Select Convexity” to “Advanced Perlin”- not the other way around.  This allows you to hook several subsequent inputs into a single output.  Neat trick, huh?

Once your convexity properties are set, you can connect it into the 3rd input of a “Chooser” node.  This is the first button under the “Combiner” tab and it combines two devices based on a heightfield (rather than combining them procedurally).  Create this node in your graph, and connect your two colors to the first and second inputs of the “Chooser”.  Connect your convexity selector to the third input, and enjoy your results.

Occluded areas are now darker.

Now that we’ve set up the first combiner, I won’t bother with the repeated details.  Let’s explore the other selection devices and see how else we can blend our material.  Creative blending here will save you time and effort later on in 3dsMax, Terragen, or Vue d’Esprit.  You won’t need to generate procedural blending maps or masks because you’ll be able to render precomputed maps from World-Machine.

Select the “Select Slope” selector from the list, and connect it to the terrain generator as you did for the last selector.  Double-click on the selector.  In the following window, you’ll see two sliders that control the start and end of the slope selection.  Lower values mean shallower slopes, and higher values mean steeper slopes.  I’ve selected a moderate range of shallow slopes with a low falloff.  I want a little mixing between grass and rock, but not much.  This gentle blending has a great effect when rendered.

We can select a slope here.

Similar to the previous process, create a new “Chooser” node, and connect your rock color and the previous chooser as inputs.  You’ll then connect your new “Slope Selector” as the final input node (the mixer).

So far we’ve mixed two kinds of grass and a single rock color.  For the snow, let’s spice things up.  I want snow on the North-facing peaks above a certain elevation.  Sounds like a tall order, doesn’t it?  It’s not!  World-Machine allows you to combine mask maps in much the same way that it allows us to mix color maps.  We just have to combine a “Select Angle” device and a “Select Height” device such that we get a mask that fits our demands.  Try getting angular snow deposits in 3dsMax- fat chance.

We’ll start by creating the “Select Angle” device and attaching it to the “Advanced Perlin” heightfield generator.  I’ve included a screenshot of my settings below.

The select angle device in action.

We’ll also want the “Select Height” device, which allows us to set a minimum on how far down snow should go on the heightfield.  Just like the other filters, this needs to be connected to the heightfield generator as well.  Notice a similar interface to the “Select Slope” window.  We select a range using the two sliders- higher values indicate a higher elevation, while lower values indicate a lower elevation.

The select height device in action.

Finally, you’ll create a simple “Combiner” device.  Notice the difference between a combiner and a “Chooser”.  The combiner does not mix according to a map, but instead according to a formula.  Also, the combiner can be biased one way or another- an important quality that we’ll use.  Create your combiner and hook both selectors into it.  Double click on the combiner and set it to “Multiply” with full bias toward the height selector.

Combining two alpha maps as masks.

Only one small detail remains, although the next step should be pretty clear.  You’ll want to use this combined map as the choose-y map for another “Chooser” device.  This final “Chooser” will select between the snow and the grass/rock result we got from the last “Chooser” node.

The Overlay Device

The Overlay Device.

But how to overlay this awesome color map on our terrain?  For that you’ll want the “Overlay View” node, found in the “Output” tab.  The image is of a terrain with a colorful topography.  When you connect the resultant color map to the “Overlay Input” on the Overlay View (bottom input) and the original heightfield into the “Primary Input” on the Overlay View (top input), you’ll see the terrain displayed in the preview viewport using your awesome new color map!

When all is said and done, here’s what my node graph looks like.  Notice I bypassed the terrace node to keep the color map and the heightfield consistent.

Final node graph, minus terrace.

And that’s all there is to it!  I know it seems like a mess, but it’s actually pretty basic considering what we managed to pull off.  You can combine these in a wide variety of ways, including combining them into macros and merging many together to simplify the node graph.  Very complex materials are possible.

Consider experimenting with this technique to colorize sediment from the erosion device, or create sandy beaches with the “Coastal Erosion” device.  what makes this special and a world apart from doing it in 3dsMax or Maya is that you have a lot of information that you wouldn’t otherwise have.  Deposition maps, flow maps, wear maps and more would otherwise have been lost.

Here's my final rendered terrain.

An Introduction to World Machine

Written December 26th, 2008
Categories: Articles
4 comments

Hello, and welcome to my World-Machine 2 Primer.  During this tutorial, you’ll learn about how the World-Machine interface works, how you can manipulate the node-graph, and how you can export the resultant terrain to 3dsMax or Vue d’Esprit.  My goal is to get you up and running with the program as quickly as possible, so I’ll be showing you the very core fundamentals so that you can get output from the program.  More advanced features and techniques will be discussed in the next few sections of this primer.  If you don’t already have World-Machine, consider downloading the trial version so that you can follow along!

The World Machine Startup Screen

World-Machine Start Screen

The startup screen shows you the node graph; the diagram representation of how your terrain will be built.  The left group is the terrain creation group.  It contains a single terrain generator.  Notice beneath the node, it reads “Advanced Perlin”.  This means that this node is generating advanced Perlin noise.  Similarly, you’ll notice the other nodes read “Terrace” and “Height Output”.  The terrace filter creates a stair-stepped look in the terrain, while the height output node allows you to save the resultant terrain to a file.  You don’t have to put your nodes inside these groups; they’re optional.  They are included in the startup screen to help you visualize what’s going on in this simple graph.

Terrain Preview

World-Machine Terrain Preview

Notice on the top left of your screen, there’s a small terrain preview.  This shows you what your terrain looks like at a given part of the node graph.  Try selecting the “Advanced Perlin” node, and look at the preview.  Then select the “Terrace” node and notice the difference.  You should see something similar to the image on the right.  When you select a node, World-Machine displays the terrain you would get if you exported from that node in the graph.  This is very useful when you’re inserting new nodes into the graph to achieve certain effects.

This also has an impact on rendering or “building” your terrain.  Notice the green and yellow round buttons along the top toolbar.

Build Control

These control the build.

The green button, when clicked, builds all nodes, regardless of whether they’re before or after of the node you’ve selected.  The yellow button, however, builds only the nodes up to (and including) the node you currently have selected.  For example, if you select the “Advanced Perlin” node and click the yellow button, World-Machine will only render the heightfield generator, and ignore the “Terrace” node.  You’ll realize the value of this button when you start working with terrains so complex that they bog down your machine if you try to render the entire solution every time.

Let’s try that now.  Click the green button to render the entire hieghtfield.  You’ll notice a window appear that displays the build process.  This progress window is miles above what it used to be now that it includes a device breakdown.  When the build is complete, you can click “OK” to close the dialog.  If you find it annoying for smaller builds, you can choose to have it auto-hide in the dialog found in World Commands >> Preferences.

Now that the build is complete, you can preview the landscape in the 3d view!

Terrain Preview

See your terrain in the 3d preview.

Notice that instead of the node graph highlighted in the button bar, I now have the 3d view button highlighted.  Give it a click, and you’ll see the high resolution version of the terrain.  This view is useful for getting a bird’s eye view of your landscape.  Note that if you’ve made changes to your terrain after building, and then try to use this view, you’ll only get a super-low resolution preview image.

Controls

Key World-Machine Controls.

The 3d view is controlled by the left mouse button (rotate), the right mouse button (zoom), and the Up/Down/Left/Right arrows (move the camera on the X/Z plane).  You’ll want to inspect your landscape like this before exporting it to your favorite rendering program.

Alright!  We’ve covered the default scene, as well as building and viewing terrains.  Now we’ll have a quick look at how you can modify the terrain, and then we’ll export the scene.
First, let’s try editing an existing node.  Go back to the node graph by clicking on the graph icon in the button toolbar.  Double click on the “Terrace” node to open a dialog that will alter its properties.  I encourage you to play around with these settings.  For now, I’ll reduce “Terrace Layering” down to 1, which will drastically lower the number of ‘steps’ in the terrain.

Fewer Steps

There are fewer steps now.

I’ve included an example of what my terrain now looks like on the right.  It’s looking pretty good, but it’s still got that fresh terrain feel.  We need to weather the landscape procedurally in order to make it appear more natural.  In addition, we’ll want a more sweeping vista in order to get a good image after the terrain is rendered.

Let’s get to it. Go ahead and click on the “Natural” tab, and click on the very first button on the left called “Erosion”. Click next to the terrace to create a new “Erosion” node. You’ll notice that the color below the new node is red; that is because it is not connected to any other nodes, and will not be included next time you build the terrain. In order for it to have any effect, you’ll need to connect an input to the left side, and an output to the right side of the node.

To do this, just click on the little dark box on the right side of the “Terrace” node and then click on the lighter box on the left of the “Erosion” node. This will link the two together. Now do the same for the output of the Erosion node to the input of the “Height Output” node. It’ll look like the image below when you’re done.

Erosion

Erosion takes place after the terrace effect.

You should also notice a change in the preview on the upper right of the user interface. It looks like it’s undergoing a kind of melting process. That’s the erosion in action. Because the Erosion and Height Output nodes haven’t been built yet (and have a yellow status icon), you’ll want to click the green “Build All” button and have a look at the full-resolution terrain in the 3d view again. You’ll probably notice at this point that the build takes longer this time. That’s because erosion is an intense process and should be used carefully. If you use too many erosion nodes, you’ll start running into trouble!

I’m going to double click on my Erosion node, and, Under the “Presets” group, I’m going to select ‘A Flood of Slurry’. This step is, of course, optional.

The last step in this tutorial is to increase the size of the terrain and get a broader landscape represented. World-Machine is excellent, in part, because it can create vast landscapes that all adhere to the same procedural rules.

Click the world extents and resolution button.

The “World Extents and Resolution” button is pretty self explanatory. You use this dialogue to alter the resolution of the terrain and how large the single terrain should be when it’s built. If you are using the trial version of the software, you will be unable to select a terrain size larger than 512×512. However, if you’ve already bought the software, go ahead and use 1024×1024 for this demonstration. Under the “Render Extents” group, change the “Width” and “Height” parameters to read 16.00 km each. This will make World-Machine render a larger area over the same amount of pixels. Note that this reduces the resolution per square meter, so keep in mind how big you want your scene when finished.

One final note. The terrain altitude scaling in the upper right corner of the dialogue allows you to set the overall height of the terrain in the preview and 3d view. If you find your terrain looking vertically stretched or squashed, this is the parameter you’re looking for.

That said, let’s take one more full build using the green button, and this terrain should be ready for export.

In order to export the heightfield, we just have to set the right parameters in the “Height Output” node at the end of the graph. Double click on that last, red node, and pick a file format. Generally speaking, you’ll want to use TIFF unless you’re using Terragen in which case .ter is what you need. The other types are for convenience, and if they fit your situation (i.e. BMP/TGA for dame engines) feel free to select those. Once you’ve picked a format, click the “set” button at the top of the dialogue and select an output directory. This directory will be saved, and you can even elect to have World-Machine automatically save the map every time you build. This is a real timesaver!

Our final heightfield!

And that’s it! You now have the very basics you need to understand, manipulate, and save a terrain in World-Machine. There are tons of features to this program, and you’ll discover them most effectively through playing around with parameters and filters. I’ll be writing more tutorials in the future (and maybe even doing a Monday Movie) discussing techniques in World-Machine and how you can use this handy program to boost your pipeline.

World Machine 2 Review

Written December 13th, 2008
Categories: Blog
1 Comment »

Hey Everyone, I’ve been playing around with World-Machine 2 for the last few days, and I’m impressed with a lot of the changes that have been made. I had the pleasure of using the beta product, and when version 1 came out I bought it because it turned out to be a good pipeline addition. Now that version 2 has been released, I think it’s time to write a quick review!

The World Machine Node Graph

High Resolution, Photo-Realistic Terrain Generation

For those who have never heard of it, World-Machine is a program that lets you generate procedural terrains. Hand painting heightfields in Photoshop or a level editor (barf) is tedious and usually doesn’t yield realistic results. Several programs include some procedural landscape generation ability like Vue 7 Infinite, by e-on software, and Terragen, by Planetside. The goal of World-Machine is to build the heightfield and save it to a .ter (for terragen) or .tif (for anything else), and then import it when needed. All of the images in this post are from World-Machine; imagine how good these look when they’re rendered! World-Machine is, hands down, the most robust program for generating landscapes.

  • There are almost a dozen different noise generating algorithms to choose from. Most are exotic delicacies like Voronoi and custom generators, but there are several variations of classic Perlin, too.
  • There are now four different flavors of natural effects; thermal weathering, coastal erosion, regular erosion, and snow capping. Each of these gives you an unusual level of control (like changing how far sediment travels during erosion). Every other program I’ve ever used gives you one erosion tool and it’s usually ugly.
  • There are now native drawing tools for roads, rivers, and custom landscape features.
  • Native texture generation support has been added, too. Finally! We can use information from within World-Machine to generate textures based on height, slope, erosion deposition, and more.
  • There are now 5 view modes instead of 3. Device view (the graph editor), layout view, explorer view, 3d view, and 2d view.
  • There are several smaller UI changes like creating device groups and setting the water level.

Overall, I like World-Machine because many parts of the program have tooltips, popups, and text notes built in the UI. These are actually less obtrusive than you might think, and they keep you from having to refer to the documentation constantly. You can actually get pretty handy with World-Machine without ever opening the help file.

The World Machine Node Graph

The World Machine Node Graph

The recent upgrade brings in a completely new level of terrain control now that it allows you to paint heightfields directly in the program to tweak the landscape to your needs. It beats having to draw up a new map in Photoshop and bring it over via a custom input node. Unfortunately, while this is a welcome feature, the integration into the UI is a little awkward. You have to create a special input node and go to the layout view to draw your shapes. The available options are boxes, circles, polygons (like in Photoshop), and Bezier lines. That’s fair enough. But editing these shapes afterward is non-obvious, and the internal UI hints fall apart at about this point. This doesn’t make the feature entirely useless, but it does mean that you’ll have to wade through the help file looking for guidance. And no one likes that. I think version 3 of World-Machine will have this interface cleaned up and better understandable at a glance.

Am I complaining that an advanced feature of an advanced program is hard to use? Yes.  And, astonishingly, this is pretty much my only gripe.

For everything else, It’s really surprising how easy it is to accomplish some very difficult techniques. Node graphs are usually pretty scary, but Stephen has made this one pretty user friendly. The default document explains it all; create a noise generator, run it through a modifier node, and then dump it into an output node to save it to a file. From this basic idea, all awesome things are born.

Overall the learning curve for using World-Machine isn’t steep.

Concerning performance, I’m satisfied. Not blown away- but well satisfied. I know that generating heightfields is a tough process, and eroding them so gently is nothing short of a miracle. However, keep in mind that it’s a lot like rendering; it’s going to take 2 minutes for a medium heightfield and 10 minutes for a big one. The greater the complexity, the longer it takes.

Whining aside, at the end of the day what matters is preview performance, and World-Machine delivers on that front.

At about $60 USD this program’s well priced. It does one thing and does it very well making it (in my opinion) a bargain. There’s also a pro version that has multi-threading capabilities and a few other features that cater to high-end needs. I purchased the standard version since I don’t need to be on the bleeding edge and I still get to render 8192×8192 with the standard version.

I encourage you to check out the website and download the demo version. I verify that the install is clean, and easy to remove. The only limitation is that you cannot create terrains over 512×512 in size. While you could side-step this limitation by just creating tiled terrains and stitching them together in another program, it’s actually more of a pain in the ass than you’d think.

Go download the trial and test it out. You won’t be disappointed.

The World Machine Node Graph

Simply Amazing

Designed by Alejo "Mr. Bluesummers" Grigera"
©2012 MrBluesummers.com