Jump to content
Sign in to follow this  
shezan74

Making forests in ArmA2

Recommended Posts

Hi there.

I'm working on making forests on my island. There are 3 ways, as far as i know:

1) using Visitor3 Forest tool

2) using MaskMapper from a well formed bmp image

3) using RandomObjectPlacer script

Every way has pro's and con's.

Let me explain my point of view:

Forest tool:

Pro:

- Really fast

Cons:

- makes plants placed in straight lines by forming a "farmville" layout

- comes without any kind of explanation (or i didn't found anything on it)

Maskmapper:

Pro:

- Allow you to place massive amounts of trees in a totally random sequence in the area you like

- Allow the user to use photoshop technics to define "forest masks" on the whole map in a single work

Cons:

- It's easy to reach 1M+ objects on a mid size map

- sometime trees are overlapped and too narrow

- Needs good photoshop skills for making your mask with the "correct" number of spot to be populated with trees.

- Each tree is an object -> heavy for V3

RandomObjectPlacer:

Pro:

- Allow you to place massive amounts of trees in a totally random sequence in the area you like (but you cannot automate the forest masks)

Cons:

- It's easy to reach 1M+ objects on a mid size map

- forest borders are less "random" and forest boundaries are more straight and lined.

Well: What way you are using, guys? One of those, a mix of those, manual placing? Thank for sharing your experience :)

Share this post


Link to post
Share on other sites

Great Idea you have here shezan.

I use maskmapper, to deal with it creating far too many trees i make my .bmp smaller. this has a con too, it reduces the detail and pixelates the image so your placements aren't as precise as they were in the original .bmp.

It would be great if maskmapper didn't use only monochrome images, but grayscale therefor white would represent maximum density, black as no trees and gray as a medium amount of trees, that would give you much more control over things. for example, if there was an open field with only shrubs dotted around you could simply fill that area with a dark gray colour and then blend into a lighter gray as you go further into a forest. I hope the person/s who made maskmapper has thought of this and is working on improving it!

Share this post


Link to post
Share on other sites

I personally use another way (yes, i'm using maskmapper):

Let me explain how i work (photoshop needed)

1) i will select, with the appropriate tolerance, all green areas on my map (magic wand). This, usually, will select a big part of the map and some big areas, but all covered with trees (except for grassfields, but this is related to your map colours...)

2) i will cut the selected area and fill with red colour. The inverse selection is set to black.

3) with focus on red area i will apply some NOISE using photoshop filters. This will ensure a big mix of colour only on my previously selected bush area

4) i will use again the "magic wand" tool to select only some colours in the random pixels generated by noise on the previous selected "red" area. I will calibrate magic wand with multiple steps until i reach the desired concentration of trees.

5) the sub-selection after the above work is pasted in a brand new layer with black background and checked on maskMapper to obtain a "correct" number of trees. If trees are still too much i will come back to step 3, using original noised layer and making another selection (on another noise-generated colour or playing with tolerance.

I think all this work should be avoided by a small feature that allow the MaskMapper to set a "fill parameter" on the selected areas <1 (decimal or so) in order to set less trees in the forest (with 1 tree per pixel sometimes we will have a HUGE number of objects)

my 5 cents, from my small experience in mapmaking

Share this post


Link to post
Share on other sites

mmmh by observing your results it's seems the best way :D

You make a big area filled with the things you need and copy/paste it on the map, with Visitor3? so simple? :p

Share this post


Link to post
Share on other sites

I use something of everything, no foresttool, mostly copy paste.

But you have to make shure not everything looks the same by changing things sometimes...

Share this post


Link to post
Share on other sites

Well, things are not so simple. I use copy paste a lot when I want to create a thicker area, mostly on the edges of the forests. I of course create sets before that and test them out. RandomObjectPlacer is also a great thing if you want to quickly populate larger areas with rocks, 1% trees etc... very useful indeed. I would say a combination of both gets the best results in V3 ;)

And one more tip: use rotate function a lot to create more random patterns ;)

Share this post


Link to post
Share on other sites
It would be great if maskmapper didn't use only monochrome images, but grayscale therefor white would represent maximum density, black as no trees and gray as a medium amount of trees

That IS how it works actually...

From Rockets original release thread...

the value of the brightness decides how many objects get placed inside it.

...as I've discovered accidentally several times when areas have ended up with no trees at all...

Maskmapper does have a tendency to put trees on top of each other though... some tidying is usually required...

I think to a certain extent that's a drawback of mask size - since the recommended procedure is to use a mask the size of your Heightmap - 1px=10m... everything is essentially being decided on a 10x10m basis... I wonder if it would be any better using a mask the size of the Sat layer (ie: 1px=1m)??

In a simple on/off, black/white situation that would be disaster on a tree, or no tree basis for each square metre, but if fine greyscaling worked properly re: density it would allow for fairly good control... I'll have to give that a try I guess, though I'm not sure how maskmapper will react to such huge masks...

In theory it should all work fine... but again, it's all down to density... if you have - say 6 trees maximum (if the mask is white), down to no trees if the mask is black - you could greyscale effectively between those... the problem being that even just 3 trees per 10m^2 can run you quickly into many many thousands of trees...

It's a pity Rocket doesn't seem to be around to ask lately... but I think he's actually a Serving Officer in NZ, so maybe his time isn't entirely his own.....

On my own personal island I've used all the above techniques except for the old-style forest squares - so far... Though I reckon they have a place too...

