Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Remove Restrictions on Trees -- Make them part of the build

Shack Dougall
self become: Object new
Join date: 9 Aug 2004
Posts: 1,028
08-09-2005 14:04
Background

This started as an unanswered Hotline to Linden post and has been submitted for voting as Proposal 955.

Summary

Trees are treated as though they are a part of the land. In order to create them, you must have edit permissions on the land itself, the same as if you wanted to terraform. Perhaps because of this, trees have also had certain other restrictions placed on them. For example, you can't link a tree and you can't select a tree with the drag select tool. Nor can you put a script in a tree. All of these restrictions seem reasonable for grass, since grass cannot be separated from the land. But the uses for trees is much more diverse.

Trees are frequently an integral part of a build. They are placed on porches and balconies, integrated into treehouses and waterfalls. The list goes on and on, but the point is that none of these uses have anything to do with the land itself. So, why tie the hands of builders by treating them differently from other prims?

Restrictions

Here, I'll just list the restrictions that I think are unnecessary and harmful to the useful incorporation of trees into large-scale and commercial building.

A Linden tree counts as one prim, but they don't act anything like other prims.

1) Trees are treated as if they are part of the land. They should be part of the build.
2) You can't link them
3) You can't select them with the drag select tool.
4) You can't put scripts in them.
5) You can't change one tree-type to another.

Discussion

*** TREES ARE TREATED AS IF THEY ARE PART OF THE LAND.***

This could be the root of the whole problem, the misconception that has led to all the other restrictions.

In order to rez a tree, you must have edit permission on the land. That means that either the Edit Land checkbox must be checked to allow anyone to edit the land. Or the rezzer must be an owner of the land. It isn't enough to be a member of the group associated with the land. I don't think it will even work if you are a member of the group that owns the land. You have to be the sole owner of the land or an officer of the group that owns the land.

A tree should be part of the build. If you can rez a prim, you should be able to rez a tree. Period.

*** YOU CAN'T LINK TREES***

This means that you can't incorporate trees easily into items for sale. It makes it more difficult to save and move a build that includes trees as an integral component. Big builds are a pain in general because of the edit and camera distance restrictions. Add to this the fact that you can't link trees into the build and you get a nightmare. Also, it's impossible to make something like a potted plant using Linden trees and set it for sale. You'd have to put it in a box and sell the box. Or sell it though a vender.

*** YOU CAN'T PUT SCRIPTS IN TREES. ***

Obviously, some script functions don't make sense for trees, such as changing the texture, but a lot do.

For example, llDie() to remove a tree by script, llSetScale() to resize a tree. Rotation functions to change the angle of a tree after it's rezzed. llSetPos() to move the tree.

There are lots of applications for these functions. One thing that I do a lot is to put the position of an object in it's description field. Then if I need to re-rezz it in it's old position, I can just drop a self-deleting script on it to move it. Can't do that with trees and you can't link trees, so you're forced to always move them manually and select them individually.

You can't build a rezzer to create a random field of trees. You can't rez a tree that will grow by having a script change its size over time. You can't make Linden trees self-delete via script. These are all useful things that would make trees rock.

*** YOU CAN'T CHANGE ONE TREE TYPE TO ANOTHER ***

This is both silly and annoying. It doesn't seem like a big deal, but it's huge. It's been mentioned again and again in the forums. It needs to be fixed.

You've got the "Building Block Type" menu button on the Object tab, but it's grayed out. So, if you want to rez a new tree or see what all the types are, then all you can do is keep rezzing over and over and over again until you get the one you want. And still you aren't guaranteed to have seen them all! You might say "Check the Library in Inventory", but the Library isn't complete. Trees and grass exist that aren't in it.

Conclusion

Trees are not part of the land. They are part of the build. SL needs to treat them that way.
_____________________
Prim Composer for 3dsMax
-- complete offline builder for prims and sculpties in 3ds Max
http://liferain.com/downloads/primcomposer/

Hierarchical Prim Archive (HPA)
-- HPA is is a fully-documented, platform-independent specification for storing and transferring builds between Second Life-compatible platforms and tools.
https://liferain.com/projects/hpa
Ellie Edo
Registered User
Join date: 13 Mar 2005
Posts: 1,425
08-11-2005 12:22
I'm not terribly knowledgeable on this, Shack, but since you have no other reply I'll have a shot.

I think there is something you are missing.

There are two sorts of trees in Secondlife. The special Linden trees, such as come with the land, and the ordinary trees, designed , constructed, and supplied (sold or free) by other residents.

There is a thriving market in the latter - whole tree and plant selling locations crammed with wonderful stuff.

