Documentation/Articles/Overview of Map Editor
From NeoAxis Engine Wiki
| Language: | Status: | Approved |
Contents |
Description
Map Editor is designed for creating and editing game maps. With built-in editor tools, you can create levels of almost any complexity.
The list of map editor features includes:
- Visual placement and configuration of objects
- Undoing the last change,
- Editing by Gizmo,
- Setting up level logic in Logic Editor.
General View
Map Editor window consists of the following elements:
- 1. Upper panel - menu and toolbar
- 2. Objects window - list of objects on the current map
- 3. Types window - list of objects that can be added to the map
- 4. Properties window - Displays properties of selected objects
- 5. Workspace
Working with the Editor
We recommend that you read the tutorial on creating a simple map first.
Creating a map involves the following steps:
- Creating basis for the map (this can be a heightmap based terrain),
- Placing objects,
- Setting up map logic.
The basic framework for most maps is landscape or static mesh. Secondly, you have to add objects to the map using the types window. Finally, map logic is a set of algorithms specific for this map. An example of logic would be an event that occurs when the main character enters a certain area. Map logic is created in logic editor. You can learn more about map logic and logic editor in this article.
Camera controls
In the editor you can move around the map with the following keys:
- W - move forward
- A - move left,
- S - move backward,
- D - move right
- Q - move up,
- E - move down.
Right-click and hold in order to rotate the camera in cursor movement direction. While doing so, camera position will stay at a fixed point. With the middle mouse button pressed, camera will move in mouse movement direction, just like when using A and D buttons. When moving the mouse up and down, the camera moves up and down, just like when using Q and E keys. In this case the camera will not be rotated.
Upper panel
The upper panel contains menus and toolbars.
Menu
| Name | Description |
|---|---|
| New... | Create a new map. |
| Open... | Load a map. |
| Close | Close current map. |
| Save | Save current map. |
| Save As... | Save current map under a new name. |
| Scene File Import / Export | Enables map importing and exporting. This option can be used for transferring objects from one map to another, as well as for importing scenes from 3d modeling packages. Here you can learn more about exporting scenes from Autodesk 3ds Max. Here you can learn about exportig scenes from Autodesk Maya. |
| Exit | Close the editor. |
| Name | Description |
|---|---|
| Undo | Undo the last action |
| Redo | Redo an action. |
| Select | Enables object selection mode. |
| Move | Enable object movement upon selection. In this mode you can move objects using a special tool (Gizmo). |
| Rotate | Enable object rotation upon selection. In this mode you can move objects using a special tool (Gizmo). |
| Scale | Enable object scaling upon selection. In this mode you can move objects using a special tool (Gizmo). |
| Clone | Clone the selected objects. |
| Delete... | Delete the selected objects. |
| Find... | Open object search dialog. |
| Focus Camera To Object | Center the camera on selected objects. |
| Name | Description |
|---|---|
| Entity Types Window | Display the types window. |
| Entity Entities Window | Display the objects window. |
| Properties Window | Display the properties window. |
| Output Window | Display the output window. |
| Extensions Toolbar | Display a custom toolbar. Programmers can assign their own buttons to this panel. |
| Status Bar | Display the status bar. |
| Name | Description |
|---|---|
| Logic Editor | Open the Logic Editor. |
| Name | Description |
|---|---|
| Draw Static Geometry | Enable\disable rendering of static geometry. |
| Draw Models | Enable\disable rendering of models. |
| Draw Effects | Enable\disable rendering of effects. |
| Draw Post Effects | Enable\disable rendering of special effects. |
| Enable Dynamic Lighting | Enable\disable dynamic lighting. |
| Allow Hardware Instancing | Enable\disable hardware instansing. |
| Draw Wireframe | Enable\disable wireframe rendering. |
| Draw Static Physics | Enable\disable rendering of static physics. |
| Draw Dynamic Physics | Enable\disable rendering of dynamic physics. |
| Draw Scene Graph Info | Enable\disable bounds rendering for all map objects, as well as for the map itself. |
| Draw Map Objects Bounds | Enable\disable bounds rendering for map objects. |
| Draw Scene Node Bounds | Enable\disable bounds rendering for all map objects except for static objects. |
| Draw Static Mesh Object Bounds | Enable\disable bounds rendering of static meshes. |
| Draw Static Zones, Portals, Occluders | Enable\disable rendering of zones, portals and occluders. |
| Draw Lights | Enable\disable rendering of geometry and bounds for light sources. |
| Draw Game Specific Debug Geometry | Enable\disable rendering of debug information. Debug information is usually specified by project programmers. |
| Frustum Test Mode | Enable\disable detection of object clipping by map boundaries. With this option enabled, all objects which are completely outside the map will disappear from the scope. |
| Draw Shadow Debugging (PSSM) | Enable\disable rendering of debug information related to the shadows (PSSM). |
| Advanced | Click the Entity World Explorer item in the Advanced submenu, in order to access Entity World Explorer. Entity World Explorer contains a list of all objects present in current map. You can select an item from the list, to view its properties. |
| Name | Description |
|---|---|
| Run Simulation | This option starts the Game.exe file and loads the current map. Startup options can be specified in settings. |
| Options... | Open editor configuration window. |
| Name | Description |
|---|---|
| Overview of Map Editor | Link to this article. |
| Documentation | Proceed to the homepage of NeoAxis documetation. |
| About... | Open the "About Program" window. |
Toolbar
| Name | Description |
|---|---|
| 1. New | Create new map. |
| 2. Open | Load an existing map. |
| 3. Save | Save current map. |
| 4. Select | Enable object selection mode. |
| 5. Select and Move | Enable object movement upon selection. In this mode you can move objects using a special tool (Gizmo). |
| 6. Select and Rotate | Enable object rotation upon selection. In this mode you can move objects using a special tool (Gizmo). |
| 7. Select and Scale | Enable object scaling upon selection. In this mode you can move objects using a special tool (Gizmo). |
| 8. Gizmo Transform | Select the gizmo editing mode. Determines, coordinates of which type are to be edited. You can chose between "World" (world coordinates) and Local (local coordinates of the object). |
| 9. Snap Move | This tool is used in the Select and Move mode. Enables object movement with particular step.You can configure step value in options. |
| 10. Snap Rotate | This tool is used in the Select and Rotate mode. Enables object rotation with particular step.You can configure step value in options. |
| 11. Snap Scale | This tool is used in the Select and Scale mode. Enables object scaling with particular step.You can configure step value in options. |
| 12. Show Grid | Show grid. |
| 13. Focus camera to object | Center camera on selected objects. |
| 14. Update alignment of objects | Update position of objects, depending on your alignment (a property of AlignmentMethod type objects). |
| 15. Options | Open editor configurations. |
| 16. Run Simulation | This option starts the Game.exe file and loads the current map. Startup options can be specified in settings. |
Objects Window (Map Entities)
In this window you can view the list of all objects on the map. Any map has a Map type object, which contains most general map settings. Some objects can be grouped into layers.
Working with layers
For the purpose of convenience, map editor supports object distribution over layers.
Map layers may contain objects, as well as other layers. Any map has a Root Layer with the rest of layers being a part of it.
In order to create a new layer, you have to right-click on one of the existing layers, for example, on Root Layer. The selected layer will be the parent layer for the new layer. I.e. the new layer will be a part of the selected layer. Now, select the New Layer option in the context menu. To complete layer creation, you have to specify a name for the new layer.
To add an object to a layer, just select a layer and add an object to the map. As long as the layer is selected in the Map list, all new objects will be added to this 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 "Pensil" icon in order to disable selection for objects of this layer. In order to enable object selection for this layer press this icon again.
Pres the "Eye" icon in order to stop displaying layer objects. Click again to make objects visible.
| Name | Description |
|---|---|
| New Layer | Create a new layer. |
| Visible | Enable/disable display of objects in this layer. If this parameter is set to 0, the "Eye" icon will be crossed. |
| Allow To Edit | Enable/disable selection of objects in this layer. If object selection is disabled, folder icon will be crossed. This option may be usefull, when you have configured all objects of the layer and you are not planning to edit them further. |
| Select Entities | Select all objects in this layer. |
| Move Selected Entities To This Layer | Move selected objects to this layer. |
| Delete | Delete layer. |
| Rename | Rename layer. |
Types Window (Entity Types)
This widow contains a list of object types you can place on the map. Use this to place objects, you have created in Resource Editor
This window displays only those types, that have the AllowEditorCreate property set to True.
On the left there is an Alignment of objects combo box. Use it to specify alignment of new object. You can specify one of the following values:
| Name | Description |
|---|---|
| By Bounds | Alignment by object bounds. |
| By Bounds Witch Rotation | Alignment by object bounds and rotation. Use this to align objects on non-horizontal surfaces. We recommend that you use this alingment type while placing objects on rough terrain. |
| By Center | Alignment by object center. |
There are two more buttons near the combo box:
| Name | Description |
|---|---|
| Automatic aligments to objects | If this option is enabled, the AlignmentMethod property will be configured for the objects being created. |
| Random rotation | New objects will be placed with a random rotation around their axis. This option may be usefull when placing such objects as trees. |
Properties Window
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:
| Name | Description |
|---|---|
| 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. |
| Type | Entity type. |
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.
Editor Setiings
You can access the Options window through the Tools menu. The window contains the following tabs:
General
This tab contains basic settings.
| Parameter | Description |
|---|---|
| General: | |
| Load Previous Map at Startup | If this parameter is set toTrue, the last map you worked with will be loaded. |
| Show Splash Screen at Startup | Specifies if a splash screen will be displayed when loading the editor. |
| Sound Volume | Volume of sound. |
| Object Tips | |
| Objects Tips Items | Enables customisation of object tips. |
| Show Objects Tips | If this parameter is set to True object tips will be displayed. |
| Run Simulation | |
| Run Simulation Parameters | Parameters of simulation run. |
| Selection | |
| Double Click the Selection Radius | Selection marker radius for objects selected with double-click. |
| Viewport | |
| Material Scheme of Viewport | The active Material Scheme. |
| Maximum FPS | Maximum frame rate. |
| Show FPS | If this parameter is set to True, frame rate will be displayed on the screen. |
| Show Triangle and Batch Count | If this parameter is set to True the number of rendered triangles and batches (DIPs) will be displayed on the screen. |
Camera
Use this tab to configure the camera.
| Parameter | Description |
|---|---|
| Fast Velocity ("Shift" Key) | Speed of rapid camera movement (while holding the Shift key) around the map. |
| Normal Velocity | Speed of normal camera movement around the map. |
| Rotate Sensitivity | Sensitivity of camera rotation. |
Gizmo Tab
In this tab, you can configure gizmo (a tool for changing object position).
| Parameter | Description |
|---|---|
| Sensitivity | |
| Rotation Sensitivity | Sensitivity of object rotation. |
| Snapping | |
| Movement Snapping | Step value by object movement (in meters). |
| Rotation Snapping (degrees) | Step value by object rotation (in degrees). |
| Scale Snapping (%) | Step value by object scaling (percentage). |
Grid Tab
In this tab you can configure auxiliary grid.
| Parameter | Description |
|---|---|
| Grid Color | Color of the grid. You can also specify grid transparency. |
| Grid Height | Height of the grid. |
| Grid Step | Grid step. |
| Grid Visibility Distance | Visibility range of the grid. |
| Show Grid | If this parameter is set to True grid will be displayed. |













