In my previous post, I mentioned that I would be working on some new features this weekend, I’ve now finished the first of those – the new terrain brushes. As a proof of concept, I have developed a set of terraforming brushes simulating three different erosion techniques. Read on to learn about the brushes, and how to enable them.
To test these brushes, run the following command on your simulator console – please note that this is permanent until you disable it or restart the simulator.
script terrain newbrushes true
This will swap your default brushes, with the following new and exciting brushes.
- Thermal Erosion Brush (Replaces ‘REVERT’ tool) – my favourite. This acts as a sort of a cross between a smooth tool and a flatten tool, it creates very natural looking results if you drag it around a little. The effects of it are sort of similar to what would happen if you blew on a pile of very fine sand from directly above. Spikes and pinnacles get flattened out and their ‘mass’ gets transfered to neighbouring sections, creating a sort of plateau.
- Olsen Erosion (Replaces ‘FLATTEN’ tool) – this is a implementation of the oddlabs optimised hybrid erosion routine, described in the paper “Procedural Terrain Generation“. It will flatten flat areas, and sharpen sharp areas – think of it as a light touch you can apply over the top of a terrain to give it more contrast.
- Hydraulic Erosion (Replaces ‘SMOOTH’ tool) – this is a fairly powerful brush that needs a little more tweaking. The intended effect of this brush should be like pouring a bottle of water on a sandcastle, in that it will create a river system and drag sediment along with it as it flows.
I’m now going to look at implementing terrain effect filters that apply to an entire sim. Tom Coulthard, author of the GPL’d CAESAR package has been kind enough to give me permission to take a look over his code, and reimplement some of the high-end algorithms inside it for the purpose of developing OpenSim. (Thanks!)