To incorporate in your builds, I suggest the latter. I think this is what LL intends. They can be linked in normally, take scripts, etc etc.

The Linden trees are different, not only in the ways you describe, but in that they are fundamentally special - only take one prim each (although they are clearly more complex), and can sway with the wind for instance.

These last two benefits are probably why they have to be handled quite differently by the server. They are a special item intended to be used for landscaping the land and generally setting the tone of the landscape (eg swaying).

So the answer is - they are a special thing for a special purpose. I think we should be glad we have them for that purpose, and not be unhappy that they do not meet another purpose (ie linking into builds). There are tons of other trees meant for, and ideal for, that different requirement. But not these.
_____________________
Shack Dougall
self become: Object new
Join date: 9 Aug 2004
Posts: 1,028
08-11-2005 14:46
Thanks Ellie for the reply! I mostly disagree with you, but I appreciate having a conversation about it. :)

From: Ellie Edo

There are two sorts of trees in Secondlife. The special Linden trees, such as come with the land, and the ordinary trees, designed , constructed, and supplied (sold or free) by other residents.

There is a thriving market in the latter - whole tree and plant selling locations crammed with wonderful stuff.


For the purpose of discussion, I'll call the two types: Linden trees and prim-based trees. A subcategory of the prim-based tree would be the particle tree, which is a prim-based tree with scripted particle leaves.

In a lot of cases, prim-based trees look better at a distance than Linden trees, but I've never seen a prim-based tree that looks better than a Linden tree up close. (IMO, of course). Because of this, I tend to use a combination of prim-based and Linden trees in my treehouse builds.

As to the thriving market, I don't know. Beauty is in the eye of the beholder I guess. Prim-based trees are often preferred due to the alleged laginess of Linden trees. And tastes seem to differ greatly too. I've seen posts by people who hate the movement of Linden trees. I really like it. And I've seen yards decorated with prim-based trees that I think are atrocious. To each his own.

From: Ellie Edo
To incorporate in your builds, I suggest the latter. I think this is what LL intends. They can be linked in normally, take scripts, etc etc.

The Linden trees are different, not only in the ways you describe, but in that they are fundamentally special - only take one prim each (although they are clearly more complex), and can sway with the wind for instance.

These last two benefits are probably why they have to be handled quite differently by the server. They are a special item intended to be used for landscaping the land and generally setting the tone of the landscape (eg swaying).


I doubt that LL intends anything in particular, but I have a Hotline to Linden pending to try to discern that. If I had to guess, I'd say that Linden trees can't be linked or take scripts because they aren't implemented in the same way as other prims. There's no real reason for this other than it was easier for LL to do it that way. The only thing that tends to indicate otherwise is the way that trees got tied into the land editing permission. But again, I think that was mostly an arbitrary decision rather than a well-thought strategy by LL.

I agree that Linden trees are fundamentally special, but that's not a reason for them to be handled differently by the server. In fact, they are implemented almost entirely in the client and don't really impact the server at all. And if they were intended to be used only for landscaping the land, then we would not be able to separate them from the land. Linden grass for example, cannot be moved off the land. If that was LL's intent, then Linden trees would behave the same way.

From: Ellie Edo
So the answer is - they are a special thing for a special purpose. I think we should be glad we have them for that purpose, and not be unhappy that they do not meet another purpose (ie linking into builds). There are tons of other trees meant for, and ideal for, that different requirement. But not these.


What can I say. I just disagree. :) I am glad that I have Linden trees. :D But I don't think that there are tons of other trees that are ideal for linking into builds. In my experience, Linden trees are still really great for that, even with the problems I described.
_____________________
Prim Composer for 3dsMax
-- complete offline builder for prims and sculpties in 3ds Max
http://liferain.com/downloads/primcomposer/

Hierarchical Prim Archive (HPA)
-- HPA is is a fully-documented, platform-independent specification for storing and transferring builds between Second Life-compatible platforms and tools.
https://liferain.com/projects/hpa
Shack Dougall
self become: Object new
Join date: 9 Aug 2004
Posts: 1,028
08-26-2005 22:17
From: someone
There is a thriving market in the latter - whole tree and plant selling locations crammed with wonderful stuff.

To incorporate in your builds, I suggest the latter. I think this is what LL intends. They can be linked in normally, take scripts, etc etc.


Just want to respond to this point again and to note that I still have no response from my Hotline to Linden post. Not even a "I'm waiting for info" response.

Back to the point about using prim-based trees in builds. Like so many things in SL, prim-based trees are often sold no-mod and no-transfer. Which makes them useless for incorporating into any kind of build. no-mod precludes linking. no-transfer prevents you from giving the build to someone else.

