Cross-region terrain making with L3DT

This tutorial has been put together from several sources on the web it is aimed at region operators who want to make detailed cross region terrains quickly and easily.

It describes the generation of the terrain files needed to seamlessly fill a 2x3 region. Obviously you can adapt it to fit your specific requirements. Designing a terrain map for a single region is relatively straightforward, however if you want your region to span across a number of regions we are faced with a few challenges. The main one is seam-matching, in other words getting the edge of one sim to match the edge of the next. The inbuilt terraforming tools are quite good in OpenSimulator, however they struggle on region boundaries - thus you end up with jagged edges where the regions meet.

To resolve this you need to create a larger terrain map and then split it into tiles.

There are two ways to do this, either draw it by hand using a graphics package, or use a terrain generating tool as a starting point. You can just use the terrain generator to get started quickly although in reality you will probably end up mixing both techniques. The manual technique has been well described by Fu Barr here: http://opensimulator.org/wiki/Terrain_making so i will focus on the easy way.

The principle reason why I wanted to start with a generated terrain is time - it takes a long time to draw your heightmap by hand so using the generator gives you a little kick start. It can also generate very realistic terrains which factor in things like age and erosion, in minutes rather than hours :)

Enjoy the tutorial and feel free to contribute/improve it -

Max Ping

The Objective
My objective is to create a 6 region heightmap based on the idea of an ancient volcanic archipelago. Thus I wanted a few islands with nice curved stretches of beach, some cliffs and drop offs and a higher regions. I already had in mind roughly what i wanted so that was a good start. I personally like islands because you get lots of terrain variation and the sunsets in OpenSim can be... well stunning :) It's very useful to have an idea in your mind of what you want before you start...

The Process:

I used the L3DT Editor from Bundysoft, the standard edition is free and it does a great job of creating heightmaps, it generates nice and realisitc terrain- you can also drop in and fly around the terrain in a 3d view which will be familiar to OpenSimmers and great for previewing before you upload the regions. You can get the product here:

http://www.bundysoft.com/L3DT/downloads/standard.php

Generating your terrain files:

The first thing YOU will generate is a design map - this is a "blocky" representation of the landmass which means you can rapidly paint your terrain before you actually apply the terrain calculation.

1. Click "New Map" and choose the "Design/inflate (blank)" Algorithm [Next]

2. My desired region size is 2x3, which is 512m x 768m. Note that I set the horizontal scale to 1m

3. I then used the default HF/DM ratio of 64 - thi s allows you to roughly plot your land mass [Next]

4. Now the fun begins :) Click the edit icon to bring up the Design map brush - there's lots you can do here - you just have to experiment with the brushes... Personally I found the easiest method was to simply ignore all the other brushes and focus on the altitude brush. The design map starts at sea level, so I set the altitude to "-20" then hit "apply to all". From this starting point I built my islands up from there, keeping the altitude in the range of -20 to 44m. Remember it can be pretty rough to begin with as you can gradually build up the terrain to suit your needs.

5. When you are happy with your design map, hit the calc button, choose Heightfield and watch l3DT do it's magic.

6. If it's not quite right, go back to your design map and tweak it, then hit calc again

7. After a bit of experimenting I found that the altitude tools on the designmap at 512x768 was a bit limited, so i decided to double the size of the map to give me more accuracy. I chose Operations > Design Map > Resize Design map, and increased the size to 1024x1536 which generated a new larger scale design map derived from the orginal - you can immediately see the improvement in accuracy. You could have started with the large scale initially, but by starting small you lets L3DT do much of the hard work for you. As you can see i then further tweaked the map to get the features i wanted.

Note I kept a border of -20m all around my terrain file, this was for ease of adding new regions later on

7. When you think you nearly have it thats a good time to head over into the 3d view. The system uses roughly the same movement controls as OS so it's pretty easy to get to grips with. Here you can "fine tune" your terrain features to get it closer to what you are looking for. Mouse Tools > Edit Active Map.

8. Close Sapphire and then use File > Export > Active map, use .PNG format - at this point I resized back to 512x768

5. Leave design map checked and hit OK

The first thing L3DT will generate is a design map - this is a blocky representation of what will be calcualted but it gives you a good idea of what the results will be before you actually apply the terrain calculation.

You may need to generate your initial terrain several times until you get something that looks close to what you desire, you can also generate several terrains and then mash them together later in a graphics package

Once you are happy, choose "CALC" and "Heightfield" - this then generates an accurate terrain file.

Then choose File > Export > Export Map > Heightfield and choose .PNG format ( way easier than messing around with RAW files) Now you can choose to simply cut this png, or in my case I offset the png so that I could position it better in the 9x9 grid (remeber why I chose edge wrapping?). Basically you double the canvas size, then copy the heightfile. Using the grids and snapping in your editor comes in very handy. I then use guides to show where the final cuts will be. Tio speed things up you can use "slice along guides" when you export to get the files you need.

Step 8. Making OpenSimulator use the new textures.

You need to now tell OpenSimulator to use the new terrain textures on your grid. For example: if you have 4 regions called Region1, Region2, Region3 and Region4... you need to add a section to your startup_commands.txt that looks like this:

change-region Region1 terrain load path_to_textures/terrain_for_region1.png change-region Region2 terrain load path_to_textures/terrain_for_region2.png change-region Region3 terrain load path_to_textures/terrain_for_region3.png change-region Region4 terrain load path_to_textures/terrain_for_region4.png

Step 9. Restart your OpenSimulator instance and fine-tune your terrain height.