Weekly Update (1 March 2015) – Making a region

Region settings, there has been a lot of that these last weeks. This week I have focused on the region generation guide for objects and the third part where I go through some of Hoddminirs regions.

The last region I will (probably) make for this worldspace is a rocky coast with large pines and sea buckthorn bushes. As I’m in the spirit of writing the guides I wanted to share the development process of this last region.

I had the inspiration for this region back in 2013 when I visited Rullsands nature reserve at the coast of Uppland (Swe). I will not make the region with so many sea buckthorn, it would get really hard to navigate through (it was in real life).  Once among the pine trees the forest was open with only some bushes here and there. What surprised me where that the ground was covered in lily con valley leaves (it was Autumn), I would not have guessed they grow in this rather harsh environment.

Rullsand02 Rullsand03 Rullsand04 Rullsand01

Constructing a region setting, from start to finish

The terrain varies from rather flat islands with some slopes to great cliffs right by the water edge, the region also continues under water. I’ll show the same 3 test areas as the settings develop.

test areas

Landscape textures

The first thing I do is to try out different landscape textures to see which will fit together, then comes the hard part, selecting only 6 of them. These are the once I use in this region:

Landscape textures

Landscape textures: Parents

I covered the different settings for generating Landscape textures in the part I of my region generation guide.

I always start with setting up the parent textures, in this case there will be 3 of them. One rock for the slopes (LERock03mt), a grass for the flatter parts (LEGrass32) and round stones for the water edge and under water (LEStones07g). WU 1 - texture parent settings

All parent textures have a density of a 100 but differ in slope and height restrictions.

The water height in the worldsapce is at -6144 units and I don’t want the grass to extend into the water so I set the min height to -6080 (64 units above the water), and the grass will cover slopes from 0-15 degrees.

textures test area parent

I want the rock to cover all altitudes there for I use min and max heights that are well beyond  min and max of the worldspace, +/- 200 000. The rock will be generated on slopes from 15 to 90 degrees.

The stone texture will generate some way up from the waters edge up to -6050 (94 units above water) and at slopes of 0-10 º. There will be an overlap between the grass and the stone textures between -6080 and -6050 with the rocks a 0-10º and the grass at 10-15º.

Note that the stone texture only covers 0-10 degrees slope, and the Rock starts at 15 degrees. This leaves 10-15 degrees under -6050 without a parent texture. The Generator will be “helpful” here and fill in any uncovered slopes with the parent texture on the top, in this case the grass. Not at all what I want so I add another Rock texture parent that from max height -6050 and slope 10-15º. This also gives me more rock close to the water where in nature the waves would wash away most soil exposing the bare rock.

Landscape textures: Children

Texture child2

I added two more landscape textures as Children to break up the parent textures a bit, I’m saving my last landscape texture (bringing it up to 6 textures) for a child texture to the pine trees (LENeedels05, ground covered with needles and pine cones).

textures test areas

Up to -5600 units I added both more LERock07g (slope 5-10) and some LERock03mt (slope 10-15) textures to break up the LEGrass32. I wanted it to look like the stones make up the ground but most of it is covered up by grass, the stones only peak through here and there. When I add trees I will use the LENeedle05 texture as child that will be generated in an radius around them, breaking up the grass even more.

Both the child textures LERock04 and LEStone06g break up the parent textures that alone get a bit to repetitive. I used a maximum of clustering (100) to get small broken up areas, and a mid range density of 50.

Objects

I covered the different settings for generating Objects in the part II of my region generation guide. 

I want different zones in this region, one under water (zone 1), bushes close to the water (zone 2), trees on the flat parts well above the water (zone 3) and bushes on the steep slopes (zone 4). To determine the altitude limits for the zones I usually drop a rock somewhere that look to be the right height, the double click on it to see the Z height in units. I recommend your make a drawing of the height and slope settings, it’s much easier then when you start adding objects.

zones

Before I start adding objects I always make a cell or two by hand testing out the objects I had in mind. This way I can see if they actually fit together, what slopes look good and how many I would like to have.

concept2 concept1Concept3

Objects: Parents

Parent objects

Test areas parent objects

This will be a region with many different objects. I usually plan what objects should be parents after I make the concept for the region, then add 2-3 at a time to test what setting work to get the right result. The way Region generation works is that objects at the top of the list gets generated first, so I start out with the most important at the top and work my way down the list. In this region the restriction of the zones height and slope restrictions separate the object generation so they don’t interfere with each other to much.

Zone 1

This zone is rather simple, just some larger rocks and sunken driftwood. I use Ztrees rocks, they are whole models so I can rotate them in all axes (x, y, z) freely, it’s a neat way to get a lot of variation without using lots of different models.

zone1 parent

Zone 2

I would like this zone to function both as a edge to the large pines and a waters edge meadow where the terrain is flat and close to the sea level. I use the sea buckthorn bushes of increasing size the higher up you go and Rowan trees before the pine tree zone takes over at -5800 units. To get smaller Rowan trees  I use a -0,3 size variation setting in the Object More tab.

