shezan74

World tools 1.0 released

65 posts in this topic

World tools 1.0 has been released on ArmaHolic (see link below)

Major features:

1) include a complete Fence Generator system for placing fences, walls and a lot of other kind of object.

2) new scripting language for creating macros. Macros can be used to automatically generate farms, houses with gardens, compounds, castles and every other thing you will need.

3) new forest generator tool, with support up to 256 mask colors, multiple different object placement on the same color with user customizable probabilty of placement (useful for bush, rocks, different tree types on the same area).

worldtools_4.jpg

4) a complete manual (available on about-help menu) with scripting samples, complete program logic and usage explanations and a full help for scripting language.

Comments are well accepted to make program even better. Please promptly report any bug found there or via PM, due my plans are to release it on armaholic (if they agreed) on monday if no bug reports are received (or solved).

Special thanks goes to my clan -[TdC]-, to -[TdC]-Socrate.it for for supporting me and to Marco -[TdC]-Solo.it for initial idea.

Enjoy another small contribute to ArmA2 world.

worldtools_3.jpg

Edited by shezan74
download link updated

Share this post


Link to post
Share on other sites

Thanks for the release shezan74! Will test it this afternoon.

Jens

Share this post


Link to post
Share on other sites

Oh man, just did some tests with the forest generator. That's sooo easy and the results are fantastic!! Thanks a lot!

Jens

Share this post


Link to post
Share on other sites

New release of world tools. Thank you to all people that reported suggestions and small features/bugfixes.

This release will conclude my developments on this application, except for reported bugs and interesting features requests.

http://www.pisto.it/WorldTools/worldtools1_1.zip

What's new:

Program interface:

- Small improvements and bugfix to user interface.

Forest placement:

- Some small optimizations on forest placement routines and User Interface

- New option on "Maximum obj per pixel". There is a new checkbox called "Randomize obj number". When program attempts to place forest objects in a pixel will make a dice roll from 1 to "maximum object per pixel" on the selected color.

By unchecking the option the program will not randomize object number anymore but use the maximum value. For the indicated number of attempts the program will attempt a placement following color placement probability.

- Objects with 0% will be not rescaled to match 100%, so will NOT be placed in any way. This way is useful to disable an object placement on a specified section without deleting it.

- Major speed up in image analisys on image with large palette (many optimizations has been done, but please take note that elaboration time will increase with color mask increasing). The program will work EVEN if you can't see any visual update. Threading and notifying the user interface resulted in a unuseful overhead of the application, so i avoided this. Program will automatically notify if something goes wrong.

- New context functions: Copy / Clone for objects behind a color mask

- New feature for mask with a lot of colors: Apply to nearby colors.

This feature will apply the currently selected object definitions to al nearby colors (in a predefined range)

Enjoy :)

Share this post


Link to post
Share on other sites

Lookin nice man, I'll dig into this as soon as I can get the roads network on one of the islands placed.

Share this post


Link to post
Share on other sites

Ok, here I used the forest generator on a larger map (10km x 10km). I used a sat image from Google earth (reduced the number of colors down to 4) as mask-image for the generator. The area I choose has a lot of trees, so in the end Worldtool generated 1.6 mio single trees (wow).

I had some problems importing the exp file in a single process. Importing files with more than 200.000 objects in a single row always crashed V3.

So I split the file up into single files with about 200.000 trees each. That worked pretty good.

Well, it took me about two hours for the whole process. The result is simply stunning.

Bild1.jpg

It would've taken me weeks to place this amount of objects by hand (basically impossible).

Thanks for this great tool!!

Jens

Share this post


Link to post
Share on other sites

this is brilliant shezan, although i have no idea how to import objects to visitor, I've tried importing the .exp file using the import objects script, it processes for a short time but then it rejects all the objects.

Share this post


Link to post
Share on other sites

Your procedure was formally correct.

Rejection was due to the fact you must have the objects already loaded on Visitor 3 "Nature object definitions" and their NAMES must match with world tools "item type name"

howto.gif

In the above image:

1) open Nature Objects definitions in V3, add objects by getting them from your "ca" folder or other custom ones

2) the program automatically will give the current path and file name to the "object name".

