Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Region Generation
03-27-2008, 01:18 AM,
#1
Region Generation
In my quest to generate the dumac landscape, i'm running into many many problems. Mostly, two varieties of tree are prevalent, and they completely dominate everything else. I have been able to see no reason why they do this in the region preset. They have a normal radius, normal density, everything. One model, SilgradBlackGumBcDead07, was the most common tree, even though it had a density of 4.

Actually, there seem to be four or five trees which are used to the exclusion of ALL others. The region preset i was using from Latrys North only had about 3 types of trees generate, even though there were at least 10 types in the region preset. Further digging in the CS reveals that SilgradBlackGumBc02 was used 4151 times, SilgradBlackGumSu05 was used 2422 times, SilgradBlackGumBcDead07 was used 1434 times, SilgradBlackGumSu04 was used 994 times, SilgradBlackGumBcDead04 was used 864 times, SilgradBlackGumBcDead06 was used 672 times, and SilgradBlackGumFa05 was used 670 times.

seems like a lot of variety, but that's only 7 trees, out of a total 25 trees. and three of those are dead. That leaves 4 living trees comprising a whopping 92% of everything. In fact, out of 8954 living trees generated, fully HALF are one model, SilgradBlackGumBc02. Since there are 8 varieties of SilgradBlackGumBc(01-08), i am left to wonder why there is such a lack of variety. Most of the trees have been used less than 20 times.

So my question, for those of you who haven't been scared off by my incessant numbers, is why the region generator is behaving in such a fashion.

[edit] just to see what would happen, i made a new region preset, dragged SilgradBlackGumBc01-08 into the generated objects list, gave them all the same density, radius, stuff, and clicked generate. 95% of the trees generated were SilgradBlackGumBc01 the other 5% were SilgradBlackGumBc02. Maybe it's something in the models themselves? I have no clue, which is why i'm asking you guys
Leader of the Morag Tong
Hail Mephala
I do work sometimes - I swear!
Reply
03-27-2008, 01:59 AM,
#2
 
I actually never noticed the numbers, so this is new to me.

If I had to guess without looking at the preset, I would say that it looked for space of the first type, generated them, then looked for space for the next type. Because the first type was already generated, there was a lot less space. When the third came around, there was even less space.

If this is indeed the case, it's something I'll have to keep an extra eye out for.

Can you try your experiment preset with a decreased the density for each object (by about 7/8 of what they are currently)?
Reply
03-27-2008, 02:04 AM,
#3
 
Well, i was fooling around with even more numbers. What's really really interesting is that with the stuff i was using, SilgradBlackGumBc01 DOMINATED even when the density was set to 1.00, and other densities were jacked up to 50-60s.

I eventually found a workaround for this. Uncheck the "Is a tree" button for the under-represented varieties, and then manually set the radius to somewhere around 320ish. it makes it a lot more varied, while keeping a lot of plant cover.

And it's really a shame, because the least seen trees (SilgradBlackGumBc05/06/07) are in my opinion the best. They're certainly much larger, provide much more foliage cover, and bring back more of the feel of morrowind.

Your explanation makes sense from a standpoint of what is happening, but what doesn't make sense is why the region generation system would do that in the first place. It should be based on density i would think. I'll fool around with it a bit more, but you might want to spread the word to the other modders who are currently working on exterior claims, just so that they can fool around with the settings and perhaps adjust some stuff.

I'm also going to test having trees exist only as child objects of rocks, which might even it out a good deal more, and provide extra opportunities for having things like swampy pools centered around rocks
Leader of the Morag Tong
Hail Mephala
I do work sometimes - I swear!
Reply
03-27-2008, 02:23 AM,
#4
 
Quote:Originally posted by Seniosh
Your explanation makes sense from a standpoint of what is happening, but what doesn't make sense is why the region generation system would do that in the first place. It should be based on density I would think. I'll fool around with it a bit more, but you might want to spread the word to the other modders who are currently working on exterior claims, just so that they can fool around with the settings and perhaps adjust some stuff.
I thought it would take all objects into account before generating. The density is the number of objects per cell (approximately, with many weird calculations), so if it runs through one object at a time without taking any others into consideration, that would explain why this is happening.

Can you try the BC01 tree with a density of 0.1, perhaps?

So, the first rule assuming my explanation is correct:
1. Larger objects should be calculated first (this might give you an idea of where I'm coming from, minus the important philosophical meaning)

And a second new one would probably be:
2.having a smaller radius and/or a smaller density when there are more objects.

Thanks for bringing it up, I didn't notice that before. It'll be very important to get this right for 3.0.

Quote:I'm also going to test having trees exist only as child objects of rocks, which might even it out a good deal more, and provide extra opportunities for having things like swampy pools centered around rocks
It's very unlikely that swampy pools will work in the preset because you need a depression in the ground for it in the first place. The generator can't detect those or create them, at least as far as I know.
Reply
03-27-2008, 02:45 AM,
#5
 
Well, the strange thing is that Bc01 is the smallest tree. Maybe the smallest tree is able to fit the most into the least space? That's very telling, because BC02 is the second smallest i think.

Here's an interesting thing though- if you have trees exist only as children of rocks, they are distributed MUCH more evenly.

And if i cluster trees around Cypress Knees, then i can go back and hand-create depressions, and already have the trees and rocks and such in a good place.

I'm going to look into this more.
Leader of the Morag Tong
Hail Mephala
I do work sometimes - I swear!
Reply
03-27-2008, 10:35 AM,
#6
 
It's a long time ago since I started using the RE and I made good progress in handling this tool. I am planning to write a lengthy tutorial on this subject, the problem is time.

This is how the RE calculates the total number of objects per cell.
The radius (in the formula) has to be bigger than the radius of the object itself otherwise the objects would bleed/blend into each other.

RE == Region editor
RE Radius == is the radius you have to assign in the RE (desired distance between two objects)
RE tree (screenshot) = The tree of objects as they were added to the RE (from the top to the bottom)
For the examples I assume that the density of the generated objects is 100.


Quote:Originally posted by Seniosh
Uncheck the "Is a tree" button....
If you check this option the radius is increased by the RE (between the trees) hence less trees. It allows to generate more of the other objects from the RE tree.

Quote:Originally posted by Seniosh
Well, the strange thing is that Bc01 is the smallest tree. Maybe the smallest tree is able to fit the most into the least space?
Because the object itself has the smallest radius, so you can set the RE radius to a value almost the same as for the object itself which results in more trees per cell compared to the larger types (larger RE radius).
See below.

Quote:Originally posted by Seniosh
Here's an interesting thing though- if you have trees exist only as children of rocks, they are distributed MUCH more evenly.
If you generate larger objects as children of smaller parent objects (small rocks) you can add more objects into a cell because the RE handles the children in another way (not related to other parent objects). You have to adjust the Radius wrt parent.

Smaller parent object (first in the RE tree)---> Smaller radius of the object itself---> The RE Radius can be lower ---> more generated objects --> more dispersion.

Quote:Originally posted by TheImperialDragon
Larger objects should be calculated first..
It depends on what you want to achieve.

The RE executes the generation from the top to the bottom (starting at the top of the RE tree). If you start with a SilgradBlackGumSu05 (large object) and a small RE radius there's not a lot of space left for the other objects.

Why?

The second object in the RE tree e.g. a rock has to comply to the radius defined in the RE, let's say it's 50 and for the tree it was 40. In this case there's no room for the rock because the trees have RE radius of 40 (the rock needs at least 50 units on both the sides to fit in between the trees). If you set the radius for the tree to e.g. 110 the there's enough space for the rocks (2*50 = 100 which is <110). The more objects you add the complexer it will get. The RE will check the RE radius for every parent object in relation to the other parent objects.

Option one.

If you want a lot of trees put these on the top of the RE tree. The smaller the base object's radius (in this case a tree) the smaller the possible RE radius which will increase the total number of trees.

Option two

If you want to have a lot of variety put the larger objects last in the RE tree or add these as children to smaller parent objects (see above). Make sure the smaller objects have a larger RE radius (see below).

A possible RE tree (executed from the top to the bottom).
  1. Terrain textures, slope <90 (base texture)
  2. Terrain textures, slope >40, overwrites (partly) the base texture
  3. Terrain texture for the under water areas (min heigth -20000 to max height 4352), overwrites (partly) the base texture
  4. Rock with the following children: small rocks, shrub
  5. Large rock with the following children: Tree, textures
  6. Tree

Resuming.

The space in a cell can be used only once, which is determined by the RE radius of the parent objects. Add the smaller objects higher in the RE tree with a larger RE radius which allows the objects that are on a lower position in the RE tree to be generated as well (RE radius at least <50% than the RE radius of the first object).

The other solution is to add objects as children to the parent.

Of course lowering the density settings will change the dispersion.


Tutorial

Bioxx's tutorial explains the basics of the RE.

A few remarks concerning Bioxx's tutorial.
  • The edge fall off works, the region blending works, the conform to slope option works (for me, when using the right version of OB and the CS).

  • Obliterating the region works as long as you don't exit the RE.
    The vertex shading has to be removed by hand.

It would be handy to have a mathematical program to calculate the outcome of a preset (total number of each object and dispersion).

I hope this helps to answer a few of your questions. Smile
Dum loquor, hora fugitĀ  - While I speak the time flies



Ovid 43 BC - 17 AD
Reply
03-27-2008, 03:25 PM,
#7
 
Wow, that is a lot of stuff. Thanks sandor! You should definitely make a tutorial if you ever get some spare time.

Between this and fiddling around with the settings, i should be able to make a pretty good preset.

Knowing exactly how everything works is really nice, although everything still requires a ton of trial and error.
Leader of the Morag Tong
Hail Mephala
I do work sometimes - I swear!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)