Zone 3

At first I added the large pines as children to the LEGrass32 landscape texture, this would give me more control over where they generate. But I want a landscape texture as a child to these trees and that will not work if the trees are themselves children to a texture (See the Textures as children of objects section of the Object generation guide). I use a placeholders when I generate the trees as they are animated, to get the child texture (LENeedle05) right I try to find objects that are equal in size to the trees.

Zone 4

I would have liked to use the the same strategy as for zone 3, adding the smaller trees and bushes as children to a texture, but I get no generation when I have them under a child texture (LERock03mt/LEGrass32), even with high density. Instead I’ll use the ZtPineCoast03 as a parent and have the rest of the smaller trees and bushes as children to that on, with large Radius wrt Parent so I get any to generate. The larger pines seen in test area 3 are the trees in zone 3 that generate on small patches slopes between 0-15.

Objects: Children finished settings

testareachild

Once I feel happy with the Parent object settings it’s time to start adding Children objects. Like I did with parents objects I don’t add all at once. I start from the top, filling out children for one parent at a time. The child generation will effect the generation of parents below in the list and I always have to go back and tweak the settings a bit.

Zone 1

I’m adding two more dark sunken driftwood pieces with in a large radius (1024) around the first parent. If i had say a 512 radius the would have formed small clusters, which would be good for plants but these driftwood would have sunken to the sea floor more randomly. I use the same large radius wrt parent for two more rocks, for the same reason, to get them scattered over large areas.

seafloor

Zone 2

I added more bushes and dead trees to the water edge meadow.

Zone 3

I want an equal amount of all pines to generate, I use one as parent and the rest as children  with 1024 as Radius wrt Parent to get an even spread. A value of 512 will cluster all the children pine trees to the parent tree and the forest looks very patchy. An I check the “Is a Tree” for all of them, I forgot that at first and Wow, I got a lot of trees then :)

I rotate the trees (all plants actually) at x +/-5, y +/-5 and z +/-180. The x and y rotation variation slightly tilts the tree, giving some life to the forest, it just looks more natural then if they where all super straight.

Zone 4

On the slopes I have the bent pines, pine bushes, dead trees and some sea buckthorn shrubs, all with a wide “range wrt parent” (1024) to get an even spread as possible.

 Selection of grass

What grasses you use really can have a huge difference, most of the time grass selection is a lot of testing and re-testing grass types and settings. I have a image library of all my grass types to make selection easier, and the Hoddminir flower resource includes these screenshots. I highly recommend making your own screenshots for other grasses you will use, it really makes the selection part much quicker.

Originally in Skyrim you can only have 3 grasses per landscape texture, but you can change the ini file to use more. You find the Skyrim.ini file in your /my documents/my games/skryim folder, you can open it with notepad (or other text editors). Under the [Grass] section, add the line iMaxGrassTypesPerTexure=7 (yes, texture is misspelled, make you add it exactly like that). You can put higher or lower numbers than 7, I have seen some grass mods using as many as 13. Skyrim Flora overhaul uses 7 which is why I usually have that in my setting. Just remember that more grass will effect the performance in game. The CK will still only show the top three grasses in the render window, to see all the grasses you added you will have to check it out in game.

If you later on change your mind, the nice thing about grass is that you can change it even after you generated the region. I always make a duplicate of the grasses I use for in region,  this way I can change the settings without effecting any other regions grass unintentional.

Grass settings

Grass can be set up to show at different height relative to water, be slope restricted and have different density. Other settings include height range (1.0 – 0.0), this will scale the the grass, where 1.0 is rather large (depending on the model). Below I have a re-textures Kelp grass model with height range set to 1.0, something I intend to use as a kelp forest in the deeper sea parts of this region. Note that this high height range will give the grass a large size variation too. I almost always has the check box for “Fit to slope” checked, but not for under water grass, the grass look more natural when they stand straight up under water. The last thing to think about  is the wave period, this how much the grass moves.

grass settings

EWpSea08dscale1 fit to slope grass

Region with grass

For the sea floor I use different algae, having larger brown and red algae growing deeper down.

Screenshot6866

As I mentioned at the start my inspiration to this region had lots of Lily of the valley, and I’ll start by adding the ones I have (from Hoddminir Flowers) to the LENeedle05 texture. I use a density setting of 30-40 on all of them.

Screenshot10490

For the LEGrass32 ground texture I use a gray version of one of Vurts grasses, I have used it before in a sandy coast region that is a neighbor to this one, but for this region I’ll make the grass shorter.

To get the meadow felling I add some early summer flowers I used in another neighbor region to the grass. I find that sharing some grass flora with neighboring regions help connecting them.

Screenshot6334

Now the region is done, the last thing to do is set up a generation region and start generating. Take a look at this guide on how to do the the right way.

I’ll finish of with some more screen shots from in game :)

Screenshot13895 Screenshot15859 Screenshot19236Screenshot5232

/E

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>