Visitor 3 Manual: Difference between revisions
m (Fixed links) |
m (→Debugging buldozer in .NET IDE: Does not make any sense for community) |
||
Line 61: | Line 61: | ||
-connect=pipe\Visitor | -connect=pipe\Visitor | ||
===Interface=== | ===Interface=== |
Revision as of 21:24, 28 August 2007
Introduction
This manual will explain the basic functions of Visitor3, the landscape editing tool for Arma.
Version 3 of the Visitor tool has some improved features over its precedessors:
- Easier object handling
- All operations are much faster (especially with large number of objects
- Support for surface materials rvmat and new transition materials bimpas
- Import/Save landscape profiles from/to images (.png format)
- Complete in English
- Improved networks creation
- Script support
- Background overlay images
- Source control integration
- Reworked and polished UI allowing docking of toolbars etc.
There are some recently added or developed features, which are not present in Personal Edition of V3 and are described elsewhere.
Installation & Setup
To be able to export WRP file of your map, you need to have Arma installed on your system. Arma running in Buldozer mode acts as 3D viewer and exporting tool for WRP file.
First thing you should do is to click Tools\System Preferences to set the path to realtime viewer working directory (standard is P:). All path indications will be relative to this path, so if something does not work as expected you should check there first.
Also define the call parameters for the viewer:
Syntax: PathToArma\Arma.exe [-window] [-cfg=PathToConfig]
Commands in [] are optional (leave [] away when using that command):
PathToArma : Path to the folder where Arma.exe is located, this is the path to game installation.
-window : Starts Buldozer in window instead of fullscreen.
-cfg=PathToConfig : Forces Buldozer to use a certain config. By default Buldozer uses same settings as the game, located in c:\Documents and Settings\USERNAME\My Documents\ArmA\ArmA.cfg, but you may as well use your own config located wherever you fancy, provided you state the path correctly.
-addons=ArmaAddons.txt : File containing list of addons which are used when Arma runs in Buldozer mode. Particularly useful for UI elements required for your work in Buldozer (arrow, box cursor), as well as for other unnecessary things like skies or clutter. Content of TXT file is refering to unpacked data on your working disc (P:\), not to PBOs in game installation. ArmaAddons.txt must be located on the root of disk P, it is a list of addons, configs of the listed addons will be used. E.g. if you want to see correct clutter settings for edited world, its folder must be mentioned in p:\ArmaAddons.txt.
-connect=pipe\anyNameYouLike : Use named pipe and specify its name, usefull especially when debugging, not required for end-users.
Example of file ArmaAddons.txt with paths to addons:
addons[] = { "ca\", "ca\data\", "ca\UI\", "ca\UIFonts\" };
Please, mind that described path must end with backslash - \, otherwise it will be considered as file, not path.
Typical setup of realtime viewer parameters:
o:\arma\Arma2Int.exe -buldozer -window -addons=ofp2addons.txt -maxmem=1024
It is also possible not to specify the viewer exe. This tells Visitor it should only create the pipe and listen to any incoming connections on it. This is handy when launching the viewer externally. One common case for this is when the viewer is launched from .NET IDE for debugging. Options other then -connect are ignored when used this way.
-connect=pipe\Visitor
Interface
Most of the buttons are self-explanatory, so only the important ones should be explained. If you used old Visitor, you will notice that the buttons for selections and object handling disappeared. This is now handled over a combination of Shift/Ctrl and mousebuttons.
Most important in first line of tool buttons are (To start Buldozer) and
(To align the map to window).
contains additional filters and view options.
The actual view is shown in the mapwindow:
The current editormode is shown in this window:
- MMB (Middle mouse button) points cursor on new location.
- RMB (Right mouse button) is used for panning the map.
- Use Ctrl+J to get to cursor location.
Objects and areas selection
- LMB (Left mouse button) deselects/selects/places objects/surfaces.
- For selecting areas press and hold the left mouse-button (LMB) and move it over the area.
- For additional areas to the already selected one, press CTRL+LMB.
- For excluding areas use SHIFT+LMB.
- For selecting an object on map, click on it with the LMB.
- To select several objects drag a selection box around them or use CTRL+LMB to add them to selection.
- To rotate one or several selected object(s), hold CTRL (or SHIFT), click on them an move your mouse up or down.
Basic Map Processing
Detailed tutorial describing basic map making process can be found in Visitor 3: Making of simple landscape.
Getting started:
- Create new project (Project -> New, CTRL+N)
- In Project Preferences, select wanted size. Settings for Sahrani are 2048x2048 cells, 10 m/cell size, terrain size 20480^2 square meters.
- Set project preferences ( Tools -> Project preferences... ), fill in PathToMap\data to Folder - Textures field.
- To insert objects or roads, you will first need to define them in their respective lists accessible in Tool menu: Natural Objects, Artificial objects, Roads etc.
- To import surface textures, use Tools -> Import Satellite&Mask. See Making Satellite Texture and Mask and Layered Terrain Surface Representation for detailed info on the subject.
To export your map:
- Open realtime viewer (Project -> Connect to Buldozer, Ctrl+F7). Realtime viewer has to be running when exporting WRP.
- To export your map for the engine, select Project -> Export world..., and store it to YourMap\YourMap.wrp. YourMap.hpp is stored in the same location, containing reference of keypoints (elements of 2D map).
Tools
Textures
Arma
In new engine, surface textures are not controlled from the toolbox. Instead of groups of texture squares, surfaces are composed from several layers, as described in Layered Terrain Surface Representation, main input are:
- satellite texture (PNG) - equivalent of aerial photo
- surface mask (PNG, discrete colours) -
- layers.cfg - definition of surfaces contained in the surface mask, based on their RGB values
These data are imported using Import satellite & mask option in Tools menu. This causes deleting of all previou surface definitions, segments of satellite texture and mask are generated to folder specified in Project Preferences as Textures folder.
In toolbox, there is only definition of texture layer size, which can be edited by RMB click on its name in the list.
OFP
This describes how surfaces were edited in older version of engine (Operation Flashpoint). Terraintextures and surfaces definitions (the final terrain properties are made in the config).
All surfaces/terrain surface definitions are made here. Visitor works with 2 types of textures: main textures (Primary and variants textures) and transisition textures. While you have to provide the first type, transition textures are created by Visitor to blend the transitions from one texture to another.
- "New...": Define a new terrain type.
- "Add": Add a surface type to a terrain type.
- Disable transitions on surface: Forces Visitor to create no transition textures between different terraintextures.
- "Select": Select primary texture. Note that you have to keep the name under 20 characters, so delete long paths from the name. Also keep in mind that the path is a relative path, so you have to force a folderstucture similar to the OFP2 structure.
- "Add":Adds variant textures. Here aswell a maximum of 20 characters in named are allowed.
- Occuran: Chance in percent that this variant of a texture is selected.
Natural Objects
All flowers,bushes and trees used on the map will be defined here. You can later use Natural objects filter button in main toolbar to hide or unhide these objects in map.
- "Add": Add an object, browse the opening list to select the model you want to use. Note that you have here a maximum length for a name of 50 characters.
- Randomize size intervall: Model size will be randomly set in the given interval when placed in Visitor.
- Randomize angle interval: Model angle will be randomly set in the given interval when placed in Visitor.
- Randomize orientation interval: Model facing direction will be randomly set in the given interval when placed in Visitor.
Randomization during insertion occurs as well for objects placed by a script.
Artificial Objects
Structures definitions.
All artificial objects, like buildings, walls or streetsigns are definded here. Artificial objects filter button can be used to hide or show these objects.
Same as in Natural Objects.
Roads
Roadtypes and sections definitions go in here. Each road consists of curved parts and straight parts with standard dimensions. For each road, curved and straight parts should be defined, as well as terminator segments (6.25 m segment with fading texture). Crossroads are special cases which need to have suitable road types defined for each of their ending direction.
- To start new road, LMB double-click on the map when Road network is selected in the toolbox. New key segment is created (any segment may become key segment) and road can be edited for every available direction (ending - one direction, curves and straight parts - two directions, crossroads - 3-4 directions).
- To edit existing road, LMB double-click on it to access main editing dialogue.
After hitting "Add" or "Edit" the Main setting window for the road shows up.
- Road: Main settings for given roadtype.
- Straight Parts: all straight sections of this roadtype.
Note that those parts need a certain lenght: 6.25, 12.5 or 25 meters.
- Curves: all curved section of this roadtype.
Note that those parts need a certain radius: 25, 50, 75 or 100 meters.
- Special Parts: Sections with special appearance like a T-shape. Same way defined as straight parts. Not necessary.
- Terminators: Sections that ends a road.
Project Preferences
Paths to textures and objects (if stored in a specific place) and other project specific settings.
- Folder - Textures: Path to the folder where all lanscape textures are stored.
Note that the path is saved relative in the map, so you have to maintain folder stucture.
- Folder - Objects: Path to the folder where all objects used in vistor are stored. This path is also relative saved.
- Square Size: Ingame sidelenght of one square in visitor.
Project Parameters
Project parameters contain basic information about the project size. Most information is edited when project is started, later only Satellite grid and Texture layers dialogues are accessible.
Object Manager
There are only two functions of OM. Visitor MUST NOT be connected to realtime viewer when using these functions. In case size of resolution LOD or Geometry LOD of a custom model changed, these functions are useful to give Visitor updated object description or to fix object shifts in vertical axis, including recalculation of all objects to relative elevation to surface =0.
Replace Objects
Deletes or replaces all instances of an object (models) from the map.
Snap Objects
Closes small gaps that can occure when placing objects like fences, walls. Note that objects need to be prepared for snapping.
Editing Modes [F1-F10]
Artificial Objects [F1]
Placing all artificial objects (houses and other structures), except roads.
List of all artificial objects. Select an object and click on the map where you want to place it.
Natural Objects [F2]
Placing all natural objects, except forrests.
List of all natural objects. Select an object and click on the map where you want to place it.
New road objects [F3]
Storage list for new road objects. Still in development.
Road networks [F4]
Placing roads.
List of all roadtypes. Select a type and click on the map where you want to place it. A dialog will pop up leading you through the placement process. Note: You only have to place the first keypart of a roadsection. Then you can simply click on the map and Visitor will try to reach the point, autoplacing the road. Incase you don't like the placement you can change it manually, which is a bit more timeconsuming. If you click on a placed road, the road property window will show up.
Every roadpart (except terminators) have two main directions: A and B, reflecting both ends of that keysection. Visitor uses the closest end of a road to reach a point clicked on the map.
- Orientation Of Key Part (Direction A): Direction the A end is facing, angles are only possible in 10° steps.
- Position X and Position Z: Position of the keypart on the map.
- Gen.Terminator: Creates Terminator or new Keysection at the end of that direction
- Modify Dir. A:
Note: -Deleting/Adding a part in the middle of the road changes also the rest of the road. -Added sections will be inserted before the section marked in "All Parts Of This Direction".
- All Parts Of This Direction: All sections from the keysection to the end of the road
- Delete: Delete selected section.
- Straight Part: Adds the selected straight part to the road.
- Left Curve: Adds the selected left curve section to the road.
- Right Curve: Adds the selected right curve section to the road.
- Special: Adds the selected special section to the road.
Key points [F5]
Display/Create key points. List of all key points on the map. To add key points, click LMB on the map in this editing mode.
Same options as in [[#Named Zones [F6]]] editing mode.
Terrain vertices [F6]
Landscape height changing. Landscape forming tool.
Change Height: Changes the height of points/area on the map.
- Change only: Shows only up when the selection has sea and land points.
Ground (Positive Height): Only points over sealevel will be changed. Sea (Negative Height): Only points below sealevel will be changed.
- Minimal Height: All points will set to the height of the lowest point of selection.
- Median Height: All points will set to the median height of selection.
- Maximal Height: All points will set to the height of the highest point of selection.
- Averange Height: All points will set to the averange height of selection.
- Height: All points will set to this height.
- Transform Into Intervall: Takes the current heightprofile of selection and stretches it into the given intervall.
Erosion: Erodes Landscape.
- nGens: Number of generations of erosion (max. 128 generations).
- WashCoef: Wash Coeficiant, how strong does water flow affect terrain.
- SedimCoef: Sediment Coeficiant, how fast sediments sink down and stay where they are.
- SedimBase: Sediment Base, how much sediment is there from the beginning.
- SedimEff: Sediment Effect, "wash out" resistance of terrain.
- Initrain: Strenght of rain.
- SteadyRain: How long does the rain last.
- FinalBlur: Creates a smoother surface.
Background images [F7]
Sets a backgroundpicture as reference. Only bmp files are supported.
To see the background image, in the "Create background image" dialogue (below), first choose some BMP file. Placement values are coordinates for top left corner (for the image covering whole map, set both to 0). Width and Height are true sizes of imported image. Example: If the map is e.g. 10240x10240 meters and the background image covers whole area, set Width and Height values to 10240. Smaller hi-res images can be used as well, if the coordinates and size are set correctly.
Named zones [F8]
Display/Create named zones.
List of all named zones on the map. To name a zone click LMB on mapscreen the selectionbox.
- Go To...: Centers view on selected zone.
- Properties: Opens properties window (same as doubleclicking the selection).
- Select Objects In Zone: Selects all objects that are in this zone.
- Select area under zone:
...
Named objects [F9]
Browser for all named objects on the map.
Surfaces (OFP) [F10]
Sets textures/properties to surfaces.
- Terrain type: Current selected terrain type.
- Surfaces: Current selected surface.
- Textures: Current selected texture, if set to "random selection" it will randomly choose on of the available textures.
- Set Texture Onto Area: Set current texture on selected area.
- Set Surface Onto Area: Set current surface on selected area. The textures are set according to their probabilities.
- Set Terrain Onto Area: Set current terrain on selected area. The surfaces are set according to their definition. Same for the textures.
- Change Texture Onto Area: Changes texture in area to current selected texture.
- Texture Analysis..:
Woods [F11]
Creating forests as they were in Operation Flashpoint maps. Obsolete and kept only for backwards compatibility.
Terrain
You have several options to edit the height profile of your map:
- Manually ("Landscape - Vertexes" as editor mode/F9): This is the most work intensive version, you change all landscape point individually. We recommend to use this method only for finetune a map.
- Import ASE Height Map (Projects/Import Terrain): Read in an 3D Studio Max .ase height map. This will be more likely removed in future.
- Import PNG Image (Projects/Import from Picture): Imports 8 or 16 bit PNG image, a PBL config must be present (it's created automatically when you export PNG file in the same location). PBL file example:
class cfg { PNGfilename="world.png"; squareSize=5.000000; originX=0; originY=0; minHeight=120.000000; maxHeight=735.000000; };
- Import from XYZ map (Projects/Open "Files of type: *.xyz"): XYZ is ASCI file format contaiting space delimited X Y Z on each line, where XY is UTM and Z is in meters. During import you can align data to top or bottom left and set target data dimension to crop data or extend area.
- Inside Buldozer: You can use U (small step up), I (big step up), J (small step down) and K (big step down). This is also best used for finetune the profile.
Note: for import terain operations (and any other large scale operations like this) it's recommended to disonnect buldozer otherwise it takes really long time to process the map.
Scripts
Visitor 3 gives you the opportunity to use scripts for certain tasks. Scriptfiles have the ending .vis. We use the OFP own scripting language with some extensions. For all possible command see the Visitor Script Command Reference For some examples see Script folder in the directory you found this HTML file.
DEM Files Manipulation and Export
Visitor 3 can't import of DEM files but you can easily convert DEM files to XYZ files using 3rd party software. First choice for this task is MicroDEM. How to export DEM to XYZ from Microdem 6.03:
- Start Quickview application from Microdem folder.
- Select File -> Data Manipulation to open Data Manipulation window (or alternatively click at In<->OutIcon in the Microdem's toolbar). Note that you must select this mode before you do any other actions in Microdem, otherwise it's disabled.
- In Data Manipulation window select Export -> ASCII XYZ, full DEM, open DEM file you want to export and select XYZ file. You're promted to ask coordinates units, use UTM for XY and meters for Z.
Tips and tricks: Another good and freely available DEM utility is 3dem. It's more user friendly and faster than MicroDEM in many operations. The fastest and most compatible file format to use to transfer files from 3dem to Microdem is GeoTiff. Here are some of tips and tricks how to process DEM data using 3dem and Microdem to prepare them for Visitor:
- Patch missing DEM data to avoid holes in the map: Operation -> Patch missing data in 3dem; Edit -> Fill DEM holes in Microdem Data Manipulation.
- Resample DEM to desired size and resolution: In Microdem Data Manipulation Resample - DEM, change X, Y spacing from current value to desired value
- Merge DEMs: In 3dem just open multiple DEM files at the same time to merge them; in Microdem Datamanipulation select Merge -> DEMs, consequently open DEM files you want to merge, press cancel in Open merging file selector after last DEM is added and fill the target file name in merged DEM file selector.
- Crop DEM: In 3dem, use Operation -> Select Smaller Area, select the area and press Enter; in Microdem Data Manipulation use Subset -> DEM rectangle and select the method you prefer.
Advanced Surface Editing
Layered Terrain Surface Representation
Your Old Flashpoint Map Project to Arma Map Project By Ivan
To avoid conflicts arising from simultaneous use of old and new projects in V3, the idea is to have a clone of the old project and transferring there old content using scripts. Since Visitor works with VISITOR OBJECT NAMES, not with MODEL NAMES, it makes the task easy. Keep old project untouched as reference and source for exporting content. Tutorial is based on assumption that you have p:\ as virtual working drive.
Make target project
You will need to make project with same dimensions as old OFP map. - Make new project in Visitor. - Specify width/height: 12800 m. Square size is 50 m.
Project Preferences - Specify some important variables before you start
Let's set paths to objects and correct satellite grid number. For Arma maps, we use following settings in Project Preferences: Textures folder: p:\ca\abel\data Objects folder: p:\ (We can use all objects from all available PBOs this way, you will be able to use Arma objects this way). Square size: should be 50 meters in your case Satellite grid: Calculate proper number using the tutorial Layered Terrain Surface Representation, OpenOffice table or updated version of V3. The goal is to enter correct number so that Visitor will cut imported HUGE texture into 512x512 bits. 512x512 is important, it is best choice for good performance. I used value 16 for Abel, "satellite" texture size was 6400x6400 px.
Detail Texture Resolution Setting
You need to set proper size of area, on which detail textures will be mapped. On Arma islands, we use 40 meters, all textures are made in order to fit to this size. You will probably need to tweak size of original textures to fit your map's values. Clutter density values can be updated accordingly. - Make sure you have Panel of Objects visible (set in View menu). In Panel of Objects, choose "landscape-textures" from first roll-down menu. - On the bottom of panel, there is Layers space, there should be one line. RMB on it and choose to Edit layer. - Name of layer is not important. Name it as you wish. - Resolution IS important. Note that available values are ([terrain size]*2expN). For big maps, you may use quite big number (~100-200 meters, ugly look guaranteed). For Abel, I chose 50x50 meters. Using Sahrani surfaces as they are will thus make them look 1.25x bigger, they stretch on surface 25% bigger than on Sahrani.
Objects
Transferring objects is not a big issue. You just need to name new object in new project EXACTLY SAME as in old one. Then you may use two ways of inserting objects. - E.g. there is object "kostelik" (=little church) in old project. Path to model is ..\Data3d\kostelik.p3d. In new project, make object with same visitor name, updated Arma counterpart is ..\ca\buildings\kostelik.p3d - Now the first way of copying it, quite suitable for copying vegetation because it saves relative size of object: Select objects of this kind in old project, copy them (Ctrl+C). In new project, go to "Edit"-> "Paste absolute" (or Shift+V) and objects should be copied on their exact locations. - Second way is script way: We made ExportObjects and ImportObjects scripts, which are part of V3 distribution. You may add them to menu by going to "Scripts"->"Manage scripts", then add them from your Visitor3\Scripts. They are ExportObjects_100.vis and ImportObjects_100.vis. Now you can export data from old project (use default settings, specify path to *.txt file) and import them into new one.
Forests
You can forget about old forests. My suggestion is to either compose forest square mock-up and copy it or make new ones.
Roads
Same thing as 4. You will need to define all road parts in the same way as in original project. Then you just copy them and Paste-Absolute them into new one. Correct counterparts should be selected.