Difference between revisions of "HPL2/Tools/Level Editor"

From Frictional Wiki
< HPL2‎ | Tools
Jump to navigation Jump to search
m (Mudbill moved page Hpl2:Tools:editors:level editor to HPL2/Tools/Level Editor without leaving a redirect)
m
Line 3: Line 3:
 
The Level Editor is our own application to build maps for HPL2-based games. It is comprised of a set of basic object creation and edition modes which make the building task a lot easier.
 
The Level Editor is our own application to build maps for HPL2-based games. It is comprised of a set of basic object creation and edition modes which make the building task a lot easier.
  
== Overview ==
+
==Overview==
  
 
When run, the first screen we get to see is like this:
 
When run, the first screen we get to see is like this:
Line 11: Line 11:
 
Each part of the screen has a specific function, as follows:
 
Each part of the screen has a specific function, as follows:
  
# [[#main_menu|Main menu bar]]: this is where every non-editor command lies, as well as some edition ones.
+
#[[#main_menu|Main menu bar]]: this is where every non-editor command lies, as well as some edition ones.
# [[#editmode_selection_bar|EditMode sidebar]]: here you will find a set of buttons used to switch the current behaviour of the editor. More on this later.
+
#[[#editmode_selection_bar|EditMode sidebar]]: here you will find a set of buttons used to switch the current behaviour of the editor. More on this later.
# EditMode window area: any helper input the current EditMode needs will appear here.
+
#EditMode window area: any helper input the current EditMode needs will appear here.
# [[#viewport_area|Viewport area]]: this area of the screen is reserved for the viewports, which are used to actually see what you are doing to the map. Every viewport has its own menu bar, to control some parameters of the visualization.
+
#[[#viewport_area|Viewport area]]: this area of the screen is reserved for the viewports, which are used to actually see what you are doing to the map. Every viewport has its own menu bar, to control some parameters of the visualization.
# [[#lower_toolbar|Lower toolbar]]: some tools that are either viewport-dependent or global are located here.
+
#[[#lower_toolbar|Lower toolbar]]: some tools that are either viewport-dependent or global are located here.
  
 
Not listed above are some special windows, used pretty often here:
 
Not listed above are some special windows, used pretty often here:
  