You can change the object name as you like but you must be sure that this object name MATCHES (3) with the Item type name set on Object Management window in World Tools.

The Name must be freely customized for clarity purposes in V3, but this name must match the imported one (World Tools uses Item Type Name field to export objects).

If imported file doesn't have a reference in the Nature object definition names or Artificial object definition names the import script will fail (reject) all unkown objects.

Hope this was clear, if not i'll be glad to explain you again :)

Share this post


Link to post
Share on other sites
Ok, here I used the forest generator on a larger map (10km x 10km). I used a sat image from Google earth (reduced the number of colors down to 4) as mask-image for the generator. The area I choose has a lot of trees, so in the end Worldtool generated 1.6 mio single trees (wow).

Bild1.jpg

Great :)

I wonder how performance goes with 1.6 millions trees on a single map.

In case you have placed too much trees you can reduce them by acting on maximum objects per pixel and placement probability on single colors.

did you have an ingame screenshot of your results? will be very interesting!

Share this post


Link to post
Share on other sites

Your tool looks like a big improvement from MaskMapper, but could you tell me how you manage to get some randomization in tree placement so we can't get the vegetation grouping we have previously and also get less trees if needed.

@jens198 : The high tree number can be a real issue ... that why I have never finished my 1st Sbrodj ArmA map , more than a million trees and a beautiful but unplayable map ... . What is great here is that you can rebuild a vegetation cover on the spot ... not being depressed by 15 working days loss.

Share this post


Link to post
Share on other sites

Thanks alot for the picture shezan, very helpful, ill let you know how i get on, cheers!

Share this post


Link to post
Share on other sites

yep worked a charm, thanks Shezan, i pretty much got good results strait away and it was very easy to use, now ill replace all my vegetation using this tool, thanks again.

Share this post


Link to post
Share on other sites
get less trees if needed.

To reduce number of placed object you must work on the "object per pixel" number that means the MAXIMUM ALLOWABLE OBJECTS that COULD BE PLACED in a pixel. If you have a world size of 10240 and a map of 512x512 each pixel is a 20x20 meters area. Setting 1 to this parameter is maybe a small value for a forest.

The second parameter is the COLOR PROBABILITY. If your area is too much populated by objects you must reduce color probability on this area.

The right combination between maximum allowable objects and color probability will help you find the correct mix between mask image size and object placement density.

How it works: (for dummies, very long :) )

Well, when you load a mask the program will check image mask size with the world size you need in your project (and you have defined at project creation in WT).

Based on the mask size and the world size you have an equivalent area represented by your pixel.

Example: your map is 10240x10240 and your mask picture is 1024x1024.

Each pixel of your map represent a box of 10 meters x 10 meters on the map.

for each color in the mask you can set the "maximum object per pixel" value.

If this value is set to 1 the program will ATTEMPT to place 1 object per pixel, that means 1 object (a tree, for example) on each 10x10 mt square (in a random place inside the box).

Setting a number bigger than 1 means the program, for each pixel, will ATTEMPT to place more than 1 object (by default a random number between 1 and the number you set there or, if option behind is unckecked, the max number itself)

Beware, the program will ATTEMPT to place the object...

So, this is the workflow:

the program will find the pixel, and calculate the relative coordinates represented by the pixel (in our example, the square coordinates for a box of 10x10 meters).

The program will determine the COLOR of the pixel and get the color configuration you choosed.

If you have set a MAXIMUM OBJECT PER PIXEL = 5 on this color the program will:

Find a random number between 1 and 5. Example: 4

For 4 times the program, in the selected pixel area will launch a random number between 1 and 100.

If random number is < than color probability (70% in our example) AN UNDEFINED object is SUCCESSFULLY PLACED.

But... what object? the object is again randomly selected between objects indicated in the selected color. The PROBABILITY set on the object determines the probability than this object will appear (note, again, an object MUST appear if color probability determines that an object is successfully placed, object probability is for choice BETWEEN objects).

Let's follow the program flow:

program will find color GREEN.

Green probability is 70%

Objects behind green color is:

Pinus 80% (1-80)

Small rock 10% (81-90)

Small bush 10% (91-100)

Max number of objects on Green color is 5

