Friday, August 17, 2007

Terrain Sculptor - Maps Sims and Creates Sculpties

Terrain Sculptor is a tool I've made which maps the terrain of Second Life sims and generates sculpty textures for them. It's written in C# and runs on .NET 2.0. The tool uses the libsecondlife client to log in an avatar to retrieve the terrain data. It also downloads the world-map image of a sim so that it can be used as a texture. A "decal" version can be generated which includes a border to align better with the sculpty. The elevation data can be saved seperately as a binary dump or as a grayscale image. The process typically takes only a few seconds after logging in and the files are saved automatically.



Visit Terrain Sculptor Page

The technique for retrieving terrain data using libsl is taken from the heightmap example in the libsecondlife source code. I used the technique for making sculpties from heightmaps explained by Pamagester Darracq and LaeMi Qian in the SL Wiki.

I've tried to make the application friendly, but it's not a shrink wrapped product. The source is open so people can contribute improvements if they like. Sooner or later I'll add something to generate decent land textures for the sims instead of using the world map image with builds on it (I've done something similar in the past). An obvious missing feature is the ability to generate a grid of sculpty textures instead of one for a sim to achieve a higher resolution. In theory this shouldn't be too hard but I haven't looked into it in detail. I've found that the map decals align better with the sculpty if you offset the decal texture by .015 for some reason.

19 comments:

Unknown said...

Looks very cool. If you use the map protocol in Second Life instead of fetching from the web you can get map tiles with prims or no prims on them (terrain only), if I have time I'll try to submit a patch that optionally fetches the terrain-only tiles.

Cadroe said...

Using the in-world map images without prims would be great, john. If you point me in the right direction, I could even try doing it myself. I saw that a GridRegion has a MapImageID and I tried retrieving it with the regular image asset system but it didn't work, so I went with the web images cause it was simple. Either way, thanks.

Unknown said...

DeltaCzuk's SLeek application (http://delta.slinked.net/second-life/sleek/) fetches map images on the search tab, you can browse around in his code to find out exactly how to do it. I think SLeek might only fetch maps with prims on them but there is a flag you can set in the tile request to get the LLUUIDs of plain images. The trick to fetching the images is probably requesting them as an asset download instead of an image download, and possibly setting the request type to something other then Texture. The exact answer is somewhere in that code though.

Unknown said...

Since I'm too lazy to look though the source code >_>. Could you MAke a Version for the Teen grid? I think the only difference is you need to fetch the image from http://tslurl.com/

- Cory

Cadroe said...

erik - Have you tried the app on the teen grid at all? Before I look into changing the URL, I'd want to know it worked on the teen grid, and I can't test it myself (I'm old). I guess the main issue is whether you can log in to the teen grid.

Unknown said...

I have logged into second life through your application. It works,
Aside from the aerial graphic of the sim.. http://www.tslurl.com might fix the problem.

- Erik

galah3 said...

Fantastic application. I had made the sim using a heightmap so the sculptie is the real terrain of part of the Macedon Ranges. I then overlaid a geology and contour map and a second semi-transparent layer showing the roadnetwork. It is very neat app. Thanks a lot Brian Quinn

Cadroe said...

That sounds cool, galah3. Do you think you could post a link to a picture of your final result? I'm glad you found the tool useful.

Unknown said...

I was wondering if you could put up a place for us to list regions we've already uploaded? This way we could share our already uploaded maps.

iliveisl said...

oh very cool. bummer for Emma, i bought two of her like $1,500 one time use mappers. but it is the same as this to the end user.

thanks!

Phil said...

Just to let you know, Ive run this successfully on Ubuntu Linux using WINE

Unknown said...

this tool works mostly ok but I am getting some errors when logging on and when teleporting to new location.

It also doesn't seem to create a web map..

This happens for some regions but others work ok

Is there any more info that will give directory and file setup on this?

Unknown said...

this tool works mostly ok but I am getting some errors when logging on and when teleporting to new location.

It also doesn't seem to create a web map..

This happens for some regions but others work ok

Is there any more info that will give directory and file setup on this?

Metacowboy said...

Great tool konw it for quie a while ,and now back.What i tray is to get it work with Open Sim too .Woud be great if ti could suport the Login Url as a PArameter to add same like on the Second life client if he have to login somewhere else .
Hope this great tool stays alive

Niya said...

Wow! Sounds stunning. Thanks.

Regards,
photoshop services

Dragonlady Boa said...

had some problems with this. it lost a LOT of definintion in my islands that I couldn;'t figure out why. but other than that, if I can get the sculpts to look like my terrains, it would be asotund\ingly perfect to use> And it loghs into other grids just fine using the login URI

Navya said...

Your creation was quite nice.Can we use this tool for Aerial Triangulation in photogrammetry. Anyway keep posting with new details. thanks for sharing.
regards
digital elevation modeling

Unknown said...

Its cool.....Thanks for sharing

---------------------------
www.deepetch.com
clipping path, Masking, Retouch, color correction etc...

Clarity Adept said...

Do you remember when you were a baby and your parents or grandparents would give you a gift? Even if it was the best gift in the world, it wasn’t Christmas or a birthday if it was just one gift.
Shuvo,
Clipping Path