Monday, January 12, 2009

Terrain Sculptor v1.1.2 - Uses libsl 0.5.0

I've updated Terrain Sculptor to use the latest stable release of libsecondlife, 0.5.0. Terrain Sculptor 1.1.2 is a .NET 2.0 application which uses a libsecondlife bot (client proxy) to retrieve and store the terrain data for Second Life sims. Users can teleport between sims and maneuver the avatar remotely. Terrain is displayed as a colored height map, and can be saved locally as raw elevation data, grayscale heightmaps, or SL sculpty maps. The sculpty maps can be uploaded to SL to create in-world models of sims.



Visit Terrain Sculptor Page

Thursday, June 19, 2008

Export Sculpties from Bailiwick 1.2 Beta

I've added the ability to export sculpties of the terrain in raw files through Bailiwick 1.2 beta. This is the only new feature in 1.2 beta, but things were shifted around internally so there may be new bugs I haven't caught yet. You can download 1.2 from the Bailiwick page.

To export a sculpty, simply choose Export->Sculpty from the File menu. If the terrain will not fit within a 1 to 1 scale in the sculpty, it will automatically append the scale to the file name after an S. For instance, if the height scale of the terrain file is 2 (heights can range from 0 to 512), then the file name would end in "S2". This means, you would then want your sculpty prim to be twice as high as it is wide (e.g. 1x1x2 meters). Bailiwick exports planar textures but planar mapping for a sculpty prim can only be selected through a script. Below is a script to change the type to planar.

By the way, Second Life currently ignores the parcels defined in a sim .raw file when you upload the file to SL. This is a Second Life issue, not a Bailiwick issue.

Here is a script to change the sculpty type to planar. First drag the sculpty texture into the prim's inventory (it should be the only texture). Then place this script into the prim's inventory. It will automatically set the sculpty texture to the texture in the inventory, set the sculpty type to planar, and then delete itself.


default
{
state_entry()
{
string theKey = "";
string theName = llGetInventoryName(INVENTORY_TEXTURE, 0);
if (theName != "")
theKey = llGetInventoryKey(theName);
if (theKey == "")
{
llOwnerSay("No sculpty texture found");
}
else
{
llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_SCULPT,
theKey, PRIM_SCULPT_TYPE_PLANE]);
llOwnerSay("Sculpty texture set to: " + theName);
}
llRemoveInventory(llGetScriptName());
}
}

Sunday, January 06, 2008

Terrain Sculptor Version 1.1.1 - Addresses Login Error

Some users with some accounts get this error message when logging in through Terrain Sculptor 1.1: "Error retrieving the login response from the server". This is caused by an issue in libsl. It doesn't effect every account; it seems to effect avatars with substantial inventories. If you are getting this error using Terrain Sculptor 1.1, one option is simply to try logging in with an alt with a small inventory. I've been using the tool with an alt without any problems, even though my main account gets the login error.

Another option is version 1.1.1 of Terrain Sculptor. The login issue has been fixed in libsl by a new login system, but the new system is not part of an official release yet. Version 1.1.1 of Terrain Sculptor uses the development version of libsl to avoid the issue. In theory the development version is not reliable, but I haven't run into any problems effecting Terrain Sculptor yet. One difference with the new version is that logins and teleports often seem slower.

As soon as an official release of libsl with the login fix exists, I'll be updating Sculptor to use it.

Visit Terrain Sculptor Page

Saturday, January 05, 2008

Terrain Sculptor Version 1.1

Terrain Sculptor version 1.1 is now available. Terrain Sculptor is an open source program I've written which uses a libsl bot to automatically map sims and generates sculpty textures of their terrain. The key updates in this version are planar sculpties and avatar movement. (v1.0 Blog Entry)

1.0 used the default spherical projection for sculpties, which meant the sides wrapped under and joined. 1.1 uses the planar type, which produces a sculpty much like an actual sim in SL. Unfortunately a script is necessary to change the sculpty type to planar, but one is included in the README (and see below). The "decal" versions of the web map image are no longer generated because they are not neeeded with a planar sculpty.

Second Life has gotten more clever about recognizing when terrain is visible to an avatar, and it doesn't send terrain data that the client doesn't need to render. So I've added the ability to move the avatar around to force all the terrain into view. The avatar's position is updated automatically on the web map image of the sim.

Download the application.

Download the source code and Visual Studio project files.


Here is the script to change the sculpty type to planar. I thought I'd post it here because people might find it convenient for setting planar sculpties in general. First drag the sculpty texture into the prim's inventory (it should be the only texture there). Then place this script into the prim's inventory. It will automatically set the sculpty texture to the texture in the inventory, set the sculpty type to planar, and then delete itself.


default
{
state_entry()
{
string theKey = "";
string theName = llGetInventoryName(INVENTORY_TEXTURE, 0);
if (theName != "")
theKey = llGetInventoryKey(theName);
if (theKey == "")
{
llOwnerSay("No sculpty texture found");
}
else
{
llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_SCULPT,
theKey, PRIM_SCULPT_TYPE_PLANE]);
llOwnerSay("Sculpty texture set to: " + theName);
}
llRemoveInventory(llGetScriptName());
}
}