Thursday, March 15, 2007

Second Life Terraforming Tools

When I first terraformed the Nowhere sim, I used Photoshop to finesse some maps of the island from Lost into a terrain file compatible with Second Life. In the process, I discovered two things. The first is that the Lost island is much too big to properly fit inside in a single SL region, and second, that editing terrain files in Photoshop is a bit of a hassle. As part of my efforts, I used a very nice tool called Backhoe to visualize the terrain before uploading it into Second Life. Here's a screen shot of the island in Backhoe:

Nowhere Isle v1 - South

When I decided to re-landscape the island to make it more amenable for residential rental, I took the opportunity to revisit the process of terrain file editing and take a second look at Backhoe as well as some of the other tools.

Just to recap for those who aren't familiar with terrain files in Second Life, the landscape of a SL sim region can be downloaded or uploaded as something called a heightmap. The heightmap is an array (think spreadsheet) of 256 rows by 256 columns, each cell of which can contain a value between 0 and 255, where 0 is the lowest point and 255 the highest. For the purpose of editing this file, it's typically imported and exported from Photoshop as a "raw" file. Photoshop treats this as a 256 x 256 pixel greyscale image, where a black pixel represents a land height of 0 and a white pixel represents a height of 255. There is another part of the file where a scaling factor is stored to translate the height value into meters.

Typically, people use a combination of in-world editing tools and Photoshop to create new island terrains. Photoshop makes it easy to create mountains and lakes very quickly, and the different blur filters can produce very nice smooth terrains. However, it still is often necessary to use the in-world tools to tweak the landscape and also because you can get some unattractive results, particularly around coastlines, when you edit the heightmap file in Photoshop because the terrain LOD (level of detail) algorithm of the SL client doesn't like some of the slopes of the land created in PS .

By Googling for "heightmap editor" and "terrain editing" I was able to find a number of other interesting tools out there that look very promising for editing heightmaps usable with Second Life. I've detailed my preliminary findings below.

Keep in mind, before you expect to have productive results with any editing of terrain files, you really need to fully understand the KB article:
http://secondlife.com/knowledgebase/article.php?id=288
(by the way, the description of how parcels are encoded does *not* work)

Second Life Specific

These will directly open an unmodified SL RAW terrain file:

Backhoe
http://www.notabene-sl.com/Backhoe/
Mac only, open source, beautiful 3D visualizing, editing tools are ok but somewhat coarse grained, I tend to use this side by side with Photoshop to see what changes I make in 2d effect the 3d view.

Here's a screenshot of my redesign for Nowhere island viewed in Backhoe:

Nowhere Isle v2 in Backhoe

Bailiwick
http://www.spinmass.com/bailiwick/
Windows only, nice for visualizing the coastlines, good for getting the terrain layer in and out of the raw file for editing with something other than Photoshop CS, for example Paintshop Pro, Photoshop Elements

Second Life Compatible

These should work with an SL RAW file, although some finessing of the file will likely be required - specifically, the SL raw file contains 13 256x256 8-bit interleaved channels, only the first of which contains the terrain heightmap. As a consequence, if the editor wasn't designed with SL files in mind, it sees the extra data and chokes. The workaround is to open the SL raw file in PS, copy the heightmap channel into a new 256x256 8-bit greyscale image and save that as a new single channel raw file. Once you've completed your editing of the single channel raw file, you can use PS to copy it back into the SL terrain file. Alternately, you can use Backhoe or Baliwick to import and export the terrain channel, and I'm working on a simple Java app for doing this as well.

Height Map Editor
http://sourceforge.net/projects/hme
Windows and Linux, although open source, so maybe a Mac version could be compiled

Freeworld3d
http://www.freeworld3d.org/
Windows only, I had high hopes for this one, but couldn't get it to run under Vista. Should work with SL files and I've seen a couple of positive comments about it on various game developer forums.

L3DT
http://www.bundysoft.com/L3DT/
Windows and Linux, looks very powerful, didn't spend too much time with it

Terragen
http://www.planetside.co.uk/terragen/
Windows and Mac, this one wants a 257x257 heightmap file, so I had to extract the heightmap channel in PS, resize the canvas to 257x257, and resave as a new RAW file to get it to open. Looks like it has potential.

Leveller
http://www.daylongraphics.com/produ...eller/index.htm
Windows only, looks interesting, haven't really tried it yet

3 comments:

Indigo Mertel said...

Nice article, Emma. Very interesting. Thank you!

Jim said...
This post has been removed by the author.
Freeballer said...

hello. I find the post very interesting. I wanted to find some good solutions to terraform an opensim besides tools available.. I was wondering also, if I could persuade you to give me access to the "lost island" raw file? I would love to recreate part of it on a new simulator