Jump to content

Terraforming


You are about to reply to a thread that has been inactive for 1033 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Those of you who have mastered this skill (if any), how much alcohol did you consume during the process and how much of your sanity is left intact?

And why has this not been made easier? My god, it should be a public mental health hazard.

  • Like 5
  • Haha 1
Link to comment
Share on other sites

First pull the sliders far to the left and then play with the tool, so it doesn't work agressively.
Once you have the hang of it, it isn't that difficult, but as with almost everything you need practice.
So it is no 5 minute job, certainly not when inexperienced.

Top advisers: Pjotr Arsenjevitsj Smirnoff and Jack Daniels.

Edited by Sid Nagy
  • Like 2
  • Thanks 1
  • Haha 1
Link to comment
Share on other sites

15 minutes ago, Sid Nagy said:

First pull the sliders far to the left and then play with the tool, so it doesn't work agressively.
Once you have the hang of it, it isn't that difficult, but as with almost everything you need practice.
So it is no 5 minute job, certainly not when inexperienced.

Top advisers: Pjotr Arsenjevitsj Smirnoff and Jack Daniels.

I've been playing with it for years on and off and i'm currently attempting a beach. I forgot to pick up whiskey beforehand.

Link to comment
Share on other sites

I just need to smooth out this one little tiny area and I always end up moving the ground 50 yards around it (EXCEPT the spot I actually need smoothed out) too no matter how small I have both sliders set to. Its so effing stupid and annoying. Its like terraforming was never tested out before launch and if it was, the Lindens who tested it are certainly still in the mental ward.

Edited by Chris Nova
Link to comment
Share on other sites

As Sid says, work at first with a small, low power tool until you are comfortable with terraforming.  I generally start from a local high or low point and move gently out from there to sculpt the general shape of the land.  The effect of any tool is greatest at the center of its highlighted area but extends beyond the highlighted area, so you can do subtle terraforming by "painting" with the edges of the tool.  I use larger Smoothing and Flattening tools gently to get rid of spots that look a little too lumpy when I am finished with smaller tools.  If I really screw up, I can either revert the land or simply flatten it and start over.  

  • Like 2
Link to comment
Share on other sites

Torley Linden had (long ago) in his many YouTube tutorials- one for terraforming.  He also linked to an surl that had open public permission on terraforming rights. I will look & see if it’s still there.

& I never really mastered it.  I flattened several friends homesteads below ocean level & finally stopped lying to myself that I ‘new what I was doing.  
 

edit:  I don’t know if it still exists-

 

Edited by Pixie Kobichenko
Link to comment
Share on other sites

4 minutes ago, Pixie Kobichenko said:

Torley Linden had (long ago) in his many YouTube tutorials- one for terraforming.  He also linked to an surl that had open public permission on terraforming rights. I will look & see if it’s still there.

& I never really mastered it.  I flattened several friends homesteads below ocean level & finally stopped lying to myself that I ‘new what I was doing.  
 

edit:  I don’t know if it still exists-

 

Yeah, theres no video. :/

Link to comment
Share on other sites

37 minutes ago, Chris Nova said:

Those of you who have mastered this skill (if any), how much alcohol did you consume during the process and how much of your sanity is left intact?

And why has this not been made easier? My god, it should be a public mental health hazard.

I learned terraforming a couple of years ago when I started being a creator for Fantasy Gay Pride, with two full regions to experiment with over the course of a month. Up until then I'd never owned enough land to give it a real go. 

You're right though. Alcohol helps a lot :)

  • Haha 3
Link to comment
Share on other sites

42 minutes ago, Maitimo said:

I learned terraforming a couple of years ago when I started being a creator for Fantasy Gay Pride, with two full regions to experiment with over the course of a month. Up until then I'd never owned enough land to give it a real go. 

You're right though. Alcohol helps a lot :)

I knew someone had to 😂

  • Haha 1
Link to comment
Share on other sites

1 hour ago, Chris Nova said:

Those of you who have mastered this skill (if any), how much alcohol did you consume during the process and how much of your sanity is left intact?

And why has this not been made easier? My god, it should be a public mental health hazard.

You can thank Sims 2  for that. Same terrain tool slightly tweaked.

That's where I learned how to edit SL terrain. IN the Sims 2. lol

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, Chris Nova said:

I just need to smooth out this one little tiny area

This script may or may not help:

integer CHANNEL;
integer ACTION;
integer SIZE;

string MAIN_MENU_STRING;
string SIZE_MENU_STRING;

list MAIN_MENU = [ "Level", "Raise", "Lower", "Smooth", "Noise", "Revert", "Size", "Stop", "Help", "Ground"];
list SIZE_MENU = [ "Small (2x2)", "Medium (4x4)", "Large (8x8)", "Back" ];

default
{
state_entry()
{

llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <1, 0, 0>, 0.5, PRIM_SIZE, <3, 3, 0.5>]);
//ACTION = LAND_LEVEL;
//SIZE = LAND_SMALL_BRUSH;
MAIN_MENU_STRING = "Pick a tool or size of tool";
SIZE_MENU_STRING = "Pick size of tool or back to return";
CHANNEL = llFloor(llFrand(100000.0)) + 1000;
llListen(CHANNEL, "", NULL_KEY, "");
}

touch_start(integer num_detected)
{
if (llDetectedOwner(0) == llGetOwner())
{
llDialog(llDetectedKey(0), MAIN_MENU_STRING, MAIN_MENU, CHANNEL);
}
}

listen(integer CHANNEL, string name, key id, string message)
{
if (llListFindList(MAIN_MENU + SIZE_MENU, [message]) != -1) // verify dialog choice
{
if (message == "Size")
{
llDialog(id, SIZE_MENU_STRING, SIZE_MENU, CHANNEL);
}

if (message == "Help")
{
llGiveInventory(id, "Land Leveller");
}

if (message == "Level")
{
ACTION = LAND_LEVEL;
llSetTimerEvent(0.1);
}

if (message == "Raise")
{
ACTION = LAND_RAISE;
llSetTimerEvent(0.1);
}

if (message == "Lower")
{
ACTION = LAND_LOWER;
llSetTimerEvent(0.1);
}

if (message == "Smooth")
{
ACTION = LAND_SMOOTH;
llSetTimerEvent(0.1);
}

if (message == "Noise")
{
ACTION = LAND_NOISE;
llSetTimerEvent(0.1);
}

if (message == "Revert")
{
ACTION = LAND_REVERT;
llSetTimerEvent(0.1);
}

if (message == "Small (2x2)")
{
SIZE = LAND_SMALL_BRUSH;
llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <1, 0, 0>, 0.5, PRIM_SIZE, <3, 3, 0.5>]);
}

if (message == "Medium (4x4)")
{
SIZE = LAND_MEDIUM_BRUSH;
llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <0, 1, 0>, 0.5, PRIM_SIZE, <5, 5, 0.5>]);
}

if (message == "Large (8x8)")
{
SIZE = LAND_LARGE_BRUSH;
llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <0, 0, 1>, 0.5, PRIM_SIZE, <9, 9, 0.5>]);
}

if (message == "Stop")
{
llSetTimerEvent(0);
}

if (message == "Ground")
{
// THIS PORTION BY STRIFE ONIZUKA //
float height = llGround(ZERO_VECTOR);
vector pos = llGetPos();
integer count = llCeil(llFabs(height - pos.z) / 10.0);
pos.z = height;
//for(;count;--count)
llSetPos(pos);
// THANK YOU STRIFE! //
llSay(0, "Now at ground level");
ACTION = LAND_LEVEL;
llSetTimerEvent(0.1);
}
}
}

timer()
{
llModifyLand((integer)ACTION, (integer)SIZE);
llSetTimerEvent(0.1);
}
}

Put it in a prim, rex it on the spot you want to terraform and click on it. It's really only the "Flatten" and "Size" options in the menu that are useful but they can be very useful. What it does, is level the ground under the prim to exactly the same height as the prim is positioned at and it does this with less ditortion to the ground elsewhere than the manual edit tools do.

 

2 hours ago, Chris Nova said:

Its like terraforming was never tested out before launch and if it was, the Lindens who tested it are certainly still in the mental ward.

You're not far off. one of them ended up as a Vice President at Facebook. :P

But seriously, the original Linden World didn't have any land editing functions as such at all. What it did have, was explosives that made big holes in the ground. When LL decided to go public with their virtual world, they hastily modified that explosion function to work as a slightly more controlable ground editing tool and then they never got around to update it.

  • Like 1
Link to comment
Share on other sites

2 hours ago, ChinRey said:

This script may or may not help:


integer CHANNEL;
integer ACTION;
integer SIZE;

string MAIN_MENU_STRING;
string SIZE_MENU_STRING;

list MAIN_MENU = [ "Level", "Raise", "Lower", "Smooth", "Noise", "Revert", "Size", "Stop", "Help", "Ground"];
list SIZE_MENU = [ "Small (2x2)", "Medium (4x4)", "Large (8x8)", "Back" ];

