Documentation/Articles/Overview of Map Editor
From NeoAxis 3D Engine Wiki
|Language:||English • Russian||Status:||Approved|
Map Editor (MapEditor.exe) is a tool for creation worlds of your project. The tool is a complex editor to manage objects on the map. In addition to positioning and configuring the objects on the map, the tool includes specialized editors, such as:
- HeightmapTerrain — landscapes editor on the basis of heightmaps.
- MapCompositorManager — Editor for configuration of full-screen effects.
- DecorativeObjectManager — Manager of decorative objects. Designed to create a large number small objects such as grass, small stones and more.
- Logic Editor — Editor for adding behavior logic of the objects on the map
The Map Editor consists of the following elements:
- Upper panel - menu and toolbar.
- Objects window - list of objects on the current map.
- Window of objects creation - list of available objects for creation.
- Properties window - window with the properties of the selected objects.
- Workspace - window for editing the objects using visual tools.
Working with the Editor
Recommended for reading tutorial of the creation simple map.
Creating a map involves the following steps:
- Creating basis of the map
- Placing of the objects
- Logic configuration.
The basic framework for most maps is heightmap terrain or static mesh. You can add objects on a map using Object Creation Window. At least, map logic is a set of specific algorithms for this map. An example of logic could be an event that occurs when the main character enters a certain pre-defined area. Map logic is configured in a special editor. You can learn more about how to work with logic editor in this article.
You can use the following keys for moving around the map in the editor:
- W — move forth,
- A — move left,
- S — move backward,
- D — move right,
- Q — move up,
- E — move down.
Press and hold button Shift allows you to quickly move around the map.
Right-click and hold in order to rotate the camera in cursor movement direction. Thereat, camera is fixed at one point. With the middle mouse button pressing and mouse moving, the camera moves in the appropriate direction, just like when using A and D buttons, and when moving the mouse up-down - camera moves up and down, similar to the buttons Q and E. The camera looks straight and does not rotate.
The bulk of map objects have such characteristics as position, rotation and scale. These parameters define placement of the object in space. To edit these properties you can use the corresponding fields in the map object properties — Position, Rotation and Scale. But editing spatial placement of objects is much more convenient by visual means. That is what the transformation tool is for.
Each of three characteristics of an object is controlled by its own transformation tool:
You can choose the tools on the toolbar or in the Edit menu.
Before placement of some object or objects can be changed, this object objects must first be selected. Object selection works with the chosen transformation tool too, so you can first select a transformation tool and then select an object.
Position Transformation Tool
The position transformation tool allows changing position of the object as specified by the Position property of the map object. This tool is represented with three orthogonal axes — X, Y, Z.
To change one of object position components (X, Y or Z) you should hold the left mouse button over the coresponding axis and drag to an appropriate side. When the component is changed, release the mouse button.
By pointing the cursor to one of the edges formed by a pair of the transformation tool axes and by dragging it you can change two components of the object placement simultaneously.
On the toolbar there are additional object movement options:
- Movement Snapping — change position with the given step,
- Move Objects Using Local Coordinates — us local coordinates when moving the object.
You can get thorough information about these buttons in the toolbar section.
Rotation Transformation Tool
The rotation transformation tool allows changing rotation angle of the object as specified in the Rotation property of the map object. This tool is a sphere made of three circles each corresponding to one of coordinate axes. There is also one mor circle in the rotation tool lying in a plane that is orthogonal to the camera direction.
To rotate the object around one of the axes (X, Y or Z), drag the corresponding sphere of the transformation tool.
The additional circle orthogonal to the camera direction is colored in gray. By dragging it you can change the rotation angle of the object around the current camera direction axis.
Also, you can rotate the object around multiple axes. To do this, point the mouse cursor to the circle in the central part of the transformation tool and drag it.
The toolbar offers additional options to rotate objects:
- Rotation Snapping — change rotation angle with the given step,
- Move Objects Using Local Coordinates — use local coordinates when rotating the object ,
- Move Objects During Rotation — move objects when a group of objects is rotated.
You can learn more about these buttons in the toolbar section.
Scale Transformation Tool
The scale transformation tool allows changing object scale as specified by the Scale property. This tool is represented as three orthogonal axes — X, Y, Z.
To change one of components of the object's scale (X, Y или Z) drag the corresponding axis of the transformation tool.
All axes of the transformation tool are connected in twos. By fraggin the edge, you can change two components of the scale simultaneously.
Also, by dragging the triangle in the central part of the transformation tool you can modify the scale of the object symmetrically along all three axes.
The toolbar offers additional options to scale objects:
- Scaling Snapping — change scale with the given step,
- Move Objects During Scaling — move objects when a group of objects is scaled.
You can learn more about these buttons in the toolbar section.
|New...||Create a new map.|
|Open...||Load a map.|
|Close...||Close current map.|
|Recent Maps||List of recent-opened maps.|
|Import 3D Models...||Easy import 3D models.|
|Scene File Import/Export||Enables you to import or export part of the map. Used when you need to move some of the objects from one card to another, and also when you import a batch of modeling scene. Here you can learn more about exporting scenes from Autodesk 3ds Max. Here you can learn about exportig scenes from Autodesk Maya.|
|Reload Map Editor||Reload the Map Editor.|
|Exit||Close the editor.|
|Undo||Undo the last action.|
|Redo||Redo an action.|
|Select||Enables object selection mode.|
|Move||Enables object selection and movement mode. You can move objects using the special tool of transformation in this mode.|
|Rotate||Enables object selection and movement mode. You can rotate objects using the special tool of transformation in this mode.|
|Scale||Enables object selection and scale mode. You can scale objects using the special tool of transformation in this mode.|
|Movement Snapping||Enables/disables stepwise moving objects mode. The movement is a fixed-pitch font. Step specified in the options.|
|Rotation Snapping||Enables/disables stepwise rotation of the objects. The rotation is a fixed-pitch font. Step specified in the options.|
|Scaling Snapping||Enables/disables stepwise scaling of the objects. The scaling is a fixed-pitch font. Step specified in the options.|
|Move Objects Using Local Coordinates||Enables/disables the mode of movement and rotation of the objects in the local coordinates of the object. The tool axis direction of the transformation of the objects will be in the local coordinates of the object, not the world coordinates.|
|Move Objects During Rotation||Enables/disables the mode of moving objects during rotation. If option is selected, the rotation group of the selected objects is relative to the center of the entire group. It means that the coordinates of the objects are changing. If the option is disabled, then rotation of each object of the selected group is around its own center of the objects. Thus, the coordinates of the objects are the same.|
|Move Objects During Scaling||Enables/disables moving objects during scaling. With this option not just selected objects are scaling, but also their coordinates relative to the center of the group. If the option is disabled, then the scaling of the coordinates of the selected objects doesn't work|
|Clone||Clones selected objects.|
|Delete...||Deletes selected objects.|
|Find...||Open object search dialog.|
|Focus Camera To Object||Focus the camera on selected objects.|
|Load Selection||Selects the objects, which have been saved before.|
|Save Selection||Saves the current object selection. 10 slots are available for saving.|
|Move Selected Objects To Camera||Moves the selected objects to the camera.|
|Object Creation Window||Shows object Creation Window.|
|Objects Window||Shows object Window.|
|Properties Window||Shows properties Window.|
|Output Window||Shows output Window.|
|Reset Windows Settings...||Resets Windows Settings.|
|Toolbar||Choose one of the four possible positions of the toolbar.|
|Status Bar||Shows status Bar.|
|Show Grid||Shows Grid.|
|Full Screen Mode||Enables full Screen Mode.|
|Logic Editor||Open Logic Editor.|
|Show Profiling Tool F11||Show Profiling Tool window.|
|Object Explorer...||Opens the Entity World Explorer item. Here you can see the hierarchy of objects, invisible objects, and their properties.|
|Draw Static Geometry||Enables/disables draw Static Geometry.|
|Draw Models||Enables/disables draw Models.|
|Draw Effects||Enables/disables draw Effects.|
|Draw Full-Screen Effects||Enables/disables sraw Full-Screen Effects.|
|Enable Dynamic Lighting||Enables/disables dynamic Lighting.|
|Allow Hardware Instancing||Enables/disables hardware Instancing.|
|Draw Wireframe||Enables/disables draw Wireframe.|
|Draw Static Physics||Enables/disables draw Static Physics.|
|Draw Dynamic Physics||Enables/disables draw Dynamic Physics.|
|Draw Scene Graph Of Scene Objects||Enables/disables draw Scene Graph Of Scene Objects.|
|Draw Scene Graph Of Map Objects||Enables/disables draw Scene Graph Of Map Objects.|
|Draw Map Objects Bounds||Enables/disables draw Map Objects Bounds.|
|Draw Scene Node Bounds||Enables/disables draw Scene Node Bounds.|
|Draw Static Mesh Object Bounds||Enables/disables draw static mesh object bounds and other static objects.|
|Draw Static Zones, Portals, Occluders||Enables/disables objects of the Portal System, such as zones, portals and occluder.|
|Draw Lights||Enables/disables Draw of the geometry and size of the lights.|
|Draw Game Specific Debug Geometry||Enables/disables draw Game Specific Debug Geometry. Game Specific Debug Geometry is determineded by programmer.|
|Frustum Test Mode||Enables/disables visibility of the objects which are beyond the screen. When activating this mode, the objects, which are comletely beyond the the border of the screen, are excluded from rendering.|
|Draw Shadow Debugging (PSSM)||Enable/disable rendering of debug information related to the shadows, such as Parallel-Split Shadows Maps (PSSM).|
|Reset To Defaults||Reset to the default values.|
|Example of Add-on Creation||Example of Add-on Creation for editor.|
|Exporting To 3D Model||Exporting card To 3D Model. Supported formats FBX and COLLADA.|
|Open Resource Editor||Open Resource Editor.|
|Run Simulation||This option starts the Game.exe and loads the current map. Startup options can be specified in settings.|
|Options...||Open editor configuration window.|
|Overview of Map Editor||Opens Overview of Map Editor, i.e this article.|
|Documentation||Opens the home page of documentation..|
|About...||Open the "About Program" window.|
|1. Import 3D models||Easy import 3D models.|
|2. New||Create new map.|
|3. Open||Load map.|
|4. Save||Save map.|
|5. Undo||Cancel last action.|
|6. Redo||Repeat cancelled action.|
|7. Select||Enable object selection mode.|
|8. Move||Enable object movement upon selection. In this mode you can move objects using a special transformation tool.|
|9. Rotate||Enable object rotation upon selection. In this mode you can move objects using a special tranformation tool.|
|10. Scale||Enable object scaling upon selection. In this mode you can scale objects using a special tranformation tool.|
|11. Movement Snapping||Enables/disables stepwise movement of the objects. The movement is a fixed-pitch font. Step is specified in the options.|
|12. Rotation Snapping||Enables/disables stepwise rotation of the objects. The rotation is a fixed-pitch font. Step is specified in the options.|
|13. Scaling Snapping||Enables/disables stepwise scalling of the objects. The scalling is a fixed-pitch font. Step is specified in the options|
|14. Move Objects Using Local Coordinates||Enables/disables the mode of the movement and rotation of the objects in the local coordinates of the object. The tool axis direction of the transformation of the objects will be in the local coordinates of the object, not in world coordinates in this mode.|
|15. Move Objects During Rotation||Enables/disables moving objects mode during rotation. If the option is selected, the rotation group of the selected objects is relative to the center of the entire group. Accordingly, the coordinates of the objects are changing. If the option is disabled, then rotation of each selected object in the group goes around its Center. Thus, the coordinates of the objects remain the same.|
|16. Move Objects During Scaling||Enables/disables moving objects mode during scaling. If this option is selected, both the objects of the selected group and their coordinates relative to the center of the group are scaled. If the option is disabled, then the scaling of the coordinates of the selected objects is not proceeded.|
|17. Tools to Move Objects Step by Step||Open the menu of stepwise changes of the objects. More details here.|
|18. Tools to Set Random Rotation, Scaling||Open the Setup menu randomly rotation and scaling of the objects. More details here.|
|19. Tools to Set the Vertical Alignment||Opens a window for vertical alignment of objects. More details here.|
|20. Clone||Clone selected objects.|
|21. Delete||Delete selected objects.|
|22. Find||Open the dialogue of searching objects.|
|23. Focus Camera to Object||Center the camera on selected objects.|
|24. Move Selected Objects to Camera||Move selected objects to the camera.|
|25. Lock Selected Objects to Camera||Attach the selected objects to the camera. As long as the option is enabled, the selected objects will be moved together with the camera.|
|26. Logic Editor||Open the Logic Editor.|
|27. Show Grid||Show Grid.|
|28. Options||Open the options of the editor.|
|29. Reload Map Editor||Reload Map Editor.|
|30. Open Resource Editor||Open Resource Editor.|
|31. Run Simulation||Run Simulation. Game.exe opens and loads the current map. Startup options can be set in the preferences.|
Tools for Step Changing of the Objects
|1. Step Move||Step Move. Allows you to specify a fixed step. Using 6-buttons, you can zoom in and out the coordinates of objects in the specified step along the three axes. Button beneath Align are intended to align the coordinates of objects for the respective axes.|
|2. Step Rotate||Step Rotate. Allows you to specify a fixed rotation. Using 6-buttons, you can zoom in and out the rotation angles of objects on the specified step along the three axes. Button beneath Align are intended to align the rotation angles of objects for the respective axes. Button Reset Rotation resets the corners of objects to the zero values.|
|3. Step Scale||Step Scale. Allows you to specify a fixed step zoom. Using 6-buttons, you can zoom in and out scale of the objects on the specified step along the three axes. Button Constrain proportions is intended for saving the proportion. If it is selected, the scale changes proportionally on all three axes. Button Reset Rotation resets the scale objects to single values.|
Tools for Random Rotate, Scale
|1. Random Rotate||Rotate objects randomly. Allows you to specify a range (Min, Max) in which the rotation angles will be generated. Button Update updates the objects.|
|2. Random Scale||Scale objects randomly. Allows you to specify a range (Min, Max), which will be generated by the zoom factor. Select the Constrain proportions is intended for saving the proportion. If it is selected, the scale changes proportionally on all three axes. Button Update updates the objects.|
Tools of Vertical Align of the Objects
|1. Vertical Align by Bounding Box||Vertical Align by Bounding Box. Calculates the vertical position of the objects according to their size.|
|2. Vertical Align by Bounding Box With Rotation||Vertical Align by Bounding Box With Rotation. Calculates the vertical position of the objects according to their size and rotation.|
|3. Vertical Align by Center||Vertical Align by Center of the Objects.|
|4. Update Auto Alignment||Update Auto Alignment. Clicking the button updates the position of the object according to the settings of the vertical alignment of the object (property AutoVerticalAlignment of the object).|
In this window you can view the list of all objects on the map. Some objects can be grouped into layers. Besides, any map has object of the map (Map), which contains most general map settings.
Work with Layers
For the purpose of convenience, map editor supports object distribution over layers. Layers can include other layers, thus representing hierarchy tree
For creation a new layer, you need to right-click on one of the layers that will be the parent to the new. Now, select the New Layer option in the context menu and specify a name for the new layer.
To the right from layer name you can see layer number, the number of objects in this layer, as well as two icons. Press the icon with the cursor if you want to disable selection for objects of this layer.
Clicking on the icon with an eye allows to hide the objects on a layer.
|New Layer||Create a new layer.|
|Expand All||Expand all the layers.|
|Collapse All||Collapse all the layers.|
|Hide Objects||Hide objects in the current layer. Makes all objects of the layer invisible in the editor. When objects on a layer are hidden, then this item is renamed into Show Objects, and clicking on it will display the layer objects.|
|Show Objects for Layer and Sublayers||Show Objects for current Layer and all Sublayers.|
|Hide Objects for Layer and Sublayers||Hide Objects for current Layer and all Sublayers.|
|Disable Object Selection||Disable Object Selection. Forbiddens the selection of the objects in the current layer. When selecting objects is already forbiddened, this item is renamed into Enable Object Selection and clicking on it will lead to the resolution of layer objects selection.|
|Enable Selection for Layer and Sublaers||Enable Selection for current Layer and all Sublaers.|
|Disable Selection for Layer and Sublayers||Disable Selection for current Layer and all Sublayers.|
|Select Objects||Select all Objects, belonging to the current layer.|
|Select Objects for Layer and Sublayers||Select Objects for current Layer and all Sublayers.|
|Move Selected Objects to This Layer||Move Selected Objects to the current Layer.|
|Delete||Delete the layer.|
|Rename||Rename the layer.|
Object Creation Window
The window of creating objects is intended for creation of new objects on the map. As a new map object can act as prepared object, so and 3D model.
Buttons at the top of the window, allow setting the alignment and rotation of new objects.
|1. Vertical Align by Bounding Box||Align by Bounding Box.|
|2. Vertical Align by Bounding Box with Rotation||Alignment by Bounding Box, as well as rotation, for the alignment of an object on an uneven surface.|
|3. Vertical Align by Center||Align of the object by Center.|
|4. Randomize rotation||Setting random rotation around its axis.|
For addition of a new object, you need to select the object you want in the list, and then place it on a map by moving the mouse cursor above the stage.
Creation of the Objects
This tab enables you to create objects, produced by Resource Editor. There is an icon with a question mark next to each object. The documentation sectionon devoted to this object opens by clicking on it. A list of predefined objects can be found in type descriptions.
This tab allows you to place 3D model on the map. It creates an object as StaticMesh.type.
The Properties window is used for specifying properties of the selected objects. Any object type has its own set of properties. Read types description for more information.
There are five properties that are common to all objects:
|ExtendedProperties||Advanced properties for this object. With this property programmers can add special properties for objects, regardless of object class.|
|LogicClass||Name of the associated logic class. Double-click on an object type in order to create a logic class and proceed to the Logic Editor.|
|Name||Unique name of the object. Name can be blank if object type allows this.|
|TextUserData||User data of the object. Can be used at developer's discretion.|
Adjusting Editor Windows
The editor supports adjustment of window position. To move a window, just click and hold on the title and drag in the desired direction, holding left button of the mouse.
You can access the Options window through the Tools menu. The window contains the following tabs.
This tab contains basic settings.
|Changed File Auto Update|
|Update Materials||Enable/disable automatic update of the materials when changing the out-file materials.|
|Update Meshes||Enable/disable the automatic update of mesh when changing out-files mesh.|
|Update Texture||Enable/disable automatic update of textures when changing the out-files textures.|
|Load Previous Map at Startup||Allows you to set up automatic downloading of maps, which was opened during the previous session.|
|Show Splash Screen at Startup||Enable/disable popup screen when loading the editor.|
|Sound Volume||Sound Volume.|
|Run Simulation Parameters||Parameters of simulation run.|
|Double Click the Selection Radius||Selection marker radius for objects selected with double-click.|
|Show the Names of Objects|
|Settings for Drawing the Names of Objects||Setting display of the object names. More details here.|
|Show the Names of Not Selected Objects||Enable/disable the Names of Not Selected Objects.|
|Show the Names of Objects to Select||Enable/disable the Names of Objects to Select. I.е. wich are under the mouse cursor or the selection rectangle.|
|Show the Names of Selected Objects||Enable/disable the Names of Selected Objects.|
|Max Frames Per Second In Active State||Max Frames Per Second In Active State.|
|Max Frames Per Second In Inactive State||Max Frames Per Second In Inactive State.|
|Show Amount of Triangles and Draw Calls||Show Amount of Triangles and Draw Calls.|
|Show Frames Per Second Counter||Enable/disable Frames Per Second Counter.|
Settings Display of the Objects Names
The elements wich are forming display name are added by using the button Add, and can be deleted by Delete. Each element has a number of options, described below.
|Class Name||Class name of the object. The choice of the class corresponding the current description.|
|Visible Distance||The distance from the subject to camera, after which the description is not displayed.|
|Icon||Icon. Select of textures for the icon.|
|Icon Color||Icon Color.|
|Icon Size||Icon Size.|
|Font Height||Font Height.|
|Show Text||Enable/disable text display.|
|Text Color||Text Color.|
This tab allows you to configure the fonts used in the editor.
|The Font of Context Menu||The font of context menu.|
|The Font of Form||The font of form.|
|The Font of Main Menu||The font of main menu.|
|The Font of Property Grid||The font of property grid.|
|The Font of Source Code Editor||The font of source code editor.|
|The Font of Tree Control||The font of tree control.|
Use this tab to configure sensitive the camera.
|Keyboard Movement Fast Speed||Camera Movement Fast Speed (press Shift) when controlling from keyboard.|
|Keyboard Movement Speed||Camera speed movement in normal mode when controlling from keyboard.|
|Keyboard Rotation Fast Speed||The rotation speed of the camera (press Shift) when controlling from keyboard.|
|Keyboard Rotation Speed||Rotation speed of the camera in normal mode when controlling from keyboard.|
|Mouse Movement Fast Sensitivity||The sensitivity of the camera movement in the accelerated mode (press Shift) when using the mouse.|
|Mouse Movement Sensitivity||The sensitivity of the camera movement in the normal mode when using mouse.|
|Mouse Rotation Horizontal Sensitivity||The sensitivity of the camera rotation with the mouse.|
|Mouse Rotation Vertical Sensitivity||The sensitivity of the camera rotation with the mouse.|
In this tab, you can configure a tool for transformation of the object)
|Line Thickness||Line Thickness.|
|Rotation Sensitivity||Sensitivity of the object during rotation.|
|Shadow Intensity||Shadow Intensity.|
|Size (pixels)||Size (pixels).|
|Movement Snapping||Step when moving an object (in metres).|
|Rotation Snapping (degrees)||Step when rotating the object (in degrees).|
|Scale Snapping (%)||Step when scaling an object (in percentage).|
You can configure auxiliary grid in this tab.
|Grid Color||Grid Color. You can specify the opacity as well.|
|Grid Height||Grid Height.|
|Grid Step||Grid Step.|
|Grid Visibility Distance||Grid Visibility Distance.|
|Show Grid||Enable/disable displaying of the auxiliary grid.|