Editor Interface

From Wolfire Games Wiki
Revision as of 03:25, 18 May 2023 by Constance (talk | contribs) (Object Selection: Included Q bind)
Jump to: navigation, search
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, or press Q 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.