This isn't the fault of the creators of the trees. LL has made this the only viable way to sell or even give them away.
_____________________
Prim Composer for 3dsMax
-- complete offline builder for prims and sculpties in 3ds Max
http://liferain.com/downloads/primcomposer/

Hierarchical Prim Archive (HPA)
-- HPA is is a fully-documented, platform-independent specification for storing and transferring builds between Second Life-compatible platforms and tools.
https://liferain.com/projects/hpa
Neil Protagonist
FX Monkey
Join date: 11 Jul 2003
Posts: 346
09-13-2005 13:50
I cannot attest to the validity of anything following this line, it is purely theoretical.
I agree with statements both of you have made. I would like to improvement and support for the manufacture of better trees.

More dynamic plants and things of that nature really improve the overall feeling of the world.

Have either of you looked over the Tree Options under the debug menu? If not I hightly recommend it, it makes for interesting reading. Not sure how it works really, nor how it affects anything in the world, if it does I am certain it is purely client side, play at your own risk.

I think in order to better support the community while also improving trees the best solution would be something that allowed full permissions and features that come with normal prim creation, going so far as to allow for bending and twisting. Keeping in mind of course that this is the pie in the sky realization of the system as I see it. The system would also have to support user creation of trees. Which brings me to my next point.

The trees that are created by people in world (myself included) are good, but they are missing a few things. The problems as I see them are....
  1. Good from far, but far from good. Alpha issues. This happens for two reasons, a) lack of understanding of how rendering engines handle alpha sorting of triangles on the part of the creator. b) bugs.
  2. Lack of dynamic motion. User created trees are almost always lacking any kind of motion. Motion is essential in achieving a realistic tree or plant.
  3. Inability to billboard. Billboarding on a specific axis allows users to create at least some semblance of a three dimentional tree without having to use anything more than a few boxes.
  4. Inability to LOD. Creating levels of detail in trees is also important because it can allow you to have more of them, density and diversity in tree population is also a very important, but you also have to maintain the quality. With lod's it is possible to do this and so the lindens have. Content creators however cannot explicitly control the lods on the trees they create. A alpha image tree looks fine from a distace but is almost useless up close.
Some of these problems can be fixed with a tutorial, and I think I posted one a while ago adressing the alpha issues, I dont recall however, I'll look for it. Others cannot be fixed without the lindens assistance. But I have been hearing rumors of something like speed tree, in which case this could be an entirely moot point. Speed tree would be wonderful. Anyway, there is a lot more I would like to say on the subject but I've already run my mouth too much for one post.
_____________________
"Control the things you can control, maggot. Let everything else take a flying f**k at you, and if you must go down, go down with your guns blazing." -Cort

Need fire? Visit my FX Store in Bisque(232, 48)
Sick-N-Wrong

Like Anime? Visit Nakama!
Torley Linden
Enlightenment!
Join date: 15 Sep 2004
Posts: 16,530
09-13-2005 13:55
Neil, don't leave us hanging... go on! :D
_____________________
Neil Protagonist
FX Monkey
Join date: 11 Jul 2003
Posts: 346
09-13-2005 14:01
I did! I went on and on and on and on :) Sorry, I accidentally posted that other one.
_____________________
"Control the things you can control, maggot. Let everything else take a flying f**k at you, and if you must go down, go down with your guns blazing." -Cort

Need fire? Visit my FX Store in Bisque(232, 48)
Sick-N-Wrong

Like Anime? Visit Nakama!
Shack Dougall
self become: Object new
Join date: 9 Aug 2004
Posts: 1,028
09-13-2005 14:19
From: Neil Protagonist

Have either of you looked over the Tree Options under the debug menu? If not I hightly recommend it, it makes for interesting reading. Not sure how it works really, nor how it affects anything in the world, if it does I am certain it is purely client side, play at your own risk.


Nice post!

I looked at the tree debug options and got *really* excited. :) Even though I realized that it would be client-side only and that I wouldn't be able to show anything that I did with them.

Alas, I wasn't able to make them do anything. If someone else has, I'd love to hear about it!

SpeedTree sounds neat and I hope that LL is working on it. If trees are being re-implemented, it would be a perfect time to address some of the other issues with trees.
_____________________
Prim Composer for 3dsMax
-- complete offline builder for prims and sculpties in 3ds Max
http://liferain.com/downloads/primcomposer/