default
{
state_entry()
{

llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <1, 0, 0>, 0.5, PRIM_SIZE, <3, 3, 0.5>]);
//ACTION = LAND_LEVEL;
//SIZE = LAND_SMALL_BRUSH;
MAIN_MENU_STRING = "Pick a tool or size of tool";
SIZE_MENU_STRING = "Pick size of tool or back to return";
CHANNEL = llFloor(llFrand(100000.0)) + 1000;
llListen(CHANNEL, "", NULL_KEY, "");
}

touch_start(integer num_detected)
{
if (llDetectedOwner(0) == llGetOwner())
{
llDialog(llDetectedKey(0), MAIN_MENU_STRING, MAIN_MENU, CHANNEL);
}
}

listen(integer CHANNEL, string name, key id, string message)
{
if (llListFindList(MAIN_MENU + SIZE_MENU, [message]) != -1) // verify dialog choice
{
if (message == "Size")
{
llDialog(id, SIZE_MENU_STRING, SIZE_MENU, CHANNEL);
}

if (message == "Help")
{
llGiveInventory(id, "Land Leveller");
}

if (message == "Level")
{
ACTION = LAND_LEVEL;
llSetTimerEvent(0.1);
}

if (message == "Raise")
{
ACTION = LAND_RAISE;
llSetTimerEvent(0.1);
}

if (message == "Lower")
{
ACTION = LAND_LOWER;
llSetTimerEvent(0.1);
}

if (message == "Smooth")
{
ACTION = LAND_SMOOTH;
llSetTimerEvent(0.1);
}

if (message == "Noise")
{
ACTION = LAND_NOISE;
llSetTimerEvent(0.1);
}

if (message == "Revert")
{
ACTION = LAND_REVERT;
llSetTimerEvent(0.1);
}

if (message == "Small (2x2)")
{
SIZE = LAND_SMALL_BRUSH;
llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <1, 0, 0>, 0.5, PRIM_SIZE, <3, 3, 0.5>]);
}

if (message == "Medium (4x4)")
{
SIZE = LAND_MEDIUM_BRUSH;
llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <0, 1, 0>, 0.5, PRIM_SIZE, <5, 5, 0.5>]);
}

if (message == "Large (8x8)")
{
SIZE = LAND_LARGE_BRUSH;
llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <0, 0, 1>, 0.5, PRIM_SIZE, <9, 9, 0.5>]);
}

if (message == "Stop")
{
llSetTimerEvent(0);
}

if (message == "Ground")
{
// THIS PORTION BY STRIFE ONIZUKA //
float height = llGround(ZERO_VECTOR);
vector pos = llGetPos();
integer count = llCeil(llFabs(height - pos.z) / 10.0);
pos.z = height;
//for(;count;--count)
llSetPos(pos);
// THANK YOU STRIFE! //
llSay(0, "Now at ground level");
ACTION = LAND_LEVEL;
llSetTimerEvent(0.1);
}
}
}

timer()
{
llModifyLand((integer)ACTION, (integer)SIZE);
llSetTimerEvent(0.1);
}
}

Put it in a prim, rex it on the spot you want to terraform and click on it. It's really only the "Flatten" and "Size" options in the menu that are useful but they can be very useful. What it does, is level the ground under the prim to exactly the same height as the prim is positioned at and it does this with less ditortion to the ground elsewhere than the manual edit tools do.

 

You're not far off. one of them ended up as a Vice President at Facebook. :P

But seriously, the original Linden World didn't have any land editing functions as such at all. What it did have, was explosives that made big holes in the ground. When LL decided to go public with their virtual world, they hastily modified that explosion function to work as a slightly more controlable ground editing tool and then they never got around to update it.

Wait….I wanna blow holes in the ground….they could have left that in 😭

Link to comment
Share on other sites

One thing that's constantly overlooked- The smooth tool is counter intuitive.

Most of the terraforming tools you want to use on the spot you want to terraform. Raise, lower, flatten, etc. Smoothing, you want to be using it on the area you want to smooth into as much as the area you're actually trying to smooth.

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

5 hours ago, Quistess Alpha said:

The wiki says that the LSL compiler flags for llModifyLand are off by 1.

http://wiki.secondlife.com/wiki/LlModifyLand

Oh, I didn't know that since I never use the smallest brush anyway. But here's a corrected script for those who need it:

integer CHANNEL;
integer ACTION;
integer SIZE;

