Difference between revisions of "Editor Interface"

From Wolfire Games Wiki
Jump to: navigation, search
m (Color Picker)
(Object Selection: Added select similar)
 
(68 intermediate revisions by 5 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-ui.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 creating a new level (File -> New), or by pressing the F1 button while in an existing level.
+
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.
  
If the editor is already active inside a level, you can open up the editor window again by hitting Escape.
+
You can use the level editor to edit any existing level in the game.
  
You can deactivate the editor by hitting F1 a second time.
+
== Activating the editor ==
 +
{{#ev:youtube
 +
|eS3RujmDQ2M
 +
|
 +
|right
 +
|Level editor basics
 +
|frame
 +
|start=15
 +
}}
  
'''Note that while the editor is active, no story mode progress will be saved, and no story levels can be unlocked.'''
+
==== 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
 
|}
 
|}
  
Line 63: Line 87:
 
! Select all
 
! Select all
 
| cmd-a || Selects all objects.
 
| cmd-a || Selects all objects.
 +
|-
 +
! Select similar
 +
| cmd + shift + a || Selects objects of the same type as the currently selected object.
 
|-
 
|-
 
! Deselect all
 
! Deselect all
| double-left-click away from all objects || Deselects all objects.
+
| double-left-click away from all objects, or press Q || Deselects all objects.
 
|}
 
|}
  
 
[[Image:Editor-selection-debug-info.png|right|thumb|caption|Debug window]]
 