Hierarchical Prim Archive (HPA)
-- HPA is is a fully-documented, platform-independent specification for storing and transferring builds between Second Life-compatible platforms and tools.
https://liferain.com/projects/hpa
Ralph Doctorow
Registered User
Join date: 16 Oct 2005
Posts: 560
Yes!
11-18-2005 22:07
Just to reinforce what's been said here, I'd be happy if I could just link to trees etc.
Kathmandu Gilman
Fearful Symmetry Baby!
Join date: 21 May 2004
Posts: 1,418
11-18-2005 22:40
Trees are almost entirely client side that uses a single, special prim to mark their location and allow you to resize them and such. These trees are resourse intensive and tying them to the land ensures you can't put more than the prim limit of trees and plants or fill sims up with "griefer trees".
_____________________
It may be true that the squeaky wheel gets the grease but it is also true that the squeaky wheel gets replaced at the first critical maintenance opportunity.
Nargus Asturias
Registered User
Join date: 16 Sep 2005
Posts: 499
11-19-2005 08:15
From: Shack Dougall
For the purpose of discussion, I'll call the two types: Linden trees and prim-based trees. A subcategory of the prim-based tree would be the particle tree, which is a prim-based tree with scripted particle leaves.

In a lot of cases, prim-based trees look better at a distance than Linden trees, but I've never seen a prim-based tree that looks better than a Linden tree up close. (IMO, of course). Because of this, I tend to use a combination of prim-based and Linden trees in my treehouse builds.

As to the thriving market, I don't know. Beauty is in the eye of the beholder I guess. Prim-based trees are often preferred due to the alleged laginess of Linden trees. And tastes seem to differ greatly too. I've seen posts by people who hate the movement of Linden trees. I really like it. And I've seen yards decorated with prim-based trees that I think are atrocious. To each his own.


I think what you said is indeed fact...Beauty is in the eye of the beholder. The linden-trees are not always appeared as beautiful in all clients. There is a slider for tree quality adjustment in Preferences box. And many users sacrified tree quality for somethings else like Avatar and Objects. (Like me, I use lowest tree quality to allow me to use Highest Avatar and Objects quality -- and Linden tree to me look nothing better than two boxes with leaves texture) And I think that might be a reason people use prim-based trees. They look the same for all, or nearly the same at least.

From: someone
What can I say. I just disagree. :) I am glad that I have Linden trees. :D But I don't think that there are tons of other trees that are ideal for linking into builds. In my experience, Linden trees are still really great for that, even with the problems I described.


Well, as I have said, the linden trees can be look really beautiful for one, it might look completely difference in some others. You may link things to it, but it will never look the same in all clients. (big beautiful trees in ones, and piece of boxes with texture in others) And that's a problem also.
Shack Dougall
self become: Object new
Join date: 9 Aug 2004
Posts: 1,028
11-19-2005 11:51
From: Kathmandu Gilman
tying them to the land ensures you can't put more than the prim limit of trees and plants or fill sims up with "griefer trees".


All prims are subject to prim limits. So IMO, there's no need to put any additional restriction on trees by tying them to the land.
_____________________
Prim Composer for 3dsMax
-- complete offline builder for prims and sculpties in 3ds Max
http://liferain.com/downloads/primcomposer/

Hierarchical Prim Archive (HPA)
-- HPA is is a fully-documented, platform-independent specification for storing and transferring builds between Second Life-compatible platforms and tools.
https://liferain.com/projects/hpa
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
11-19-2005 23:51
Solution:
If you want to link trees they count as 15 prims. Unlinked they count as 1. With them counting as 15 you couldn't easily tree greif an area as you would run out of prims first. Objects with trees cannot be unlinked by script.
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
llTreeSystem()
11-21-2005 13:28
From: Kathmandu Gilman
Trees are almost entirely client side that uses a single, special prim to mark their location and allow you to resize them and such. These trees are resourse intensive and tying them to the land ensures you can't put more than the prim limit of trees and plants or fill sims up with "griefer trees".
They're much like particles, then.

What we need is an "llTreeSystem()" call analogous to "llParticleSystem()" that you can pass parameters like

TREE_BRANCH_TEXTURE,key
TREE_LEAF_TEXTURE,key
TREE_BRANCH_FORK_MIN,float
TREE_BRANCH_FORK_MAX,float
TREE_BRANCH_FORK_ANGLE,float
TREE_LEAF_FORK_MIN,float
TREE_LEAF_FORK_MAX,float
TREE_LEAF_ANGLE,float
TREE_BRANCH_SIZE,vector
TREE_BRANCH_DEPTH_MIN,float
TREE_BRANCH_DEPTH_MAX,float

I won't explain these parameters, they should be obvious when you think about how fractal trees work...

The tree itself would be rezzed inside the prim's bounding box, so the prim's drag corners and attitude would define the tree's size.

The people currently making prim trees would go wild. A lot of their existing textures and techniques would be immediately applicable.