string MAIN_MENU_STRING;
string SIZE_MENU_STRING;

list MAIN_MENU = [ "Level", "Raise", "Lower", "Smooth", "Noise", "Revert", "Size", "Stop", "Help", "Ground"];
list SIZE_MENU = [ "Small (2x2)", "Medium (4x4)", "Large (8x8)", "Back" ];

default
{
state_entry()
{

llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <1, 0, 0>, 0.5, PRIM_SIZE, <3, 3, 0.5>]);
//ACTION = LAND_LEVEL;
//SIZE = LAND_SMALL_BRUSH;
MAIN_MENU_STRING = "Pick a tool or size of tool";
SIZE_MENU_STRING = "Pick size of tool or back to return";
CHANNEL = llFloor(llFrand(100000.0)) + 1000;
llListen(CHANNEL, "", NULL_KEY, "");
}

touch_start(integer num_detected)
{
if (llDetectedOwner(0) == llGetOwner())
{
llDialog(llDetectedKey(0), MAIN_MENU_STRING, MAIN_MENU, CHANNEL);
}
}

listen(integer CHANNEL, string name, key id, string message)
{
if (llListFindList(MAIN_MENU + SIZE_MENU, [message]) != -1) // verify dialog choice
{
if (message == "Size")
{
llDialog(id, SIZE_MENU_STRING, SIZE_MENU, CHANNEL);
}

if (message == "Help")
{
llGiveInventory(id, "Land Leveller");
}

if (message == "Level")
{
ACTION = LAND_LEVEL;
llSetTimerEvent(0.1);
}

if (message == "Raise")
{
ACTION = LAND_RAISE;
llSetTimerEvent(0.1);
}

if (message == "Lower")
{
ACTION = LAND_LOWER;
llSetTimerEvent(0.1);
}

if (message == "Smooth")
{
ACTION = LAND_SMOOTH;
llSetTimerEvent(0.1);
}

if (message == "Noise")
{
ACTION = LAND_NOISE;
llSetTimerEvent(0.1);
}

if (message == "Revert")
{
ACTION = LAND_REVERT;
llSetTimerEvent(0.1);
}

if (message == "Small (2x2)")
{
SIZE = 0;
llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <1, 0, 0>, 0.5, PRIM_SIZE, <3, 3, 0.5>]);
}

if (message == "Medium (4x4)")
{
SIZE = 1;
llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <0, 1, 0>, 0.5, PRIM_SIZE, <5, 5, 0.5>]);
}

if (message == "Large (8x8)")
{
SIZE = 2;
llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <0, 0, 1>, 0.5, PRIM_SIZE, <9, 9, 0.5>]);
}

if (message == "Stop")
{
llSetTimerEvent(0);
}

if (message == "Ground")
{
// THIS PORTION BY STRIFE ONIZUKA //
float height = llGround(ZERO_VECTOR);
vector pos = llGetPos();
integer count = llCeil(llFabs(height - pos.z) / 10.0);
pos.z = height;
//for(;count;--count)
llSetPos(pos);
// THANK YOU STRIFE! //
llSay(0, "Now at ground level");
ACTION = LAND_LEVEL;
llSetTimerEvent(0.1);
}
}
}

timer()
{
llModifyLand((integer)ACTION, (integer)SIZE);
llSetTimerEvent(0.1);
}
}

Not exactly good scripting practice to use integers for fixed variables but a bug is a bug.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

3 hours ago, Chris Nova said:

Wait….I wanna blow holes in the ground….they could have left that in 😭

There are gadgets out there that let you do that, provided of course you have land editing rights to the parcel.

A friend of mine set off such a bomb on my land once. It was great fun but everything was a mess afterwards with ghosted objects, dodgy ground physics etc., etc. We had to relog and then wait for the sim to catch up.

Link to comment
Share on other sites

2 hours ago, Paul Hexem said:

One thing that's constantly overlooked- The smooth tool is counter intuitive.

Most of the terraforming tools you want to use on the spot you want to terraform. Raise, lower, flatten, etc. Smoothing, you want to be using it on the area you want to smooth into as much as the area you're actually trying to smooth.

What I tend to do with Smooth is start by using raise/lower and flatten on a small area near the centre of the parcel at the height I want, then I go outwards from there with the smooth tool.

If I only want a more-or-less flat parcel that's nicely blended with my neighbours, I flatten the entire thing first, then use smooth on a fairly large and less-gentle brush to go round the edges. That way, it doesn't make any unexpected surprises.

  • Like 4
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1033 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...