It all depends on the area you're working on... if you're copying a RL area you're at least partially guided by whats there in the realworld...

A look on Google Earth (or outside my window), reveals that an awful lot of the forestry in my Scotland area is heavily managed by the forest commission - all the trees are strictly regimented in graded rows of different heights - and they're all the exact same type of tree...

Sounds like a job for the old Forest Tool... I'll be giving it a go... might be easier than manually lining trees up in rows...

Conversely, also since it's a realworld location - I can look up one of the wild "forest reserves" on Google and it'll tell me something like "Leanarchan Forest consists primarily of Birch and Scots Pine with a scattering of Rowan and Alder"... no real thinking required there if you have a mask prepared... perhaps with some subsequent tidying afterwards...

The biggest bonus of maskmapper perhaps is the mask itself... suitably resized it can form another layer on your Mask_lco - allowing you easy placement of "forest floor" textures - guaranteed to be in the same places as the trees.

B

Share this post


Link to post
Share on other sites
That IS how it works actually...

Really, that's wierd. I've tried using different shades and the amount of trees it adds to the list never seems to change, for me it's either white or it isn't, but I'll give it another shot.

Is the RGB channel part of maskmapper working for anyone? I've tried using it and it doesn't create a .txt file... it does the generating process with the loading bar but there's been no output.

Share this post


Link to post
Share on other sites
Is the RGB channel part of maskmapper working for anyone? I've tried using it and it doesn't create a .txt file... it does the generating process with the loading bar but there's been no output.

in the multi-channel don't place the full name of type

for ca\plants2\tree\t_picea2s use t_picea2s

then with a text editor replace the "t_picea2s" with "ca\plants2\tree\t_picea2s"

The problem is related to the text in middle of slashes that will be interpreted as folder names (i've found the issue by watching the source code snippet released on the forum)

for the mixed density make a mask with 3 colours only, and assign to each colour (Red, Green, Blue) a different density.

Another hint to avoid ultra densified trees is to make a BMP of the same size of terrain.bmp (or 2048x2048 max) and set the correct size to Landmass dimension parameter.

Hope this helps

Share this post


Link to post
Share on other sites

You don't need to do all that text editing...

When you add trees or any other object to visitor it uses the "pathname" as the "name"... but you can, and probably should, change that.....

NatObjects.jpg

Then, as in the example above - you can just type "pine1S" into maskmapper and it'll know what you mean...

... on the "greyscale" maskmapper point... Rocket's quite clear in his instructions that the value you set - say "6 trees per cell, please" is the maximum number of trees you get - if the cell is 100% white - for greyer values you get less trees... The problem seems to be that it's difficult to see the scaling actually happening since your "maximum" number of trees is likely to be quite small... if 3 trees per 10m^2 is your "maximum", then areas that have effectively greyscaled and only therefore have 2 trees per 10m^2 don't look that different... sadly, the range is too small for it to really operate effectively... and it has to be a fairly dramatic greyscaling to have any effect at all...

B

Edited by Bushlurker

Share this post


Link to post
Share on other sites

Great bushLurker, this was a great info, also for simplifying my map making!

Share this post


Link to post
Share on other sites

The biggest bonus of maskmapper perhaps is the mask itself... suitably resized it can form another layer on your Mask_lco - allowing you easy placement of "forest floor" textures - guaranteed to be in the same places as the trees.

B

Or the other way around. If you already have a mask_lco, you can easily create masks for maskmapper and be sure you place trees only on a 'forest floor'. (and as mask_lco is bigger than usual mask for maskmapper it's easier to downsize the mask_lco than upsize mask from maskmapper; the latter can require additional smoothing resized pixel blocks).

:)

Share this post


Link to post
Share on other sites

Yes, and it's exactly what i've done in my small island. I've got the forest ground mask and photoshopped until i've obtained a RGB pixelation over a black background.

P.S. the suggestion of having the maskmapper image smaller than the satellite texture image solved all my problems with the forest trees overload!

Share this post


Link to post
Share on other sites

heheh... I had a quick go with large size masks in MM... it doesn't like them much - tree overload indeed... same size as heightmap is definitely what it prefers...

Yeah... with my realworld map I was essentially "dumbing down" ready made shapefiles from Mask_lco resolution to heightmap res for MM... the original shapefiles were vectors - bitmapped at the Mask_lco res.

As Lecholas suggests tho... this approach starts with a shapefile for the mask - thats a realworld map technique... for an imaginary or fantasy island you can just make your own shapefiles/mask from your high-res mask, or magic-wanding from your satmap...

Another method I fooled with a little was to use L3DT to calculate where trees would be likely to be... mainly based on the "climates" facility and based on the assumptions that trees will mostly be on the bits not suitable for roads/fields/farming/other uses - eg: slopes, etc... that actually worked OK too...

Load in your heightmap - tell it to generate a attributes mask of the same size as your heightmap using the "Temperate" climate - and assign some highly noticable colour - like bright red - to "steep lush grass 3" only - generate and see what you get... try different "steep grass" materials - combinations of several... fool with the settings for slope, etc... then save off the attributes map - black out everything except the red - which you change to white - and you have a mask based on terrain slope...

Worth a try...

So although Rockets original thread, and my personal usage, is all tied up with realworld "shapefiles" they're by no means necessary if you're doing a different style of terrain...

B

Edited by Bushlurker

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×