Difference between revisions of "Editor Interface"

From Wolfire Games Wiki
Jump to: navigation, search
(Functions Without Buttons)
m (Spawn Corpse: - added ctrl to the spawn corpse instructions, for Windows users.)
(98 intermediate revisions by 4 users not shown)
Line 2: Line 2:
 
[[Category: Overgrowth]]
 
[[Category: Overgrowth]]
  
==Introduction==
+
[[Image:Editor_Overview.png|right|600px|thumb|caption|The Overgrowth level editor]]
[[Image:editor_interface.png|right|thumb|caption|The editor user interface]]
+
This page details all the interface elements and actions in the Overgrowth level editor.
This page details all the interface elements and actions in the Overgrowth level editor. It can be accessed by pressing the Editor button on the main menu, selecting one of the levels and then pressing escape when in the game.
+
 
 +
The level editor lets you create new levels or even whole campaigns. This is the same editor we used to make the Overgrowth and Lugaru stories.
 +
 
 +
You can use the level editor to edit any existing level in the game.
 +
 
 +
== Activating the editor ==
 +
{{#ev:youtube
 +
|eS3RujmDQ2M
 +
|
 +
|right
 +
|Level editor basics
 +
|frame
 +
|start=15
 +
}}
 +
 
 +
==== To activate the editor: ====
 +
* Create a new level ('''File''' -> '''New''')
 +
* Open an existing level and press <kbd>'''F1'''</kbd>
 +
 
 +
If the editor is active while playing a level, you can open up the editor window again by pressing the <kbd>'''Esc'''</kbd> key.
 +
 
 +
You can deactivate the editor by hitting <kbd>'''F1'''</kbd> a second time.
 +
 
 +
==== Troubleshooting: ====
 +
If you can't get the editor to activate, there are a few things you can try:
 +
* If you have a laptop, try holding the <kbd>'''fn'''</kbd> key while pressing <kbd>'''F1'''</kbd>
 +
* Mash all the modifier keys a few times to make sure they're not stuck down - <kbd>'''ctrl'''</kbd>, <kbd>'''alt'''</kbd>, <kbd>'''shift'''</kbd>, <kbd>'''command'''</kbd>, etc
 +
* Make sure you have all other programs closed, in case one of them is conflicting with the <kbd>'''F1'''</kbd> hotkey
 +
* If some "Help" program comes up when you hit <kbd>'''F1'''</kbd> (such as "HP Help"), edit its settings to disable the hotkey.<br>Or just ''uninstall it'' (because it is bloatware)
 +
<br clear=all>
  
 
== Camera Movement ==
 
== Camera Movement ==
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Action !! Control !! Behavior
+
! Control !! Behavior
 +
|-
 +
! W
 +
| Moves camera forward
 
|-
 
|-
! Forward
+
! S
| W || Moves camera forward.
+
| Moves camera backward
 
|-
 
|-
! Backward
+
! A
| S || Moves camera backward.
+
| Moves camera left
 
|-
 
|-
! Left
+
! D
| A || Moves camera left.
+
| Moves camera right
 
|-
 
|-
! Right
+
! Shift + W
| D || Moves camera right.
+
| Moves camera up
 
|-
 
|-
! Up
+
! Shift + S
| Shift + W || Moves camera up.
+
| Moves camera down
 
|-
 
|-
! Down
+
! Left click and drag
| Shift + S || Moves camera down.
+
| Rotates the camera
 
|}
 
|}
  
== Ribbon User Interface ==
+
== Object Selection ==
[[Image:ribbon_interface.png|right|thumb|caption|The tabs of the ribbon user interface]]
 
The horizontal bar across the top of the window is called the ribbon. Many editor functions can be found here, but some functions can only be reached via hotkeys for now.
 
  
'Cmd' refers to the '⌘' key on Macs, and the 'ctrl' key on PCs.
+
Here are the different ways you can select objects.
 
 
=== Home ===
 
Contains the most common tools.
 
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Button !! Hotkey !! Effect
+
! Action !! Control !! Behavior
 +
|-
 +
! Select single object
 +
| double-left-click on object || Selects clicked on object and deselects all other objects. If the object is part of a group, the whole group is selected. A box around the object indicates that it is selected.
 +
|-
 +
! Toggle-select objects
 +
| shift + double-left-click on objects || Toggles selection of clicked on object. Preserves existing selections.
 +
|-
 +
! Box select objects
 +
| left-click + right-click + drag, or left-click + 'b' + drag || Selects all objects whose centers lie within box drawn on screen. Deselects all other objects.
 +
|-
 +
! Box add to selection
 +
| shift + left-click + right-click + drag, or shift + left-click + 'b' + drag || Adds all objects whose centers lie within the drawn box to the selection. Preserves existing selection.
 
|-
 
|-
! Rabbot
+
! Select decal or object that is under another decal
| 8 || Enter play mode.
+
| mouse wheel up/down || When you have 2 or more objects or decals on top of each other, you can select at least 1 decal or object, put your mouse cursor on top of the one you want to select, then use the scroll wheel to switch your selection between the objects.
 
|-
 
|-
! Paste
+
! Select all
| cmd+v || Pastes the clipboard on the cursor position.
+
| cmd-a || Selects all objects.
 
|-
 
|-
! Cut
+
! Deselect all
| cmd+x || Puts the selection into the clipboard and removes the selected objects.
+
| double-left-click away from all objects || Deselects all objects.
 +
|}
 +
 
 +
[[Image:Editor-selection-debug-info.png|right|thumb|caption|Debug window]]
 +
 
 +
'''Note: ''' If the Debug window is open ('''Top Bar''' -> '''Windows''' -> '''Debug Window'''), then when you select an object some useful information will appear. It shows you what xml file the object is created from, its unique object id, and what type of object it is.
 +
 
 +
<br clear=all>
 +
 
 +
== Transformations ==
 +
 
 +
For all transformations:
 +
 
 +
* In order to transform an object you must first select it.
 +
* Hold ctrl to make movements snap to half-meter increments.
 +
* Hold alt to clone and transform the selected objects, leaving the original objects behind.
 +
* Left-click transforms objects on all axis. Right-click transforms on the two axis that are perpendicular to the side of the bounding box you click on. Holding shift and right click locks the transformation to the axis parallel to the bounding box face you click on.
 +
* Groups are transformed around the group center. Ungrouped objects, even if multiple are selected and transformed at once, are transformed around their own individual centers.
 +
 
 +
=== Translation ===
 +
 
 +
Hover mouse over central region of a bounding box' face, or hold 't'.
 +
 
 +
{| class="wikitable"
 
|-
 
|-
! Copy
+
! Action !! Control !! Behavior
| cmd+c || Puts the selection into the clipboard.
 
 
|-
 
|-
! Undo
+
! Camera relative
| cmd+z || Undo the most recent action.
+
| left-click + drag || Translates clicked on object along plane parallel to the screen.
 
|-
 
|-
! Redo
+
! Locked to plane
| cmd+shift+z || Redo the most recent action.
+
| right-click + drag || Translates clicked on object along plane of clicked on face.
 
|-
 
|-
! Load Item
+
! Locked to line
| cmd+l || Opens the [[#Item_Browser|item browser]].
+
| shift + right-click + drag || Translates clicked on object along normal of clicked on face.
 
|-
 
|-
! Save Item
+
! force decal(s) to map only one object/group
| cmd+shift+s || Opens a save dialog to [[#Save_Selected_Objects|save selected objects]].
+
| hold i || selected decal will only map with that object that is directly underneath your mouse
 
|-
 
|-
! Load Level
+
! force decal(s) to project only on selected objects
| - || Opens a file browser where you can pick what level to load.
+
| press o || selected decal will only map with that object that is directly underneath your mouse
 
|-
 
|-
! Save Level
+
! projection box/angle
| cmd+s || Overwrites the current level with any changes.
+
| press p || to make projection box for decal
 +
|}
 +
 
 +
=== Scale ===
 +
 
 +
Hover mouse near bounding box corners, or hold 'e'.
 +
 
 +
{| class="wikitable"
 
|-
 
|-
! New Level
+
! Action !! Control !! Behavior
| - || Opens the nothing.xml level, which is an empty level by default.
 
 
|-
 
|-
! Parameters
+
! All dimensions
| - || Opens the parameter editor for the loaded level.
+
| left-click + drag || Scales clicked on object in all dimensions (x, y, and z) at once.
 
|-
 
|-
! Group
+
! Locked to plane
| cmd+g || Groups the selected objects.
+
| right-click + drag || Extends clicked on object along plane of clicked on face.
 
|-
 
|-
! Ungroup
+
! Locked to line
| cmd+shift+g || Ungroups any selected groups.
+
| shift + right-click + drag || Extrudes clicked on object along normal of clicked on face.
 +
|}
 +
 
 +
=== Mirror ===
 +
 
 +
Just use the right-click scale tool, and scale down the object until it flips and its mirror image begins scaling up!
 +
 
 +
=== Rotation ===
 +
 
 +
Hover mouse near bounding box edges but away from the corners, or hold 'r'.
 +
 
 +
{| class="wikitable"
 
|-
 
|-
! Rigging tool
+
! Action !! Control !! Behavior
| - || -
 
 
|-
 
|-
! Delete
+
! Free
| delete || Removes any selected objects.
+
| left-click + drag || Rotates clicked on object as if you are pushing the surface of a ball.
 
|-
 
|-
! Exit
+
! Locked to axis
| alt+f4 || Closes the application.
+
| right-click + drag || Rotates clicked on object about normal of clicked on face.
 
|}
 
|}
  
=== Edit ===
+
==Editor/Debug Keys==
Contains tools more directly related to level editing.
 
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Button !! Hotkey !! Effect
+
! Action !! Control !! Behavior
 +
|-
 +
! Toggle editor mode
 +
| F1 || Enables level editor. Press again to exit.
 +
|-
 +
! Activate play mode
 +
| 8 || Spawns you in the level so you can play it. If there already is a player character you will control that, otherwise a player character spawn is created on the editor camera automatically.
 +
|-
 +
! Restore characters
 +
| X || Restores all characters on the level to full health, wakes up any "unconscious" ones, and removes all blood from the environment.
 +
|-
 +
! Reload level
 +
| L || Restarts the current level.
 +
|-
 +
! Change character
 +
| 1-7 || Changes the playable character into one of seven possible characters. 1 cycles through rabbit guard, bandit, and turner models, 2 cycles through civilian rabbit models, 3 cycles through cat models, 4 cycles through rat models, 5 cycles through wolves, 6 through dogs, and the seventh is Rabbot 2.0.
 +
|-
 +
! Active ragdoll
 +
| Z || Puts player character into active ragdoll mode where they will try to protect themselves as they fall. Is active as long as you hold the button.
 +
|-
 +
! Pain ragdoll
 +
| N || Makes the player fall to the ground in agony, until you let go of the button.
 
|-
 
|-
! Calculate shadows
+
! Floppy ragdoll
| - || Starts baking shadows.
+
| M || Makes the player fall to the ground, limp, until the button is released.
 
|-
 
|-
! Calculate GI 2nd pass
+
! Voice Test
| - || Renders second pass of light probes.
+
| V || Plays a test voice.
 
|-
 
|-
! Update global illumination
+
! Toggle combat AI
| - || Re-renders all light probes in the level.
+
| C || Toggles whether the characters in the level will attack each other if they are on different teams.
 
|-
 
|-
! Edit static meshes
+
! Slit throat
| cmd+1 || Toggle ability to select objects.
+
| , || The controlled character suffers a neck wound with blood gushing from it.
 
|-
 
|-
! Edit gameplay objects
+
! Slow time
| cmd+3 || Toggle ability to select hotspots.
+
| Tab || Slows down the whole game.
 
|-
 
|-
! Edit decals
+
! Freeze time
| cmd+2 || Toggle ability to select decals.
+
| ` || Freezes the game. This is useful for posing characters for item placement. '''Note''': The game must be unfrozen to change between controlling the player and editor mode.  
 
|-
 
|-
! Edit lighting
+
! Insta-kill
| - || Toggle ability to select lights.
+
| F || Instantly kills and knocks back nearby NPC's with a death ray.
 
|-
 
|-
! Set Level Script
+
! Experimental Key
| - || Select what script to use for this level.
+
| B || Makes you invisible.
 
|}
 
|}
  
=== Pathfinding ===
+
== Debug Window ==
Tools for nav mesh generation, loading, saving and viewing.
+
[[Image:Editor-selection-debug-info.png|right|thumb|caption|Debug window]]
 +
Just below the top bar menu, on the left side, is a space for debug information.
 +
 
 +
This window is only visible if you have the Debug Window enabled ('''Top Bar''' -> '''Windows''' -> '''Debug Window''').
 +
 
 +
It will tell you information about the selected object, checkpoint progress (if checkpoints are enabled in this level), and a warning if the nav mesh needs to be updated.
 +
 
 +
<br clear=all>
 +
 
 +
== Editor menu ==
 +
The bar across the top of the window is the editor menu. Many editor functions can be found here, but some functions can only be reached via hotkeys for now.
 +
 
 +
'Cmd' refers to the '⌘' key on Macs, and the 'ctrl' key on PCs.
 +
 
 +
=== File menu ===
 +
Contains file operations for loading and saving levels.
 +
 
 +
[[Image:Editor-file-menu.png|right|thumb|caption|The editor "file" menu]]
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 134: Line 248:
 
! Button !! Hotkey !! Effect
 
! Button !! Hotkey !! Effect
 
|-
 
|-
! Create Nav Mesh
+
! New Level
| - || Generates a new navigation mesh.
+
| - || Opens a new empty level in the editor.
 +
|-
 +
! Open Level...
 +
| - || Opens a file browser where you can pick what level to load (starts in Data/Levels directory).
 
|-
 
|-
! Load Nav Mesh
+
! Open Local Level...
| - || Load a previously saved nav mesh from disk.
+
| - || Opens a file browser where you can pick what level to load (starts in last used directory).
 
|-
 
|-
! Save Nav Mesh
+
! Open Recent
| - || Save the current nav mesh to disk.
+
| - || Re-open one of the most recently opened levels in the editor.
 
|-
 
|-
! View Hints
+
! Open Campaign Level
| - || Render navmesh_hint objects.
+
| - || Open one of the levels from the main Overgrowth story mode.
 
|-
 
|-
! View Nav Mesh
+
! Save Level
| - || Render the nav mesh.
+
| cmd+s || Overwrites the currently opened level file with any changes you made.
 
|-
 
|-
! View Region
+
! Save As...
| - || Render navmesh_region objects.
+
| - || Opens a file browser where you can pick a new or existing file to save the level to.
 
|-
 
|-
! View Nav-Collision Mesh
+
! Back to main menu
| - || Render the model the nav mesh is generated on.
+
| - || Leave the editor and return to the main menu.
 
|-
 
|-
! View Jump Nodes
+
! Quit
| - || Render navmesh_connection objects.
+
| alt+f4 || Quit the game.
 
|}
 
|}
  
=== Dialogue ===
+
<br clear=all>
Tools for dialogue editing.
+
 
 +
=== Edit menu ===
 +
Contains basic editing functions. Also contains properties for the level.
 +
 
 +
[[Image:Editor-edit-menu.png|right|thumb|caption|The editor "edit" menu]]
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 166: Line 287:
 
! Button !! Hotkey !! Effect
 
! Button !! Hotkey !! Effect
 
|-
 
|-
! Edit Selected
+
! Undo
| - || Start editing the selected dialogue.
+
| cmd+z || Undo the most recent action.
 +
|-
 +
! Redo
 +
| cmd+shift+z || Redo the most recent action.
 
|-
 
|-
! Load Pose
+
! Cut
| - || Load a pose to use in the scene.
+
| cmd+x || Puts the selection into the clipboard and removes the selected objects.
 
|-
 
|-
! Stop Editing
+
! Copy
| - || Stop editing the dialogue that is being edited.
+
| cmd+c || Puts the selection into the clipboard.
 +
|-
 +
! Paste
 +
| cmd+v || Pastes the clipboard on the cursor position.
 
|-
 
|-
! Preview Dialogue
+
! Select All
| - || Test-play the dialogue.
+
| cmd+a || Select all of the objects in the level.
 
|-
 
|-
! Save Dialogue
+
! Deselect All
| - || Save the active dialogue to disk.
+
| q || Clear the current selection.
 
|-
 
|-
! Toggle Recording
+
! Reload All Prefabs
| - || Allows for placing the camera and actors.
+
| - || Force a reload of all prefab objects in the level.
 
|-
 
|-
! Load Dialogue
+
! Set Level Params...
| - || Load a previously saved dialogue.
+
| - || Set global level parameters (sun settings, sky, fog, HDR, etc).
 
|-
 
|-
! New Dialogue
+
! Set Level Script...
| - || Create a new dialogue.
+
| - || Select what script to use for this level.
|}
 
 
 
=== Lighting ===
 
Tools for editing global illumination.
 
 
 
{| class="wikitable"
 
 
|-
 
|-
! Button !! Hotkey !! Effect
+
! Set Sky Texture...
 +
| - || Opens a file browser where you can pick what sky texture to use.
 
|-
 
|-
! Bake second pass
+
! Edit static meshes
| - || Renders second pass for light probes to give a better result.
+
| cmd+1 || Toggle ability to select non-moving objects (rocks, etc).
 
|-
 
|-
! Show probes
+
! Edit decals
| - || Render light probes.
+
| cmd+2 || Toggle ability to select decals.
 
|-
 
|-
! Rebake first pass
+
! Edit gameplay objects
| - || Re-render all light probes in the level.
+
| cmd+3 || Toggle ability to select characters, hotspots, etc.
 
|-
 
|-
! Show probes through walls
+
! Edit lighting
| - || Render light probes through walls.
+
| - || Toggle ability to select lights.
 
|-
 
|-
! Show tet mesh
+
! Play level
| - || Render tetrahedral mesh generated by light probes to see how they are connected.
+
| 8 || Enter play mode.
 
|-
 
|-
! Probe lighting enabled
+
! Media mode
| - || Enable probe lighting.
+
| - || Enter a disembodied camera mode, for taking screenshots and videos.
 
|}
 
|}
  
== Functions Without Buttons ==
+
=== Selected menu ===
Some functions are only reachable via hotkeys, here are a list of those.
+
Contains operations for working with the current selected objects.
 +
 
 +
[[Image:Editor-selected-menu.png|right|thumb|caption|The editor "selected" menu]]
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Action !! Control !! Behavior
+
! Button !! Hotkey !! Effect
 +
|-
 +
! Go To Selected
 +
| f || Move the camera to frame the selected objects.
 +
|-
 +
! Delete
 +
| backspace || Delete the selected objects from the level.
 
|-
 
|-
! Make player-controlled
+
! Group
| Shift+Cmd+P || Toggles whether a character is controlled by a human or by AI. A human-controlled character's spawn box has a green outline, an AI-controlled character's box has white outlines. If two characters are set to be human-controlled Overgrowth will start in split-screen mode the next time game-play is resumed from editor mode. The second player will be controllable via a USB controller.
+
| cmd+g || Merge the selected objects into a group.
 
|-
 
|-
! [[#Parameter_Editor|Parameter Editor]]
+
! Ungroup
| U (with object selected) || Opens the parameter editor to modify parameters of the selected object.
+
| cmd+shift+g || Break up all groups that are selected.
 
|-
 
|-
! Palette Editor
+
! Set Selection Script Params...
| Cmd+P (with character selected) || Brings up a dialog to modify colors of different parts of the character.
+
| - || Open up the selected object window, and expand the "Script Params" section for the selected objects.
 
|-
 
|-
! [[#Color_Picker|Color Picker]]
+
! Save Selection...
| Cmd+P (with object that is not a character selected) || Brings up a dialog that can be used to tint the color of any selected objects.
+
| cmd+shift+s || Open up the file browser to save the selection as an object template.
 +
Object templates can be loaded like any other object. Script params, transform, and connections are saved.
 +
If you save over a template, it won't be updated in any level it is placed in.
 
|-
 
|-
! [[#Spawn_Dead|Spawn Dead]]
+
! Prefab Save
| Cmd+K or Ctrl+K (with character spawn selected) || Makes selected characters spawn dead. It will spawn at the point it went into ragdoll mode (which may cause it to spawn "dead" while standing up). If you want to update the pose for the dead body then move the body, select the spawn point, and hit the hotkey again to save its new position.
+
| - || Save any changes to the selected prefab to a file, or create a new prefab file from the selection.
 +
Object prefabs can be loaded like any other object. Script params, transform, and connections are saved.
 +
If you save over a prefab, it will automatically be updated in all levels it is placed in.
 
|-
 
|-
! [[#Spawn_Alive|Spawn Alive]]
+
! Prefab Save As...
| K (with character spawn selected) || Makes selected characters spawn alive.
+
| - || Open a file browser to save the selection as a new prefab file.
 +
Object prefabs can be loaded like any other object. Script params, transform, and connections are saved.
 +
If you save over a prefab, it will automatically be updated in all levels it is placed in.
 
|}
 
|}
  
== Parameter Editor ==
+
=== Load menu ===
 +
Contains operations for loading and spawning objects into the level.
  
[[Image:Object_parameter_editor.png|right|thumb|caption|Object parameter editor]]
+
[[Image:Editor-load-menu.png|right|thumb|caption|The editor "load" menu]]
  
You can bring up the parameter editor for an object by selecting it and pressing U, or for the level itself by clicking the "Parameters" button in the home tab of the ribbon. It allows you to change different parameters depending on what object you have selected. For instance if you use it on a regular static object you can precisely adjust its position, scale and rotation. If you use it on a character you can adjust a large number of parameters, including its field of view.
+
{| class="wikitable"
 +
|-
 +
! Button !! Hotkey !! Effect
 +
|-
 +
! Load item...
 +
| - || Open a file browser to pick an item to spawn in. After loading, click in the level to spawn the object.
 +
|-
 +
! Open recent...
 +
| - || Pick an item you've recently spawned to spawn another instance. After loading, click in the level to spawn the object.
 +
|-
 +
! <Rest of menu>
 +
| - || Search or click on an item from a list to spawn in. After loading, click in the level to spawn the object.
 +
Hover over an item to see a thumbnail preview of the item.
 +
|}
  
Note: You can visualize the field of view of a character by going to ../Overgrowth/Data/Scripts and opening up aschar.as and changing the row saying "const bool _draw_stealth_debug = false;" to "const bool _draw_stealth_debug = true;". Then open up enemycontrol.as and change the line saying "float fov_opac_mult = 0.0;" to "float fov_opac_mult = 1.0;". Save both files and tab back into the game and you should see a visualization of every character's field of view.
+
<br clear=all>
  
=== Level Parameters ===
+
=== Nav Mesh menu ===
 +
Tools for nav mesh generation, loading, saving and viewing.
  
Open up the parameter editor for the current level by clicking the the "Parameters" button in the home tab of the ribbon. Here is a description of what each parameter does.
+
[[Image:Editor-navmesh-menu.png|right|thumb|caption|The editor "nav mesh" menu]]
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Parameter !! Description
+
! Button !! Hotkey !! Effect
 +
|-
 +
! Create
 +
| - || Generates a new navigation mesh.
 +
|-
 +
! Save
 +
| - || Save the current nav mesh to disk.
 +
|-
 +
! Load
 +
| - || Load a previously saved nav mesh from disk.
 +
|-
 +
! View mesh
 +
| - || Toggle preview render of the nav mesh.
 
|-
 
|-
! Achievements
+
! View collision
| Decide which challenges you can complete on the level, they appear on the level end screen.
+
| - || Toggle preview render of the collision mesh the nav mesh is based on.
 
|-
 
|-
! Fog amount
+
! View hints
| Sets the thicknoess of the atmosphere and thus how far you can see.
+
| - || Toggle preview render of navmesh_hint objects (which are collision that is only visible to the nav mesh generator).
 
|-
 
|-
! HDR Black point
+
! View region
| Sets what brightness should be regarded as black.
+
| - || Toggle preview render of navmesh_region objects (which restricts mesh generation to within its volume).
 
|-
 
|-
! HDR Bloom multiplier
+
! View jump nodes
| Decides how much light pixels bleed.
+
| - || Toggle preview render of navmesh_connection objects (jump nodes).
 
|-
 
|-
! HDR White point
+
! Cell Size
| Sets what brightness should be regarded as white.
+
| - || Change the width of cells in the nav mesh
 +
smaller: handles smaller gaps, slower to build.
 
|-
 
|-
! Level Boundaries
+
! Cell Height
| If this is checked characters will be pushed back into the level when they try to go past a certain point.
+
| - || Change the height of cells in the nav mesh
 +
smaller: finer control on ramps, slower to build.
 
|-
 
|-
! Objectives
+
! Agent Height
| Set the goal of the level.
+
| - || Change the height of fake player used to create nav mesh
 +
smaller: handles lower overhangs, more likely to be unreachable by real characters.
 
|-
 
|-
! Sky Brightness
+
! Agent Radius
| Adjust how bright the sky should be.
+
| - || Change the width of fake player used to create nav mesh
 +
smaller: handles smaller gaps, more likely to be unreachable by real characters.
 
|-
 
|-
! Sky Rotation
+
! Agent Max Climb
| Move the sky around.
+
| - || Change the max height of blocks that fake player will climb to create nav mesh
 +
too high: real characters can't climb it.
 
|-
 
|-
! Sky Tint
+
! Agent Max Slope
| Makes the sky have a specified color.
+
| - || Change the max angle of ramps that fake player will walk up to create nav mesh
 +
too high: real characters will go up steep hills.
 
|}
 
|}
  
== Object Selection ==
+
=== Dialogue menu ===
 +
Tools for [[dialogue]] editing.
  
Here are the different ways you can select objects.
+
[[Image:Editor-dialogue-menu.png|right|thumb|caption|The editor "dialogue" menu]]
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Action !! Control !! Behavior
+
! Button !! Hotkey !! Effect
 
|-
 
|-
! Select single object
+
! Edit Selected
| double-left-click on object || Selects clicked on object and deselects all other objects. If the object is part of a group, the whole group is selected. A box around the object indicates that it is selected.
+
| - || Start editing the selected dialogue (make sure you select it first!).
 
|-
 
|-
! Toggle-select objects
+
! Load Dialogue
| shift + double-left-click on objects || Toggles selection of clicked on object. Preserves existing selections.
+
| - || Load a previously saved dialogue text file.
 
|-
 
|-
! Box select objects
+
! New Dialogue
| left-click + right-click + drag, or left-click + 'b' + drag || Selects all objects whose centers lie within box drawn on screen. Deselects all other objects.
+
| - || Create a new dialogue object (click this, then click to place it in the level).
|-
 
! Box add to selection
 
| shift + left-click + right-click + drag, or shift + left-click + 'b' + drag || Adds all objects whose centers lie within the drawn box to the selection. Preserves existing selection.
 
|-
 
! Select decal that is under another decal
 
| mouse wheel up/down || This is for when you have 2 or more decals on top of each other. Select at least 1 decal, put your mouse cursor on top of the one you want to select, then use the scroll wheel to select between the different decals.
 
|-
 
! Select all
 
| cmd-a || Selects all objects.
 
|-
 
! Deselect all
 
| double-left-click away from all objects || Deselects all objects.
 
 
|}
 
|}
  
[[Image:Info.jpg|right|thumb|caption|Object information]]
+
<br clear=all>
 
 
When you select an object some useful information will appear on the left hand side. It'll show you what xml file it is created from, its unique object ID and what type of object it is.
 
 
 
== Transformations ==
 
 
 
For all transformations:
 
 
 
* In order to transform an object you must first select it.
 
* Hold ctrl to make movements snap to half-meter increments.
 
* Hold alt to clone and transform the selected objects, leaving the original objects behind.
 
* Left-click transforms objects on all axis. Right-click transforms on the two axis that are perpendicular to the side of the bounding box you click on. Holding shift and right click locks the transformation to the axis parallel to the bounding box face you click on.
 
* Groups are transformed around the group center. Ungrouped objects, even if multiple are selected and transformed at once, are transformed around their own individual centers.
 
  
=== Translation ===
+
=== Windows menu ===
 +
Launch various editor windows, color picker, and debug windows.
  
Set tool to 'translation', or set tool to 'omni tool' and hover mouse over central region of a bounding box face, or set tool to 'omni tool' and hold 't'.
+
[[Image:Editor-windows-menu.png|right|thumb|caption|The editor "windows" menu]]
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Action !! Control !! Behavior
+
! Button !! Hotkey !! Effect
 +
|-
 +
! Scenegraph
 +
| y || Open level properties, and a searchable list of items in the level.
 +
Hint: Click items in the list to select/deselect them, and hit F to view the selected items.
 +
|-
 +
! Selected
 +
| u || Open the properties for the selected objects.
 +
|-
 +
! Single Selected
 +
| i || Open the properties for a single selected object. This menu doesn't require you to drill down to edit properties.
 +
|-
 +
! [[#Color_Picker|Color Picker]]
 +
| cmd+p || Open the Color Picker to let you tint objects.
 
|-
 
|-
! Camera relative
+
! [[Collision Painting|Collision Paint]]
| left-click + drag || Translates clicked on object along plane parallel to the screen.
+
| - || Open the Collision Paint menu to let you edit physics properties on objects or individual surfaces.
 
|-
 
|-
! Locked to plane
+
! Performance
| right-click + drag || Translates clicked on object along plane of clicked on face.
+
| - || Open a window to monitor performance, and view a list of loaded file assets/loaded textures, for debugging.
 
|-
 
|-
! Locked to line
+
! Save
| shift + right-click + drag || Translates clicked on object along normal of clicked on face.
+
| - || Open a window to view data in the save file, for debugging.
 
|-
 
|-
! force decal(s) to map only one object/group
+
! State
| hold i || selected decal will only map with that object that is directly underneath your mouse
+
| - || Open a window to view a hierarchy of loaded script contexts, for debugging.
 
|-
 
|-
! force decal(s) to project only on selected objects
+
! Sound
| press o || selected decal will only map with that object that is directly underneath your mouse
+
| - || Open a window to view a list of loaded sounds, for debugging.
 
|-
 
|-
! projection box/angle
+
! Debug Window
| press p || to make projection box for decal
+
| - || Open a window to view debug text (shows various game and editor state).
 
|}
 
|}
  
=== Scale ===
+
== Functions Without Buttons ==
 
+
Some functions are only reachable via hotkeys, here are a list of those.
Set tool to 'scale', or set tool to 'omni tool' and hover mouse near bounding box vertices, or set tool to 'omni tool' and hold 'e'.
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 369: Line 528:
 
! Action !! Control !! Behavior
 
! Action !! Control !! Behavior
 
|-
 
|-
! All dimensions
+
! Make player-controlled
| left-click + drag || Scales clicked on object in all dimensions (x, y, and z) at once.
+
| Shift+Cmd+P || Toggles whether a character is controlled by a human or by AI. A human-controlled character's spawn box has a green outline, an AI-controlled character's box has white outlines. If two characters are set to be human-controlled Overgrowth will start in split-screen mode the next time game-play is resumed from editor mode. The second player will be controllable via a USB controller.
 
|-
 
|-
! Locked to plane
+
! [[#Spawn_Dead|Spawn Dead]]
| right-click + drag || Extends clicked on object along plane of clicked on face.
+
| Cmd+K or Ctrl+K (with character spawn selected) || Makes selected characters spawn dead. It will spawn at the point it went into ragdoll mode (which may cause it to spawn "dead" while standing up). If you want to update the pose for the dead body then move the body, select the spawn point, and hit the hotkey again to save its new position.
 
|-
 
|-
! Locked to line
+
! [[#Spawn_Alive|Spawn Alive]]
| shift + right-click + drag || Extrudes clicked on object along normal of clicked on face.
+
| K (with character spawn selected) || Makes selected characters spawn alive.
 
|}
 
|}
  
=== Mirror ===
+
== Parameters ==
 +
Every object as well as the level itself has several parameters. The most basic ones that all objects have are '''Name''', '''Translation''', '''Scale''' and '''Rotation'''. Other parameters you might find on an object are color tints and [[Script Parameters]].
 +
 
 +
There are several ways to edit these parameters for an object. The fastest and easiest way to do it for a single object is by using the '''Single Selected''' window (press I to open it), which shows all of the parameters for the most recently selected object.
 +
 
 +
If you want to view or edit the parameters of several specific objects you can use the [[#Selected Window|Selected Window]].
 +
 
 +
To view and edit parameters for all the objects in the level, as well as the parameters for the level itself, use the [[#Scenegraph Window|Scenegraph Window]].
 +
 
 +
== Selected Window ==
 +
[[Image:Editor-selection-windows.png|right|thumb|caption|Selected Window (object parameters)]]
  
Just use the right-click scale tool, and scale down the object until it flips and its mirror image begins scaling up!
+
The Selected Window (or parameter editor) lets you change different parameters depending on which objects you have selected.
  
=== Rotation ===
+
You can bring up the parameter editor for an object (or set of objects) by selecting them and pressing the U key, or clicking Top Bar -> Windows -> Selected.
  
Set tool to 'rotation', or set tool to 'omni tool' and hover mouse near bounding box edges, or set tool to 'omni tool' and hold 'r'.
+
Here is a description of what each parameter does:
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Action !! Control !! Behavior
+
! Parameter !! Description
 +
|-
 +
! Name
 +
| Give an object a custom name, so you can find it in the scenegraph window (see below), or let a custom script find those objects so they can do special things to them.
 +
|-
 +
! Transform
 +
| Adjust the position, rotation, and scale of the objects manually. There is also a button to reset the rotation (which is useful when creating object prefabs).
 
|-
 
|-
! Free
+
! Color Palette
| left-click + drag || Rotates clicked on object as if you are pushing the surface of a ball.
+
| Tint objects, or make them super bright. If the character provides a mutli-part color palette, set different colors on different parts.
 
|-
 
|-
! Locked to axis
+
! Script Params
| right-click + drag || Rotates clicked on object about normal of clicked on face.
+
| Custom parameters used by scripts. Each different object type can define their own script params. See [[Script Parameters]] page for descriptions of all parameters.
 
|}
 
|}
  
== Warnings ==
+
<br clear=all>
Just below the ribbon on the left side is a space for warnings. These warnings will tell you if the nav mesh, ambient occlusion or baked shadows needs to be updated.
 
  
== Item Browser ==
+
== Scenegraph Window ==
[[Image:item_browser.png|right|thumb|caption|The item browser]]
+
[[Image:Editor-scenegraph-window.png|right|thumb|caption|Scenegraph Window (level parameters)]]
The item browser is used to browse for items that can be spawned in the levels. It is brought up by pressing the ''Load Item'' button under the ''Home'' tab. To spawn an item, click it and then click in the world to create the item on that location.
 
  
This list does not necessarily contain all the objects that can be spawned as all objects need to be manually added to the list. A file browser can be brought up by pressing the folder icon just under the tabs at the top. That file browser can be used to try loading any xml file, which is useful if you're trying to load a custom object that has not been added to the item browser for instance. The types of items that can be spawned are objects (static models), characters, weapons, hotspots, decals and spawn points.
+
The Scenegraph Window (or parameter editor) lets you change global level parameters, as well as find objects in the level.
  
Along the top of the window there are tabs for different categories of items. In the bottom right there is a slider to change the size of the thumbnail images as well as a grip that can be clicked and dragged to resize the window. A search field that searches in the currently open tab is located under the tabs to the right.
+
Open up the Scenegraph for the current level by pressing the Y key, or clicking Top Bar -> Windows -> Scenegraph. Let's go through each part of the Scenegraph window from top to bottom.
  
Hovering your mouse cursor over a thumbnail image causes a heart icon to appear on the thumbnail. If that heart icon is pressed the object is added as a favorite. To sort out any object that is not a favorite from the view, press the heart button right under the tabs at the top of the window. The favorites do not persist between closing and opening the item browser.
+
=== Level ===
 +
If you expand the '''Level''' entry at the very top of the window you will find some parameters that can be changed:
 +
{| class="wikitable"
 +
|-
 +
! Parameter !! Description
 +
|-
 +
! Loading Screen Image
 +
| A path to an image that's shown while loading the level
 +
|-
 +
! Sun Position
 +
| The position of the sun in the sky
 +
|-
 +
! Sun Color
 +
| Tints the color of the sun, useful for sunrises and sunsets
 +
|-
 +
! Sun Intensity
 +
| Controls how dark the shadows are
 +
|}
  
== Color Picker ==
+
For a description of the level script parameters, see the [[Script Parameters]] page.
[[Image:ColorPickerOpenedRed.png|right|thumb|caption|Two crete blocks. The left is the original, the right has had it's color altered by the color picker.]]
 
  
The Color Picker is used to tint the color of selected objects. It is opened by pressing CTRL+P (For Mac users: Command+P). The color picker consists of a color-gradient box, a rainbow slider, two boxes of different sizes showing the basic chosen color, RGB values, a hex value, and an overbrightness slider. Increasing overbrightness makes the color brighter.
+
=== Search field ===
 +
Below the '''Level''' entry at the very top there is a search field. Write in this field to search for objects in the level. This searches in many of the objects' fields. You can for instance search for something written in the '''Name''' parameter of an object, object IDs, object paths, types and more.
  
== Save Selected Objects ==
+
=== Flat ===
 +
The '''Flat''' checkbox controls how the Scenegraph list is displayed.
  
Once you have created something you wish to use elsewhere, press Ctrl+Shift+S (On Windows) or Command+Shift+S (on Mac) to open an object saving dialog. This way, you can save buildings, trees or obstacle courses made from many parts as a single XML object, ready to be imported back to Overgrowth.
+
If it's not checked you can expand groups to see the relations between objects in the graph.
  
== Sun Editor ==
+
If it's checked you can no longer see group relationships, but you can instead expand each individual object to change any parameters associated with it.
  
To edit the sun, find it in the sky and double-click it. Now you can click and drag on the circle to change the intensity of the sun, click and drag on the dot to change the color and click and drag on the sun itself to move it around the sky.
+
=== Named Only ===
 +
If this is checked the Scenegraph list with only display objects that have been named. You can name an object by selecting it, bringing up the '''Single Selected''' window by pressing I, and then writing something in the '''Name''' field.
  
== Dialogue Editor ==
+
== Color Picker ==
The dialogue editor is used to create scenes with different camera angles, text and poses. It is commonly used to give context and progress the story in a level.
+
[[Image:Editor-new-color-picker.png|right|thumb|caption|A crete block with its color altered by the color picker.]]
 +
The Color Picker is used to tint the color of selected objects.
  
=== Getting Started ===
+
It is opened by pressing cmd+p, or Top Bar -> Windows -> ColorPicker.
  
==== Write the dialogue ====
+
The color picker consists of a color-gradient box, a rainbow slider, the RGB values, and an overbrightness slider. Increasing overbrightness makes the color brighter, and makes it glow in the dark.
Create a text file in your mods Dialogues folder (../Overgrowth/Data/Dialogues) and write the dialogue in it like this.
 
  
#name "Mirage"
+
For characters, the color picker will let you set the color of different parts of the character. This is only available if the character was built to support a multi-color palette (not all of them do).
#participants 1
 
say 1 "Thorn" "You there!"
 
say 1 "Thorn" "Do you have any..[wait 0.4] water?"
 
  
* The '''#name "Mirage"''' is the name of the scene. This is given to a dialogue hotspot on so it knows which dialogue to activate.
+
'''TODO''': Update screenshot on the right
* The '''#participants 1''' is how many characters there are in the scene. The numbered boxes above the dialogue object are connected to spawn points to decide which character is which in this scene.
 
* '''say''' at the beginning of a line is used to make someone say something.
 
* The '''1''' is the ID of the participant that should say the dialogue, this decides who moves their mouth when the dialogue appears.
 
* '''"Thorn"''' is which name should appear for the dialogue
 
* The text within the quotes at the end of the line is the dialogue itself.
 
* The '''[wait 0.4]''' will make the dialogue text pause for 0.4 seconds before continuing to display the next text.
 
  
Save and close the file.
+
<br clear=all>
  
==== Set up the scene ====
+
== Sun Editor ==
Open up your level in the game, go to the '''Dialogue''' tab in the ribbon and click '''Load Dialogue'''. Select the dialogue file you created and click in your level to spawn it there.
+
[[Image:Sun_editor.jpg|right|thumb|caption|The sun editor]]
  
There is a small box above the dialogue object that you just created. Select this object and alt-click on a character to tell the game that the participant with ID 1 is that character.
+
The sun allows you to cast dynamic, single-directional light throughout a level.<br>
 +
You can use it to simulate either a sun (more direct light) or a moon (more ambient light)
  
Select the box and press '''Edit Selected''', bringing up the text of the dialogue on the screen. Use the arrow up and down keys to select what line in the scene you want to edit. Now press '''Toggle Recording''', which creates a few more useful objects in our scene:
+
See [[Lighting#Sunlight|the documentation on the lighting page]] for more information.
  
* Camera (with accompanying preview window)
+
<br clear=all>
* Torso control
 
* Head control
 
* Eye control
 
  
Move the camera to choose where the camera will be when the dialogue reaches the selected line, scale it to zoom in or out. Move the torso, head and eye controls to choose where the character's torso, head and eye should be pointing at that point. You need to scale up the torso and head controls for them to have any effect.
+
== Dialogue Editor ==
 
 
Press '''Load Pose''' and find the files with names that start with '''r_dialogue''', find one that you think might fit and load it to make the character take that pose when the scene loads.
 
 
 
Press '''Preview Dialogue''' to test the scene. When you're happy, click '''Toggle Recording''' again to turn it off and press '''Save Dialogue''' to save your changes to the scene.
 
 
 
==== Trigger the scene ====
 
Now we have the scene set up, but we don't have anything that triggers it yet. We can use a dialogue hotspot to make that happen. So go to the '''Home''' tab and press '''Load Item''', go to the '''Hotspots''' tab, click the '''Start Dialogue''' hotspot and click on the ground in your level. This should spawn a wireframe cube with a green sign icon in.
 
 
 
The dialogue will trigger when the player enters this hotspot, so place it where it will trigger when you want it to. Just make sure the player spawn is not inside of the hotspot, as that won't work when the level is restarted.
 
  
Press '''U''' with the hotspot selected and change the '''Dialogue''' property to be the same as the '''#name''' setting in the dialogue you want to trigger. If you've followed this example, that would be '''Mirage'''. If you don't want the dialogue to automatically trigger when you enter the hotspot, uncheck the "Automatic" checkbox.
+
The [[Dialogue Editor]] is used to create scenes with different camera angles, text and poses. It is commonly used to give context and progress the story in a level.
  
Now save your level, start playing, enter the hotspot, and the dialogue should trigger!
+
This is a big enough subject to warrant its own article, which can be found [[Dialogue Editor|here]].
  
 
== Spawn Corpse ==
 
== Spawn Corpse ==
To make a character spawn as a corpse, select it and press ctrl+K (or cmd+K) to turn on corpse mode. Its spawn box will turn red and the character will now be a corpse when it spawns.
+
Sometimes you want to have a dead character in your level. The obvious solution would be to export a new model of a dead character and place it in the level. However, that's a lot of work, and the character wouldn't be dynamic, and it would take a lot of work to make changes to it.
If you want to place the corpse in a specific location, drag the corpse to where you want it, then hit ctrl + K to save its resting position as its new corpse spawn position.
 
  
If you want to make a character spawn normally instead of as a corpse, select its spawn point, and press K.
+
Luckily there is a system in the engine for making any character spawn as a corpse. Here are instructions for how to use that system:
  
== Web browser ==
+
[[Image:spawn_corpse.jpg|right|thumb|caption|Making a corpse]]
[[Image:web_browser.png|right|thumb|caption|Web browser in Phoenix.]]
+
# Spawn the character you want to spawn as a corpse.
 +
# Select its spawn box and press cmd or ctrl + K to make it spawn as a corpse, which will kill it. At this point the corpse will spawn standing up when you restart the level with L, we'll fix that in the following steps.
 +
# Enter play mode by pressing 8, go close to the corpse and hold right click to drag it around until you're satisfied with the pose.
 +
# Now exit play mode by pressing escape, select the character's spawn box and press cmd+K again to update the pose of the corpse.
 +
# Press L to restart the level and verify that it worked.
  
There is a web browser that can be brought up by pressing f1.
+
If you want to make a corpse to spawn alive again, select its spawn point and press K.

Revision as of 02:44, 10 July 2018

The Overgrowth level editor

This page details all the interface elements and actions in the Overgrowth level editor.

The level editor lets you create new levels or even whole campaigns. This is the same editor we used to make the Overgrowth and Lugaru stories.

You can use the level editor to edit any existing level in the game.

Activating the editor

Level editor basics

To activate the editor:

  • Create a new level (File -> New)
  • Open an existing level and press F1

If the editor is active while playing a level, you can open up the editor window again by pressing the Esc key.

You can deactivate the editor by hitting F1 a second time.

Troubleshooting:

If you can't get the editor to activate, there are a few things you can try:

  • If you have a laptop, try holding the fn key while pressing F1
  • Mash all the modifier keys a few times to make sure they're not stuck down - ctrl, alt, shift, command, etc
  • Make sure you have all other programs closed, in case one of them is conflicting with the F1 hotkey
  • If some "Help" program comes up when you hit F1 (such as "HP Help"), edit its settings to disable the hotkey.
    Or just uninstall it (because it is bloatware)


Camera Movement

Control Behavior
W Moves camera forward
S Moves camera backward
A Moves camera left
D Moves camera right
Shift + W Moves camera up
Shift + S Moves camera down
Left click and drag Rotates the camera

Object Selection

Here are the different ways you can select objects.

Action Control Behavior
Select single object double-left-click on object Selects clicked on object and deselects all other objects. If the object is part of a group, the whole group is selected. A box around the object indicates that it is selected.
Toggle-select objects shift + double-left-click on objects Toggles selection of clicked on object. Preserves existing selections.
Box select objects left-click + right-click + drag, or left-click + 'b' + drag Selects all objects whose centers lie within box drawn on screen. Deselects all other objects.
Box add to selection shift + left-click + right-click + drag, or shift + left-click + 'b' + drag Adds all objects whose centers lie within the drawn box to the selection. Preserves existing selection.
Select decal or object that is under another decal mouse wheel up/down When you have 2 or more objects or decals on top of each other, you can select at least 1 decal or object, put your mouse cursor on top of the one you want to select, then use the scroll wheel to switch your selection between the objects.
Select all cmd-a Selects all objects.
Deselect all double-left-click away from all objects Deselects all objects.
Debug window

Note: If the Debug window is open (Top Bar -> Windows -> Debug Window), then when you select an object some useful information will appear. It shows you what xml file the object is created from, its unique object id, and what type of object it is.


Transformations

For all transformations:

  • In order to transform an object you must first select it.
  • Hold ctrl to make movements snap to half-meter increments.
  • Hold alt to clone and transform the selected objects, leaving the original objects behind.
  • Left-click transforms objects on all axis. Right-click transforms on the two axis that are perpendicular to the side of the bounding box you click on. Holding shift and right click locks the transformation to the axis parallel to the bounding box face you click on.
  • Groups are transformed around the group center. Ungrouped objects, even if multiple are selected and transformed at once, are transformed around their own individual centers.

Translation

Hover mouse over central region of a bounding box' face, or hold 't'.

Action Control Behavior
Camera relative left-click + drag Translates clicked on object along plane parallel to the screen.
Locked to plane right-click + drag Translates clicked on object along plane of clicked on face.
Locked to line shift + right-click + drag Translates clicked on object along normal of clicked on face.
force decal(s) to map only one object/group hold i selected decal will only map with that object that is directly underneath your mouse
force decal(s) to project only on selected objects press o selected decal will only map with that object that is directly underneath your mouse
projection box/angle press p to make projection box for decal

Scale

Hover mouse near bounding box corners, or hold 'e'.

Action Control Behavior
All dimensions left-click + drag Scales clicked on object in all dimensions (x, y, and z) at once.
Locked to plane right-click + drag Extends clicked on object along plane of clicked on face.
Locked to line shift + right-click + drag Extrudes clicked on object along normal of clicked on face.

Mirror

Just use the right-click scale tool, and scale down the object until it flips and its mirror image begins scaling up!

Rotation

Hover mouse near bounding box edges but away from the corners, or hold 'r'.

Action Control Behavior
Free left-click + drag Rotates clicked on object as if you are pushing the surface of a ball.
Locked to axis right-click + drag Rotates clicked on object about normal of clicked on face.

Editor/Debug Keys

Action Control Behavior
Toggle editor mode F1 Enables level editor. Press again to exit.
Activate play mode 8 Spawns you in the level so you can play it. If there already is a player character you will control that, otherwise a player character spawn is created on the editor camera automatically.
Restore characters X Restores all characters on the level to full health, wakes up any "unconscious" ones, and removes all blood from the environment.
Reload level L Restarts the current level.
Change character 1-7 Changes the playable character into one of seven possible characters. 1 cycles through rabbit guard, bandit, and turner models, 2 cycles through civilian rabbit models, 3 cycles through cat models, 4 cycles through rat models, 5 cycles through wolves, 6 through dogs, and the seventh is Rabbot 2.0.
Active ragdoll Z Puts player character into active ragdoll mode where they will try to protect themselves as they fall. Is active as long as you hold the button.
Pain ragdoll N Makes the player fall to the ground in agony, until you let go of the button.
Floppy ragdoll M Makes the player fall to the ground, limp, until the button is released.
Voice Test V Plays a test voice.
Toggle combat AI C Toggles whether the characters in the level will attack each other if they are on different teams.
Slit throat , The controlled character suffers a neck wound with blood gushing from it.
Slow time Tab Slows down the whole game.
Freeze time ` Freezes the game. This is useful for posing characters for item placement. Note: The game must be unfrozen to change between controlling the player and editor mode.
Insta-kill F Instantly kills and knocks back nearby NPC's with a death ray.
Experimental Key B Makes you invisible.

Debug Window

Debug window

Just below the top bar menu, on the left side, is a space for debug information.

This window is only visible if you have the Debug Window enabled (Top Bar -> Windows -> Debug Window).

It will tell you information about the selected object, checkpoint progress (if checkpoints are enabled in this level), and a warning if the nav mesh needs to be updated.


Editor menu

The bar across the top of the window is the editor menu. Many editor functions can be found here, but some functions can only be reached via hotkeys for now.

'Cmd' refers to the '⌘' key on Macs, and the 'ctrl' key on PCs.

File menu

Contains file operations for loading and saving levels.

The editor "file" menu
Button Hotkey Effect
New Level - Opens a new empty level in the editor.
Open Level... - Opens a file browser where you can pick what level to load (starts in Data/Levels directory).
Open Local Level... - Opens a file browser where you can pick what level to load (starts in last used directory).
Open Recent - Re-open one of the most recently opened levels in the editor.
Open Campaign Level - Open one of the levels from the main Overgrowth story mode.
Save Level cmd+s Overwrites the currently opened level file with any changes you made.
Save As... - Opens a file browser where you can pick a new or existing file to save the level to.
Back to main menu - Leave the editor and return to the main menu.
Quit alt+f4 Quit the game.


Edit menu

Contains basic editing functions. Also contains properties for the level.

The editor "edit" menu
Button Hotkey Effect
Undo cmd+z Undo the most recent action.
Redo cmd+shift+z Redo the most recent action.
Cut cmd+x Puts the selection into the clipboard and removes the selected objects.
Copy cmd+c Puts the selection into the clipboard.
Paste cmd+v Pastes the clipboard on the cursor position.
Select All cmd+a Select all of the objects in the level.
Deselect All q Clear the current selection.
Reload All Prefabs - Force a reload of all prefab objects in the level.
Set Level Params... - Set global level parameters (sun settings, sky, fog, HDR, etc).
Set Level Script... - Select what script to use for this level.
Set Sky Texture... - Opens a file browser where you can pick what sky texture to use.
Edit static meshes cmd+1 Toggle ability to select non-moving objects (rocks, etc).
Edit decals cmd+2 Toggle ability to select decals.
Edit gameplay objects cmd+3 Toggle ability to select characters, hotspots, etc.
Edit lighting - Toggle ability to select lights.
Play level 8 Enter play mode.
Media mode - Enter a disembodied camera mode, for taking screenshots and videos.

Selected menu

Contains operations for working with the current selected objects.

The editor "selected" menu
Button Hotkey Effect
Go To Selected f Move the camera to frame the selected objects.
Delete backspace Delete the selected objects from the level.
Group cmd+g Merge the selected objects into a group.
Ungroup cmd+shift+g Break up all groups that are selected.
Set Selection Script Params... - Open up the selected object window, and expand the "Script Params" section for the selected objects.
Save Selection... cmd+shift+s Open up the file browser to save the selection as an object template.

Object templates can be loaded like any other object. Script params, transform, and connections are saved. If you save over a template, it won't be updated in any level it is placed in.

Prefab Save - Save any changes to the selected prefab to a file, or create a new prefab file from the selection.

Object prefabs can be loaded like any other object. Script params, transform, and connections are saved. If you save over a prefab, it will automatically be updated in all levels it is placed in.

Prefab Save As... - Open a file browser to save the selection as a new prefab file.

Object prefabs can be loaded like any other object. Script params, transform, and connections are saved. If you save over a prefab, it will automatically be updated in all levels it is placed in.

Load menu

Contains operations for loading and spawning objects into the level.

The editor "load" menu
Button Hotkey Effect
Load item... - Open a file browser to pick an item to spawn in. After loading, click in the level to spawn the object.
Open recent... - Pick an item you've recently spawned to spawn another instance. After loading, click in the level to spawn the object.
<Rest of menu> - Search or click on an item from a list to spawn in. After loading, click in the level to spawn the object.

Hover over an item to see a thumbnail preview of the item.


Nav Mesh menu

Tools for nav mesh generation, loading, saving and viewing.

The editor "nav mesh" menu
Button Hotkey Effect
Create - Generates a new navigation mesh.
Save - Save the current nav mesh to disk.
Load - Load a previously saved nav mesh from disk.
View mesh - Toggle preview render of the nav mesh.
View collision - Toggle preview render of the collision mesh the nav mesh is based on.
View hints - Toggle preview render of navmesh_hint objects (which are collision that is only visible to the nav mesh generator).
View region - Toggle preview render of navmesh_region objects (which restricts mesh generation to within its volume).
View jump nodes - Toggle preview render of navmesh_connection objects (jump nodes).
Cell Size - Change the width of cells in the nav mesh

smaller: handles smaller gaps, slower to build.

Cell Height - Change the height of cells in the nav mesh

smaller: finer control on ramps, slower to build.

Agent Height - Change the height of fake player used to create nav mesh

smaller: handles lower overhangs, more likely to be unreachable by real characters.

Agent Radius - Change the width of fake player used to create nav mesh

smaller: handles smaller gaps, more likely to be unreachable by real characters.

Agent Max Climb - Change the max height of blocks that fake player will climb to create nav mesh

too high: real characters can't climb it.

Agent Max Slope - Change the max angle of ramps that fake player will walk up to create nav mesh

too high: real characters will go up steep hills.

Dialogue menu

Tools for dialogue editing.

The editor "dialogue" menu
Button Hotkey Effect
Edit Selected - Start editing the selected dialogue (make sure you select it first!).
Load Dialogue - Load a previously saved dialogue text file.
New Dialogue - Create a new dialogue object (click this, then click to place it in the level).


Windows menu

Launch various editor windows, color picker, and debug windows.

The editor "windows" menu
Button Hotkey Effect
Scenegraph y Open level properties, and a searchable list of items in the level.

Hint: Click items in the list to select/deselect them, and hit F to view the selected items.

Selected u Open the properties for the selected objects.
Single Selected i Open the properties for a single selected object. This menu doesn't require you to drill down to edit properties.
Color Picker cmd+p Open the Color Picker to let you tint objects.
Collision Paint - Open the Collision Paint menu to let you edit physics properties on objects or individual surfaces.
Performance - Open a window to monitor performance, and view a list of loaded file assets/loaded textures, for debugging.
Save - Open a window to view data in the save file, for debugging.
State - Open a window to view a hierarchy of loaded script contexts, for debugging.
Sound - Open a window to view a list of loaded sounds, for debugging.
Debug Window - Open a window to view debug text (shows various game and editor state).

Functions Without Buttons

Some functions are only reachable via hotkeys, here are a list of those.

Action Control Behavior
Make player-controlled Shift+Cmd+P Toggles whether a character is controlled by a human or by AI. A human-controlled character's spawn box has a green outline, an AI-controlled character's box has white outlines. If two characters are set to be human-controlled Overgrowth will start in split-screen mode the next time game-play is resumed from editor mode. The second player will be controllable via a USB controller.
Spawn Dead Cmd+K or Ctrl+K (with character spawn selected) Makes selected characters spawn dead. It will spawn at the point it went into ragdoll mode (which may cause it to spawn "dead" while standing up). If you want to update the pose for the dead body then move the body, select the spawn point, and hit the hotkey again to save its new position.
Spawn Alive K (with character spawn selected) Makes selected characters spawn alive.

Parameters

Every object as well as the level itself has several parameters. The most basic ones that all objects have are Name, Translation, Scale and Rotation. Other parameters you might find on an object are color tints and Script Parameters.

There are several ways to edit these parameters for an object. The fastest and easiest way to do it for a single object is by using the Single Selected window (press I to open it), which shows all of the parameters for the most recently selected object.

If you want to view or edit the parameters of several specific objects you can use the Selected Window.

To view and edit parameters for all the objects in the level, as well as the parameters for the level itself, use the Scenegraph Window.

Selected Window

Selected Window (object parameters)

The Selected Window (or parameter editor) lets you change different parameters depending on which objects you have selected.

You can bring up the parameter editor for an object (or set of objects) by selecting them and pressing the U key, or clicking Top Bar -> Windows -> Selected.

Here is a description of what each parameter does:

Parameter Description
Name Give an object a custom name, so you can find it in the scenegraph window (see below), or let a custom script find those objects so they can do special things to them.
Transform Adjust the position, rotation, and scale of the objects manually. There is also a button to reset the rotation (which is useful when creating object prefabs).
Color Palette Tint objects, or make them super bright. If the character provides a mutli-part color palette, set different colors on different parts.
Script Params Custom parameters used by scripts. Each different object type can define their own script params. See Script Parameters page for descriptions of all parameters.


Scenegraph Window

Scenegraph Window (level parameters)

The Scenegraph Window (or parameter editor) lets you change global level parameters, as well as find objects in the level.

Open up the Scenegraph for the current level by pressing the Y key, or clicking Top Bar -> Windows -> Scenegraph. Let's go through each part of the Scenegraph window from top to bottom.

Level

If you expand the Level entry at the very top of the window you will find some parameters that can be changed:

Parameter Description
Loading Screen Image A path to an image that's shown while loading the level
Sun Position The position of the sun in the sky
Sun Color Tints the color of the sun, useful for sunrises and sunsets
Sun Intensity Controls how dark the shadows are

For a description of the level script parameters, see the Script Parameters page.

Search field

Below the Level entry at the very top there is a search field. Write in this field to search for objects in the level. This searches in many of the objects' fields. You can for instance search for something written in the Name parameter of an object, object IDs, object paths, types and more.

Flat

The Flat checkbox controls how the Scenegraph list is displayed.

If it's not checked you can expand groups to see the relations between objects in the graph.

If it's checked you can no longer see group relationships, but you can instead expand each individual object to change any parameters associated with it.

Named Only

If this is checked the Scenegraph list with only display objects that have been named. You can name an object by selecting it, bringing up the Single Selected window by pressing I, and then writing something in the Name field.

Color Picker

A crete block with its color altered by the color picker.

The Color Picker is used to tint the color of selected objects.

It is opened by pressing cmd+p, or Top Bar -> Windows -> ColorPicker.

The color picker consists of a color-gradient box, a rainbow slider, the RGB values, and an overbrightness slider. Increasing overbrightness makes the color brighter, and makes it glow in the dark.

For characters, the color picker will let you set the color of different parts of the character. This is only available if the character was built to support a multi-color palette (not all of them do).

TODO: Update screenshot on the right


Sun Editor

The sun editor

The sun allows you to cast dynamic, single-directional light throughout a level.
You can use it to simulate either a sun (more direct light) or a moon (more ambient light)

See the documentation on the lighting page for more information.


Dialogue Editor

The Dialogue Editor is used to create scenes with different camera angles, text and poses. It is commonly used to give context and progress the story in a level.

This is a big enough subject to warrant its own article, which can be found here.

Spawn Corpse

Sometimes you want to have a dead character in your level. The obvious solution would be to export a new model of a dead character and place it in the level. However, that's a lot of work, and the character wouldn't be dynamic, and it would take a lot of work to make changes to it.

Luckily there is a system in the engine for making any character spawn as a corpse. Here are instructions for how to use that system:

Making a corpse
  1. Spawn the character you want to spawn as a corpse.
  2. Select its spawn box and press cmd or ctrl + K to make it spawn as a corpse, which will kill it. At this point the corpse will spawn standing up when you restart the level with L, we'll fix that in the following steps.
  3. Enter play mode by pressing 8, go close to the corpse and hold right click to drag it around until you're satisfied with the pose.
  4. Now exit play mode by pressing escape, select the character's spawn box and press cmd+K again to update the pose of the corpse.
  5. Press L to restart the level and verify that it worked.

If you want to make a corpse to spawn alive again, select its spawn point and press K.