Random number betweek 1 and 5: Result = 4

First try (1/4)

launch random number: 87

87 > 70% probability on this color.

Launch fail.

Second try (2/4)

launch random number: 32

32 < 70% probability on this color.

Placement OK

Object selection: random number 56 (1-80 is pinus)

Pinus selected

randomize position in the pixel area

place pinus.

Third try (3/4)

launch random number: 66

66 < 70%. Placement ok.

Object selection: random number: 83 (81-90 is rock in our example)

Small rock selected

randomize position in the pixel area

place rock.

Fourth try (4/4)

blah blah blah

MOVE AHEAD TO ANOTHER PIXEL

restart procedure

---------- Post added at 07:39 PM ---------- Previous post was at 07:30 PM ----------

so we can't get the vegetation grouping we have previously and also get less trees if needed.

About grouping: define a color for a vegetation type:

for example:

green = a pinus forest

objects behind green color will be pinus and maybe some rocks.

light green = a betula forest

objects behind light green color will be betula and betula bushes, for example.

red = rocks

objects behind could be rocks, with a very low probability of appearance for COLOR PROBABILITY (10%?)

blue = grass field

objects behind could be sunflowers or other kind of fields, with very high density x sq/mt (high "max object placed per pixel" value) and high "hit" probability on the color itself.

Mixing your mask with your color elevation DEM will allow you to have a fine tuning on your object placement densities... a degradation from light green to dark green can be used, for example, for gradually changing forest density from high to low, and contaminating a betula forest with pinus when the height increases... There are 256 possible color combinations that could be used in the way you like :)

Let me know if you need more help :)

---------- Post added at 07:48 PM ---------- Previous post was at 07:39 PM ----------

Finally, this is my mask (reduced to 512x512 for showing purposes).

It's the merge between altitude mask and forest / vegetation mask

mask.gif

This image is not usable for my needs due to HIGH number of color variation (256) that will make the work too hard for me and will be reduced to 32 colors or so.

Share this post


Link to post
Share on other sites
Great :)

I wonder how performance goes with 1.6 millions trees on a single map.

In case you have placed too much trees you can reduce them by acting on maximum objects per pixel and placement probability on single colors.

did you have an ingame screenshot of your results? will be very interesting!

Well, performance is not a problem. I run ArmA2 on a QuadCore, GeForce 8800GT , Win7 and 4GB RAM. Viewdistance is 3700m. No stutter or anything.

trees.jpg

tree2.jpg

Jens

Share this post


Link to post
Share on other sites

Very very very impressed, this just saved me days on a small map I am building!

Share this post


Link to post
Share on other sites

World Tools 1.2 has been released. Foxhound has promptly updated the page on ArmaHolic (grazie FoxHound :) )

http://www.armaholic.com/page.php?id=10509

This version is much bigger, due the availability of a lot of walls, fences and other objects pre-loaded on it (with images).

What's new:

Version 1.2

· Forest placement percentages rescaled to include decimal values, for a more accurate placement of sparse objects. Now is possible to have a 0.1% probability of placement for an object.

· Some optimizations in forest calculations.

· Added a new summary output page with support for separate (smaller) object files.

· Number of forest generated objects are now shown on per-type basis on result page, to allow user to fine tuning projects.

· Small optimizations on error management.

· Random placed forests are not saved on the project file anymore (much smaller project file size). (my project changed from 70 to 18 mb)

· Greatly increased number of template objects available.

· Help now covers the Visitor3 import function.

Enjoy

Share this post


Link to post
Share on other sites

thanks shezan, some nice new features in this version, will test it out soon.

Share this post


Link to post
Share on other sites

Some screenshots from Spritz Island. Everything you see has been automatically generated by world tools forest function.

1.gif

2.gif

3.gif

In the next days i will post some screenshots of the fence and scripting section.

Share this post


Link to post
Share on other sites

looks nice shezan,

do you think you could render the results of tree/object placement as a black and white image to be blured and multiplied over the islands _sat image in Photoshop?, for some ambient shadow under the trees

I used the tree generator for the tussock and the rocks, but i placed the trees by hand, its doing a great job.

worldtoolstussock.th.jpg

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