[[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.
+
'''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 ==
 
== Transformations ==
Line 84: Line 113:
 
=== Translation ===
 
=== Translation ===
  
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'.
+
Hover mouse over central region of a bounding box' face, or hold 't'.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 111: Line 140:
 
=== Scale ===
 
=== Scale ===
  
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'.
+
Hover mouse near bounding box corners, or hold 'e'.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 133: Line 162:
 
=== Rotation ===
 
=== Rotation ===
  
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'.
+
Hover mouse near bounding box edges but away from the corners, or hold 'r'.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 144: Line 173:
 
! Locked to axis
 
! Locked to axis
 
| right-click + drag || Rotates clicked on object about normal of clicked on face.
 
| right-click + drag || Rotates clicked on object about normal of clicked on face.
 +
|}
 +
 +
==Editor/Debug Keys==
 +
 +
{| class="wikitable"
 +
|-
 +
! 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.
 
|}
 
|}
  
Line 150: Line 231:
 
Just below the top bar menu, on the left side, is a space for debug information.
 
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).
+
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.
 
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 ==
 
== Editor menu ==
Line 193: Line 276:
 
|-
 
|-
 
! Quit
 
! Quit
| - || Quit the game.
+
| alt+f4 || Quit the game.
 
|}
 
|}
 +
 +
<br clear=all>
  
 
=== Edit menu ===
 
=== Edit menu ===
Line 282: Line 367:
 
|-
 
|-
 
! Save Selection...
 
! Save Selection...
| - || Open up the file browser to save the selection as an object template.
+
| 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 and transform are saved.
+
Object templates can be loaded like any other object. Script params, transform, and connections are saved.
If you edit a template, it won't be updated in any level it is placed in.
+
If you save over a template, it won't be updated in any level it is placed in.
 
|-
 
|-
 
! Prefab Save
 
! Prefab Save
 
| - || Save any changes to the selected prefab to a file, or create a new prefab file from the selection.
 
| - || 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.
+
Object prefabs can be loaded like any other object. Script params, transform, and connections are saved.
If you edit a prefab, it will automatically be updated in all levels it is placed in.
+
If you save over a prefab, it will automatically be updated in all levels it is placed in.
 
|-
 
|-
 
! Prefab Save As...
 
! Prefab Save As...
 
| - || Open a file browser to save the selection as a new prefab file.
 
| - || 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.
 
Object prefabs can be loaded like any other object. Script params, transform, and connections are saved.
If you edit a prefab, it will automatically be updated in all levels it is placed in.
+
If you save over a prefab, it will automatically be updated in all levels it is placed in.
 
|}
 
|}
  
Line 317: Line 402:
 
|}
 
|}
  
=== Lighting menu ===
+
<br clear=all>
Tools for editing global illumination.
 
 
 
'''Note: Use of this menu is deprecated. We recommend you use sun lighting, and Dynamic Light objects (in Top Bar -> Load) instead.'''
 
 
 
{| class="wikitable"
 
|-
 
! Button !! Hotkey !! Effect
 
|-
 
! Calculate GI first pass
 
| - || Calculates (or re-calculates) first pass for light probes to give a quick preview of lighting.
 
|-
 
! Calculate GI second pass
 
| - || Calculates second pass for light probes to give a better result (takes longer).
 
|-
 
! Probe lighting enabled
 
| - || Enable probe lighting.
 
|-
 
! Show probes through walls
 
| - || Toggle rendering of light probe previews through walls.
 
|-
 
! Show tet mesh
 
| - || Toggle rendering of tetrahedral mesh lines (generated by light probes) to see how they are connected.
 
|-
 
! Show probes
 
| - || Toggle rendering of light probe previews.
 
|}
 
  
 
=== Nav Mesh menu ===
 
=== Nav Mesh menu ===
Line 370: Line 429:
 
|-
 
|-
 
! View hints
 
! View hints
| - || Toggle preview render of navmesh_hint objects (which force mesh generation).
+
| - || Toggle preview render of navmesh_hint objects (which are collision that is only visible to the nav mesh generator).
 
|-
 
|-
 
! View region
 
! View region
| - || Toggle preview render of navmesh_region objects (which restrict mesh generation).
+
| - || Toggle preview render of navmesh_region objects (which restricts mesh generation to within its volume).
 
|-
 
|-
 
! View jump nodes
 
! View jump nodes
Line 404: Line 463:
  
 
=== Dialogue menu ===
 
=== Dialogue menu ===
Tools for dialogue editing.
+
Tools for [[dialogue]] editing.
  
 
[[Image:Editor-dialogue-menu.png|right|thumb|caption|The editor "dialogue" menu]]
 
[[Image:Editor-dialogue-menu.png|right|thumb|caption|The editor "dialogue" menu]]
Line 413: Line 472:
 
|-
 
|-
 
! Edit Selected
 
! Edit Selected
| - || Start editing the selected dialogue (make sure you select it first!).
+
| o || Start editing the selected dialogue (make sure you select it first!).
 
|-
 
|-
 
! Load Dialogue
 
! Load Dialogue
Line 421: Line 480:
 
| - || Create a new dialogue object (click this, then click to place it in the level).
 
| - || Create a new dialogue object (click this, then click to place it in the level).
 
|}
 
|}
 +
 +
<br clear=all>
  
 
=== Windows menu ===
 
=== Windows menu ===
Line 438: Line 499:
 
| u || Open the properties for the selected objects.
 
| u || Open the properties for the selected objects.
 
|-
 
|-
! Single Selected
+
! [[#Color_Picker|Color Picker]]
| i || Open the properties for a single selected object. This menu doesn't require you to drill down to edit properties.
+
| cmd+p || Open the Color Picker to let you tint objects.
|-
 
! ColorPicker
 
| cmd+p || Open the Color Picker to let you tint objects. http://wiki.wolfire.com/index.php?title=Editor_Interface#Color_Picker
 
 
|-
 
|-
! Collision Paint
+
! [[Collision Painting|Collision Paint]]
 
| - || Open the Collision Paint menu to let you edit physics properties on objects or individual surfaces.
 
| - || Open the Collision Paint menu to let you edit physics properties on objects or individual surfaces.
 
|-
 
|-
Line 472: Line 530:
 
! Make player-controlled
 
! 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.
 
| 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.
|-
 
! [[#Parameter_Editor|Parameter Editor]]
 
| U (with object selected) || Opens the parameter editor to modify parameters of the selected object.
 
|-
 
! Palette Editor
 
| Cmd+P (with character selected) || Brings up a dialog to modify colors of different parts of the character.
 
|-
 
! [[#Color_Picker|Color Picker]]
 
| 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.
 
 
|-
 
|-
 
! [[#Spawn_Dead|Spawn Dead]]
 
! [[#Spawn_Dead|Spawn Dead]]
Line 489: Line 538:
 
|}
 
|}
  
== Selected Window (object parameters editor) ==
+
== 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)]]
 
[[Image:Editor-selection-windows.png|right|thumb|caption|Selected Window (object parameters)]]
 +
 
The Selected Window (or parameter editor) lets you change different parameters depending on which objects you have selected.
 
The Selected Window (or parameter editor) lets you change different parameters depending on which objects you have selected.
  
Line 511: Line 570:
 
|-
 
|-
 
! Script Params
 
! Script Params
| Custom parameters used by scripts. Each different object type can define their own 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 (level parameters editor) ==
+
<br clear=all>
 +
 
 +
== Scenegraph Window ==
 
[[Image:Editor-scenegraph-window.png|right|thumb|caption|Scenegraph Window (level parameters)]]
 
[[Image:Editor-scenegraph-window.png|right|thumb|caption|Scenegraph Window (level parameters)]]
The Scenegraph Window (or parameter editor) lets you change global level parameters (sun, loading screen image, sky, etc), or find objects in the level.
 
  
Open up the Scenegraph for the current level by pressing the Y key, or clicking Top Bar -> Windows -> Scenegraph.
+
The Scenegraph Window (or parameter editor) lets you change global level parameters, as well as find objects in the level.
  
Here is a description of what each parameter does:
+
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:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Parameter !! Description
 
! Parameter !! Description
 
|-
 
|-
! Achievements
+
! Loading Screen Image
| Decide which challenges you can complete on the level, they appear on the level end screen.
+
| A path to an image that's shown while loading the level
|-
 
! Fog amount
 
| Sets the thicknoess of the atmosphere and thus how far you can see.
 
|-
 
! HDR Black point
 
| Sets what brightness should be regarded as black.
 
 
|-
 
|-
! HDR Bloom multiplier
+
! Sun Position
| Decides how much light pixels bleed.
+
| The position of the sun in the sky
 
|-
 
|-
! HDR White point
+
! Sun Color
| Sets what brightness should be regarded as white.
+
| Tints the color of the sun, useful for sunrises and sunsets
 
|-
 
|-
! Level Boundaries
+
! Sun Intensity
| If this is checked characters will be pushed back into the level when they try to go past a certain point.
+
| Controls how dark the shadows are
|-
 
! Objectives
 
| Set the goal of the level.
 
|-
 
! Sky Brightness
 
| Adjust how bright the sky should be.
 
|-
 
! Sky Rotation
 
| Move the sky around.
 
|-
 
! Sky Tint
 
| Makes the sky have a specified color.
 
 
|}
 
|}
 +
 +
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 ==
 
== Color Picker ==
Line 561: Line 620:
 
The Color Picker is used to tint the color of selected objects.
 
The Color Picker is used to tint the color of selected objects.
  
It is opened by pressing CTRL+P (For Mac users: Command+P), or Top Bar -> Windows -> ColorPicker.
+
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.
 
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.
Line 567: Line 626:
 
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).
 
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).
  
== Save Selected Objects ==
+
'''TODO''': Update screenshot on the right
  
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.
+
<br clear=all>
  
 
== Sun Editor ==
 
== Sun Editor ==
 +
[[Image:Sun_editor.jpg|right|thumb|caption|The sun editor]]
  
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.
+
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)
  
== Dialogue Editor ==
+
See [[Lighting#Sunlight|the documentation on the lighting page]] for more information.
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.
 
  
=== Getting Started ===
+
<br clear=all>
  
==== Write the dialogue ====
+
== Dialogue Editor ==
Create a text file in your mods Dialogues folder (../Overgrowth/Data/Dialogues) and write the dialogue in it like this.
 
  
#name "Mirage"
+
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.
#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.
+
This is a big enough subject to warrant its own article, which can be found [[Dialogue Editor|here]].
* 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.
+
== 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.
==== Set up the scene ====
 
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.
 
 
 
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.
 
 
 
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:
 
 
 
* Camera (with accompanying preview window)
 
* 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.
 
 
 
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 ====
+
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:
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.
+
[[Image:spawn_corpse.jpg|right|thumb|caption|Making a corpse]]
 
+
# Spawn the character you want to spawn as a corpse.
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.
+
# 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 save your level, start playing, enter the hotspot, and the dialogue should trigger!
+
# 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.
== Spawn Corpse ==
 
To make a character spawn as a corpse, select it and press ctrl/cmd + K to turn on corpse mode. The character will now be a corpse when it spawns. If you want to place the corpse in a specific location or position, you can drag the corpse to where and how you want it, then hit ctrl/cmd + K with the spawn box selected a second time to save its resting position as its new corpse spawn location/position.
 
  
If you want to make a character spawn normally instead of as a corpse, select its spawn point, and press K.
+
If you want to make a corpse to spawn alive again, select its spawn point and press K.

Latest revision as of 03:33, 18 May 2023

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.
Select similar cmd + shift + a Selects objects of the same type as the currently selected object.
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 o 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.
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.