*''' [[:hpl2:tools:editors:save_dialog|Save file dialog]]  
+
*''' [[:hpl2:tools:editors:save_dialog|Save file dialog]] '''
*''' [[:hpl2:tools:editors:load_dialog|Load file dialog]]  
+
*''' [[:hpl2:tools:editors:load_dialog|Load file dialog]] '''
*''' [[:hpl2:tools:editors:color_picker|Color Picker]]  
+
*''' [[:hpl2:tools:editors:color_picker|Color Picker]] '''
*''' [[:hpl2:tools:editors:texture_browser|Texture Browser]]  
+
*''' [[:hpl2:tools:editors:texture_browser|Texture Browser]] '''
*''' [[:hpl2:tools:editors:sound_browser|Sound Browser]]
+
*''' [[:hpl2:tools:editors:sound_browser|Sound Browser]]'''
  
== Main Menu ==
+
==Main Menu==
  
 
This is a menu bar, just like in any other windowed application. Available options for this particular editor are as follows:
 
This is a menu bar, just like in any other windowed application. Available options for this particular editor are as follows:
Line 45: Line 45:
 
**'''Delete''': This will delete the current selected objects.
 
**'''Delete''': This will delete the current selected objects.
 
**'''Create''' /'''Destroy compound object''': Use this to create a compound object with the current selected objects, or to destroy the currently selected compound object. More on compound objects [[:hpl2:tools:editors:level_editor:compound_objects|here]].
 
**'''Create''' /'''Destroy compound object''': Use this to create a compound object with the current selected objects, or to destroy the currently selected compound object. More on compound objects [[:hpl2:tools:editors:level_editor:compound_objects|here]].
**'''Search for object''': This will open the [[:hpl2:tools:editors:level_editor:find_objects|Find Objects window]] window. It is useful when you want to find a particular object and don't want to actually look for it.    
+
**'''Search for object''': This will open the [[:hpl2:tools:editors:level_editor:find_objects|Find Objects window]] window. It is useful when you want to find a particular object and don't want to actually look for it.
 
**'''Browse groups''': This will open the [[:hpl2:tools:editors:level_editor:group_window|Group window]]. This one is used to manage groups of objects.
 
**'''Browse groups''': This will open the [[:hpl2:tools:editors:level_editor:group_window|Group window]]. This one is used to manage groups of objects.
 
**'''Level Settings''': This will open the [[:hpl2:tools:editors:level_editor:level_settings|Level Settings window]] window. This is used to add global fog and skybox to a level, also has other tools.
 
**'''Level Settings''': This will open the [[:hpl2:tools:editors:level_editor:level_settings|Level Settings window]] window. This is used to add global fog and skybox to a level, also has other tools.
 
**'''Options''': This will open the [[:hpl2:tools:editors:level_editor:options_window|Options Window]]. You will find general settings for the editor here.
 
**'''Options''': This will open the [[:hpl2:tools:editors:level_editor:options_window|Options Window]]. You will find general settings for the editor here.
  
== EditMode selection bar ==
+
==EditMode selection bar==
 
Here you will be able to switch between the different EditModes available in this editor. An EditMode describes the state the editor is going to work in when selected. These five EditModes can be found in this editor and the Model Editor.
 
Here you will be able to switch between the different EditModes available in this editor. An EditMode describes the state the editor is going to work in when selected. These five EditModes can be found in this editor and the Model Editor.
  
* [[Hpl2:Tools:editors:select editmode | Select EditMode]]: this mode is used to select and edit objects.
+
*[[Hpl2:Tools:editors:select editmode | Select EditMode]]: this mode is used to select and edit objects.
* [[Hpl2:Tools:editors:light editmode | Light EditMode]]: with this mode you will be able to place lights.
+
*[[Hpl2:Tools:editors:light editmode | Light EditMode]]: with this mode you will be able to place lights.
* [[Hpl2:Tools:editors:billboard editmode | Billboard EditMode]]: use this to create billboards; light halos, light shafts, etc.  
+
* [[HPL2/Tools/Level Editor/Billboard Editmode|Billboard EditMode]]: use this to create billboards; light halos, light shafts, etc.
* [[Hpl2:Tools:editors:particle system editmode | Particle System EditMode]]: one can add Particle systems to the entity with this mode.  
+
*[[Hpl2:Tools:editors:particle system editmode | Particle System EditMode]]: one can add Particle systems to the entity with this mode.
* [[Hpl2:Tools:editors:sound editmode | Sound EditMode]]: used to place sound entities in the map.
+
*[[Hpl2:Tools:editors:sound editmode | Sound EditMode]]: used to place sound entities in the map.
  
 
The following EditModes are exclusive to the Level Editor:
 
The following EditModes are exclusive to the Level Editor:
  
* [[Hpl2:Tools:editors:level editor:staticobject editmode | Static object EditMode]]: this, and the Primitive EditMode, are the actual building tools. StaticObjects (aka level pieces) are placed using this.
+
*[[Hpl2:Tools:editors:level editor:staticobject editmode | Static object EditMode]]: this, and the Primitive EditMode, are the actual building tools. StaticObjects (aka level pieces) are placed using this.
* [[Hpl2:Tools:editors:level editor:primitive editmode | Primitive EditMode]]: creates static geometry to be part of the map. Only Planes are currently supported.
+
*[[Hpl2:Tools:editors:level editor:primitive editmode | Primitive EditMode]]: creates static geometry to be part of the map. Only Planes are currently supported.
* [[Hpl2:Tools:editors:level editor:entity editmode| Entity EditMode]]: objects that are interactive, such as doors, boxes and NPCs are created here.
+
*[[Hpl2:Tools:editors:level editor:entity editmode| Entity EditMode]]: objects that are interactive, such as doors, boxes and NPCs are created here.
* [[Hpl2:Tools:editors:level editor:area editmode | Area EditMode]]: Areas are places that can be used for several purposes, like linking to scripts, setting up where the player starts the map, and so on.
+
*[[Hpl2:Tools:editors:level editor:area editmode | Area EditMode]]: Areas are places that can be used for several purposes, like linking to scripts, setting up where the player starts the map, and so on.
* [[Hpl2:Tools:editors:level editor:decal editmode| Decal EditMode]]: give detail to objects by placing decals on them.
+
*[[Hpl2:Tools:editors:level editor:decal editmode| Decal EditMode]]: give detail to objects by placing decals on them.
* [[Hpl2:Tools:editors:level editor:fog editmode| Fog EditMode]]: similar to the Area EditMode, but will place volumes containing a fog effect.
+
*[[Hpl2:Tools:editors:level editor:fog editmode| Fog EditMode]]: similar to the Area EditMode, but will place volumes containing a fog effect.
* [[Hpl2:Tools:editors:level editor:combine editmode| Combine EditMode]]: useful for optimizing, creates groups of static geometry that will be loaded by the engine as a whole.
+
*[[Hpl2:Tools:editors:level editor:combine editmode| Combine EditMode]]: useful for optimizing, creates groups of static geometry that will be loaded by the engine as a whole.
  
== Viewport area ==
+
==Viewport area==
 
This area is meant to actually show what the map contains. Main article: [[Hpl2:Tools:editors:viewport|editor viewport]].
 
This area is meant to actually show what the map contains. Main article: [[Hpl2:Tools:editors:viewport|editor viewport]].
  
== Lower Toolbar ==
+
==Lower Toolbar==
 
You can find some useful controls in this bar located at all times at the lower part of the screen.
 
You can find some useful controls in this bar located at all times at the lower part of the screen.
  
Line 96: Line 96:
 
#*'''Active''': sets whether the plane should cull objects.
 
#*'''Active''': sets whether the plane should cull objects.
  
== Types of Objects ==
+
==Types of Objects==
 
These are the kinds of objects that you can create and place in this editor. Details on each one and parameter listing in the following links:
 
These are the kinds of objects that you can create and place in this editor. Details on each one and parameter listing in the following links:
  
* [[Hpl2:Tools:editors:lights| Lights]]
+
*[[Hpl2:Tools:editors:lights| Lights]]
* [[Hpl2:Tools:editors:billboards| Billboards]]
+
*[[Hpl2:Tools:editors:billboards| Billboards]]
* [[Hpl2:Tools:editors:particle_systems| Particle Systems]]
+
*[[Hpl2:Tools:editors:particle_systems| Particle Systems]]
* [[Hpl2:Tools:editors:sounds| Sounds]]
+
*[[Hpl2:Tools:editors:sounds| Sounds]]
  
 
The following types are exclusive to the Level Editor:
 
The following types are exclusive to the Level Editor:
  
* [[Hpl2:Tools:editors:level editor:static objects| Static Objects]]
+
*[[Hpl2:Tools:editors:level editor:static objects| Static Objects]]
* [[Hpl2:Tools:editors:level editor:entities| Entities]]
+
*[[Hpl2:Tools:editors:level editor:entities| Entities]]
* [[Hpl2:Tools:editors:level editor:areas| Areas]]
+
*[[Hpl2:Tools:editors:level editor:areas| Areas]]
* [[Hpl2:Tools:editors:level editor:primitives| Primitives]]
+
*[[Hpl2:Tools:editors:level editor:primitives| Primitives]]
* [[Hpl2:Tools:editors:level editor:decals| Decals]]
+
*[[Hpl2:Tools:editors:level editor:decals| Decals]]
* [[Hpl2:Tools:editors:level editor:fogareas| FogAreas]]
+
*[[Hpl2:Tools:editors:level editor:fogareas| FogAreas]]
* [[Hpl2:Tools:editors:level editor:compound objects| Compound Objects]]
+
*[[Hpl2:Tools:editors:level editor:compound objects| Compound Objects]]

Revision as of 17:56, 15 August 2020

The level editor.

The Level Editor is our own application to build maps for HPL2-based games. It is comprised of a set of basic object creation and edition modes which make the building task a lot easier.

Overview

When run, the first screen we get to see is like this:

Leveleditoroverview-small.jpg

Each part of the screen has a specific function, as follows:

  1. Main menu bar: this is where every non-editor command lies, as well as some edition ones.
  2. EditMode sidebar: here you will find a set of buttons used to switch the current behaviour of the editor. More on this later.
  3. EditMode window area: any helper input the current EditMode needs will appear here.
  4. Viewport area: this area of the screen is reserved for the viewports, which are used to actually see what you are doing to the map. Every viewport has its own menu bar, to control some parameters of the visualization.
  5. Lower toolbar: some tools that are either viewport-dependent or global are located here.

Not listed above are some special windows, used pretty often here:

Main Menu

This is a menu bar, just like in any other windowed application. Available options for this particular editor are as follows:

  • File:
    • New: This command will reset the map to an empty one, and the editor to a default state as well.
    • Open: This will load a map file picked in a dialog in the editor.
    • Save: Use this to save your work to a file in disk. Will ask for a file name when no file has been created.
    • Save As: This will also save your work, but will ask for a file name everytime it is called.
    • Open Recent: This will show a list of up to 10 files that have been recently loaded or saved.
    • Import Objects: This will show a file dialog with exported object (.expobj) files. When picked, the objects in the file will be added to the map.
    • Export Selection: This will save the current selection to a .expobj file.
    • Quit: This will exit the program.
  • Edit:
    • Undo: Use this to undo the last action. Note that not everything you can do in the editor is undo-able.
    • Redo: Use this to redo the last undone action.
    • Duplicate: This will clone the current selected objects. More details on selection later.
    • Delete: This will delete the current selected objects.
    • Create /Destroy compound object: Use this to create a compound object with the current selected objects, or to destroy the currently selected compound object. More on compound objects here.
    • Search for object: This will open the Find Objects window window. It is useful when you want to find a particular object and don't want to actually look for it.
    • Browse groups: This will open the Group window. This one is used to manage groups of objects.
    • Level Settings: This will open the Level Settings window window. This is used to add global fog and skybox to a level, also has other tools.
    • Options: This will open the Options Window. You will find general settings for the editor here.

EditMode selection bar

Here you will be able to switch between the different EditModes available in this editor. An EditMode describes the state the editor is going to work in when selected. These five EditModes can be found in this editor and the Model Editor.

The following EditModes are exclusive to the Level Editor:

  • Static object EditMode: this, and the Primitive EditMode, are the actual building tools. StaticObjects (aka level pieces) are placed using this.
  • Primitive EditMode: creates static geometry to be part of the map. Only Planes are currently supported.
  • Entity EditMode: objects that are interactive, such as doors, boxes and NPCs are created here.
  • Area EditMode: Areas are places that can be used for several purposes, like linking to scripts, setting up where the player starts the map, and so on.
  • Decal EditMode: give detail to objects by placing decals on them.
  • Fog EditMode: similar to the Area EditMode, but will place volumes containing a fog effect.
  • Combine EditMode: useful for optimizing, creates groups of static geometry that will be loaded by the engine as a whole.

Viewport area

This area is meant to actually show what the map contains. Main article: editor viewport.

Lower Toolbar

You can find some useful controls in this bar located at all times at the lower part of the screen.

Level-editor-lower-toolbar.PNG

  1. Grid Controls:
    • Grid Plane: cycles through the available grid planes (XZ, XY, YZ).
    • Toggle Snap (magnet button): enables/disables snapping for translation (over grid), rotation and scale.
    • Grid Height: height of the plane, measured on the plane normal.
    • Snap Separation: separation of snapping points.
  2. Enlarge Viewport button: will toggle enlargement of the focused viewport.
  3. Misc controls(Note: these are not shortcuts):
    • A: toggles global ambient lighting
    • P: togles global point light
    • LT: toggles Lock to grid for tracking in focused viewport
    • F: focus on current selection
  4. Clip Plane controls
    • Selected clip plane: used to select a clip plane among the available ones.
    • Add/Remove clip plane (+/- buttons): adds a new clip plane / removes the selected one.
    • Actual Plane: cycles through the available planes (XZ, XY, YZ).
    • Plane height: height of the plane, measured on the plane normal.
    • Pos/Neg Button: sets the culling side of the plane.
    • Active: sets whether the plane should cull objects.

Types of Objects

These are the kinds of objects that you can create and place in this editor. Details on each one and parameter listing in the following links:

The following types are exclusive to the Level Editor: