====== ArmA 1 VTE Visitor 3 Tutorial ======
[[https://www.pmctactical.org/forum/viewforum.php?f=42|ArmA 1 Forum]], [[:arma|ArmA 1 Home]], [[arma:config|ArmA 1 Config]], [[arma:tools|ArmA 1 Tools]], [[arma:file_formats|ArmA 1 File Formats]], [[arma:missions|ArmA 1 Missions]], [[arma:modeling|ArmA 1 3D Modeling]], [[arma:terrain|ArmA 1 Terrain]], [[arma:texturing|ArmA 1 Texturing]], [[arma:scripting|ArmA 1 Scripting]]
**ArmA 1** aka Armed Assault (ArmA)
This tutorial was created from quick forum post which eventually ended up being quite nice //overview tutorial//. This is very [[https://www.vtemod.com|VTE]] oriented, but still its good read for anyone interested in terrain editing. Read the initial topic [[https://www.pmctactical.org/forum/viewtopic.php?f=29&t=21987|WrpTool -> Visitor 3 -> Satellite / Mask editing]].
Okay lets start with very quick summary:
- Edit terrain in [[ofp:tools:wrptool|WrpTool]] as you have done since 2003.
- When finished, use [[arma:tools:roller|Roller]] to export terrain + objects into text files.
- Import these terrain + objects into [[arma:tools:visitor3|Visitor 3]] (V3).
- Create satellite texture + mask in photoshop (or image editor of your choosing).
- Export the satellite + mask and terrain from V3, use binarize to bring it ingame.
Done.
Now that is the quick summary.
It is truly so easy that you can do the real hard work in WrpTool to place objects and edit terrain, yes you cannot see the ground textures at this point but that's the price we have to pay with these tool sets right now. As regarding VTE terrains I will highly recommend and plead to you to stick with native VTE objects, it is so much easier for us then to use the terrain in the long future years to come as we are not referencing any BIS objects. We have already huge problems from OFP -> ArmA and guess what, almost the same problems existing in ArmA -> ArmA 2. So if you can, please make even big compromises to use only VTE native objects. If you really need some object from ArmA/OFP, please let me know and I'll add it to VTE or we create new one replacing that. We are now quite capable of creating new content so don't be limited of the object set you have, you'd be amazed what I can cook up object wise.
Okay so now all the object and terrain editing work is done, what next? Well we use this tool called Roller to export the objects and terrain into V3 readable format (actually the terrain is the same XYZ format WrpTool reads, but WrpTool itself only imports this format).
Running Roller is a bitch, it is not your user friendly software as WrpTool. I can walk you through it though when the time comes. This is the nutshell of how to run Roller so it exports terrain and objects for v3 to read:
roller.exe filename.wrp --objects --xyz
There is also one more feature which I really like which gives nice look on ArmA/ArmA 2 terrains, is to set the ocean level to -100m depth which then ingame gives that dark blue ocean look. Of course VTE terrains are murky brown color, but still. So use this additional parameter:
--edge-height -100
The -100 is the value of what the edge elevations are set. If you want to do infinite terrain then you should put it to 6 (yes six, positive number) or more to cause normal terrain to appear above seal level.
Now when you have the XYZ file for terrain and .txt file for objects you'll head over to v3 to create the project. Lets talk about that as there are few items to know.
Naturally first you click the new project icon or use Project -> New, OR you can use CTRL-N key to do it. Terrain grid size for Australian AO is 512 x 512, terrain cell size is 50m. v3 offers 25 by default so you gotta change that.
Now comes the first part of choosing new stuff, you can click the calculator button to bring up Satellite grid calculator menu, but we really don't need that right now so lets just skip it.
Okay now the project is done. Go to Tools -> Project Preferences and for the folder textures write:
pmc\vte_australianao\data
And for the config class name write:
vte_australianao
Click OK and you are done.
Now save your project. Where you save the PEW file is up to you, but I highly recommend the ArmAWork\PMC\VTE_AustralianAO\source\ directory. I'm not sure about the armawork dir, but my BIS tools are installed to d:\armatools\ArmAWork\ so I think the "ArmAWork" directory name comes by default (not sure?). Anyways; save your project, it doesn't kill you if you save to a "wrong" dir.
Now choose Project -> Import templates. Then it asks you to a PEW file name, right now I don't have VTE project template ready to download but I'll get one for you when the time comes. V3 says something like "Done. Imported 123 new templates", now you haven't imported anything except the object listing, you can view these from Tools -> Nature objects or Tools -> Artificial objects menus.
Now import the terrain XYZ file by choosing Project -> Import terrain from XYZ... Here you browse to the Roller created XYZ file. When its done, you can zoom out the map or click the "Fit to window" icon to see how the terrain looks in v3. Right about now would be good idea to save the project again (v3 crashes way too often to forgot frequent saves).
Next import the objectives by choosing Scripts -> ImportObjects. Here you browse to the Roller saved object .txt file. Note that the objects file must be split with the split.exe found in Roller dir if it exceeds 500kb I believe. When the import is done you should see AustralianAO in its full glory at v3 :)
Save project and grab a beverage, the initial phase is done :)
Now comes the satellite texture + mask part. Damn man.. this is a bitch, sort of.
We place the satellite stuff into the source dir, ie vte_australianao\source\. Also it would be good idea to create directory called vte_australianao\data\ right now. Its bit complex but I'll just say it shortly (we come back to this), put all sahrani data\ dir contents (but NOT layers\ dir) into this directory.
Go to the vte_australianao\source\ directory and create layers.cfg file. Put this into the layers.cfg file:
class Layers
{
class wetsand
{
texture = "pmc\vte_australianao\data\pisekpoust_detail_co.png";
material = "pmc\vte_australianao\data\pisekpoust.rvmat";
};
class sand
{
texture = "pmc\vte_australianao\data\pisekplaz_detail_co.png";
material = "pmc\vte_australianao\data\pisekplaz.rvmat";
};
class concrete
{
texture = "pmc\vte_australianao\data\pisekpoust_detail_co.png";
material = "pmc\vte_australianao\data\pisekpoust.rvmat";
};
class grass
{
texture = "pmc\vte_australianao\data\travajih_detail_co.png";
material = "pmc\vte_australianao\data\travajih.rvmat";
};
class forest
{
texture = "pmc\vte_australianao\data\lesjeh_detail_co.png";
material = "pmc\vte_australianao\data\lesjeh.rvmat";
};
class coastcliff
{
texture = "pmc\vte_australianao\data\skalaj_detail_co.png";
material = "pmc\vte_australianao\data\skalaj.rvmat";
};
class mountainrocks
{
texture = "pmc\vte_australianao\data\skalaj_detail_co.png";
material = "pmc\vte_australianao\data\skalaj.rvmat";
};
class grass2
{
texture = "pmc\vte_australianao\data\mesto_detail_co.png";
material = "pmc\vte_australianao\data\mesto.rvmat";
};
};
class Legend
{
picture = "pmc\vte_australianao\source\mapLegend.png";
class Colors
{
wetsand[] = {{ 0, 63, 0 }};
sand[] = {{ 255, 0, 60 }};
concrete[] = {{ 192, 192, 192 }};
grass[] = {{ 0, 255, 131 }};
forest[] = {{ 200, 255, 0 }};
coastcliff[] = {{ 0, 255, 250 }};
rocks[] = {{ 205, 0, 255 }};
mountainrocks[] = {{ 217, 120, 0 }};
grass2[] = {{ 77, 0, 255 }};
}
};
Bit of a mouthful, eh?
Now grab the maplegend.png file... which you can find hmm from the sample maps I believe, don't worry about it I'll arrange that for you when the time comes. Put the maplegend.png file into this source directory.
Now we really get into the satellite part.
You need to open photoshop (or your favorite image editor) and create... well dunno really, the size I guess depends on you and your need for detail and such, but lets start with "simple" 8192 x 8192 resolution image. Yep, that is a big ass image alright! :)
In this image, you create the SATELLITE IMAGE view of Australian AO terrain. Meaning all terrain features like jungle canopy ground, rice fields, sea bed, river beds (same thing really), village/town ground and everything you can imagine. I imagine easiest way to visualize how it would look is to say "make Google earth image of your map" of course minus the ocean surface and actual buildings/roads, as in this image we want to "pain" the sea BED, river BED, bottom of a road, bottom of a buildings in cities. Eh its... well damn dunno how to explain it, I guess couple of screenshots are required but those come in later.
Now save the image, its up to your computer hardware how sluggish is it to work with image of this size. Save it under the name of sat_lco.png (that's SAT_LCO.PNG, with L not i). That is your satellite texture.
Open a new image of 8192 x 8192 resolution, this will be the satellite MASK. A mask is the LSD bright colored image which tells ArmA engine what ground types are in this position so it can create ground clutter like bushes, rocks or nothing etc to that location.
I am not sure how to properly create mask image from your satellite image s they need to match (I mean not technically but it would be silly to have lets say a concrete terrain features in bottom of the sea right?). There were one nice tutorial how to use photoshop to create mask from the satellite image, I'll look it up for you.
How the mask work is the bright colors used there are referenced from the layers.cfg file on the class Legend -> class Colors part. For example in our image it says RGB color 255, 0, 60 would be a sand terrain feature.
When you have done with the mask image, save it under the name of "mask_lco.png" (thats MASK_LCO.PNG, with L not i).
Now you are ready to import the satellite + mask. Drum roll.
Make sure you do not have buldozer running (I don't know if it makes a difference, but its one feature less to prone for crashing so just shut it down). Choose Tools -> Import Satellite + Mask ... and then it first ask you to browse into layers.cfg, this is the vte_australianao\source\layers.cfg file. Then it asks satellite file and this is the sat_lco.png file. Finally it asks mask file and this is mask_lco.png file.
Now starts the chopping up of the 8192 pixel image process by v3. What it does is to cut the big image into 512x512 resolution pieces, This size can change if you configure it differently but we didn't so it creates 512 images. Grab another beverage, in fact grab a two while you're at it if your computer is not that powerful. In my AMX X2 7750, 2gb ram machine it takes "short time" to chop up the 8192 image.
When its done we still have one last part to do... fire up buldozer from the red exclamation mark or choose Project -> Connect to buldozer, or use CTRL-F7 keys.
Now buldozer starts and it converts the several hundred(?) png files into paa files. This also takes long time so sit back and chill out.
When its done, you can use buldozer view to see your terrain as its seen ingame ArmA.
Congratulations you are pretty much done! :D
Next you need to export the actual WRP file to be used in ArmA. Do this from the File -> Export Map... feature. Make sure you have buldozer running because otherwise this feature do not work.
Last thing is to use BinPBO to binarize your pmc\vte_australianao directory to be used in ArmA.
Final words for this QUICK tutorial... yes this is very quick, very rough but right now you understand the BALLBARK of how things are done from WrpTool -> Roller -> Visitor 3 -> Binarize -> ArmA, its a long way man for our data to arrive into enjoyable terrain atmosphere ;)