Level editor

From Dragon Age Toolset Wiki

Jump to: navigation, search
Level editor topics

The level editor is used to generate the level layouts (also called Area layouts) that are the basis for creating areas. A level layout is a non-interactive resource; the objects placed within it serve only to provide the physical structure and appearance of the area. If you need the player to interact with objects within an area you'll need to use interactive placeables instead.

Note that unlike the Area editor, only two modes of camera control are currently supported: "flycam" mode (IconFlycamStyle.png button in the toolbar) and 3DS Max mode (Icon3DSMaxStyle.png button). NWN style is not currently supported. (Use a combination of the mouse wheel + Ctrl or/and Alt (dependant on camera mode) to control the camera. In either mode Numpad 5 will reset the camera.)

Area layouts are an Art Resource.

You can download the source files for the levels in the main campaign from here: [1]. (See also Area layouts used in the single player module for a listing of what each one is.)

Contents

Terminology

Camera controls

Movement speed

In a level editor, camera movement speed in "flycam" mode can be increased and decreased by holding down a left CTRL and using a mouse wheel.

Interior and exterior levels

There are two basic types of levels; interior and exterior. Many features of these two level types are the same and level editor documentation will generally be applicable to both types unless specifically noted. Their key difference is that exterior levels have a terrain mesh (the "ground") and interior levels don't. Note however that there's no reason why you couldn't use one level type to "fake" the other - for example you could create a an entirely underground cave using an "exterior" level with the terrain mesh as the cave's floor.

Toolbar

Level editor toolbar labeled.png

See sections below for detailed information on level editor specific toolbar buttons.

Terrain mesh

The terrain mesh is a deformable surface used in exterior levels to provide a "ground". This toolbar contains the tools that deals with the terrain mesh:

Level editor toolbar terrain editing.png

Each of these buttons brings up a "brush" that's used for various tasks. See Terrain mesh for details.

Other tools


Lighting

There are many different types of lighting and light combinations that can be placed in the editor.

There are also many tools used to create lighting and generate lighting and even visualize lighting in the editor. The goal with the editor is to give the artist the same experience as he/she would see in the game. This will help them to be able to create the levels and tweak lighting quickly without having to stop to see it in-game.

Lights for the game are split into two categories based on what they affect: levels and characters. Character lights will affect the player, NPCs, and creatures. The level lights will affect static geometry and designer placeables.

See Lighting for more detail.


Models

Models are used to create any other objects that may be used as part of the level art - walls, floors, ceilings, non-interactive furnishings, visual effects, etc. (IconModelPlacement.png)

See Article: Model Placement

Trees and Vegetation is added using the "scatter object" mode (IconScatterObject.png).

See Article: Vegetation Placement

Animations

Some models have animations associated with them which may be set through the DefaultAnimation field of the Object Properties. For example, if you want a windmill or water wheel to turn you need to set that animation in the level editor. The animations for those two models are:

Windmill - wind

Waterwheel - turn

Room visibility and connectivity

Interior based levels have explicit connections between rooms, unlike exteriors where there is an implicit connection between two neighboring chunks. For this reason the connectivity must be set up by the artists. This should be done through planning and iteration as it will affect the streaming and performance of the level in the game.

If you select a room, you will see that that room appears highlighted in red. The Room Properties window can be brought up by pressing the Room Properties button. This behavior can be disabled by unchecking the Highlight visible rooms checkbox. All of the rooms that are visible to this room show up in green. You will see the list of these rooms show up in the Visible Rooms list in the picture above.

The ideal way to generate this visibility information is to press the button called “Generate Visibility Graph”. This will take a little bit of time, so sit back after you press it and be patient. What it does is take a render of each room in the level and generate a list of all rooms that can be seen from it.

NOTE: You must have generated pathfinding data for the level before you generate the visibility info, as it uses the pathing points in this process.

Of course this can be tweaked manually afterwards using the add and remove buttons. However if you ever press the Generate button again it will wipe out all manual changes.

The visibility system is used for streaming as well as the fog of war system, and determining what rooms are visible to the player depending on his/her current room. There is one other factor however to this, the connectivity system, which is detailed next.

The Room Connectivity System is necessary because there are things that can block visibility from one room to another. For instance if I’m looking up a hallway and I can see 3 rooms in the distance, but then I close the door in front of me, the game needs a way to know that those rooms are now invisible. This is where this system comes in.

The room connectivity system can be visualized by the other checkbox under the Connected Rooms list in the Rooms properties window.

Notice that the rooms connected to the current room show up in brown. This is a reminder that you are looking at connectivity and not visibility. As you can see only the rooms that are DIRECTLY connected to the selected room should be in this list. This has to built up manually, by clicking add and then clicking on the rooms that are connected to it. The add button in this case is more of a node, click it, then click the rooms you want to add, then you have to click it again to turn it off. This was done to make adding all the rooms faster.


Black boxes

When creating an indoor layout you'll need to manually insert "black box" objects on the outer sides of the layout's walls. This allows the player to see through the walls when the camera is outside them, and obscures any parts of models that protrude out where the player shouldn't be able to see them.


Trees, grass, and shrubberies

Trees, grass and shrubberies are handled somewhat differently from other models. They are created using a program called SpeedTree that includes information allowing them to respond to the wind. To place trees on a level, you first need to add that tree type's tree controller:

Level editor insert tree controller.png

Once this is done you can use the scatter object tool (IconScatterObject.png) to place specific examples of the vegetation you've added controllers for.

See Vegetation for a gallery of the vegetation types included with the core resources.


Scatter Object Tool

The scatter object system allows the artist to place down both trees (and grass) and instanced models. An example of an instanced model would be some rocks scattered around on the ground. Objects that are scattered across the terrain level will be placed randomly inside the brush, and will also randomly fluctuate in size and orientation as well.

The Scatter object tool allows the artist to paint scatter object on the terrain. These scatter objects cannot be selected individually, but can only be added or removed with this tool. Left clicking adds scatter objects within the brush, right clicking removes them.

When the artist is painting scatter objects, he/she gets a palette, or Scatter Object Selection, from which to select which scatter object to paint. Currently there are 2 tabs, one for trees and the other for instanced models.

The artist can add items to this list by right clicking on the Terrain World and selecting Insert, and then choosing either new Tree Scatter Object or new Model Scatter object. In each case the artist will be able to browse a list of available resources.


Water tools

See Water for detailed documentation on placing water in the level editor.


Wind

Each level can have one active wind object in it. The location of the wind object doesn't matter. The wind object defines how wind behaves on this level, which is used for such things as flapping banners and swaying trees.

To insert a wind object, right click on the terrain, and choose Insert > New Wind Object.

Level editor wind object.png

For other weather effects, see Weather.


Pathfinding

Pathfinding is generated by clicking the toolbar button IconGeneratePathfinding.png. The pathfinding process lays down a grid of points that are marked "accessable" if they can be reached from a pathfinding start spot via passable terrain. This is essentially a flood-fill algorithm.

In the case of exterior areas, you must select an exportable area before it will generate it, the error message will reflect this.

To see the existing pathfinding grid, click on the IconDisplayPathfinding.png toolbar button or select "Pathfinding nodes" under the "View" menu.

"Passable" or "impassable" depends on a variety of factors such as the slope of the land, obstructions, or water depth. Accessibility Start points are represented by a blue ring with a red arrow. Note that these are different from waypoints, and are only used by the level editor for pathfinding purposes.

Level editor pathfinding start spot.png

Models will often contain collision volumes that will automatically make the places they're located impassible. Likewise, you can set a certain depth of water as being impassible and pathfinding will take this into account.

In order to get pathfinding to work, you must generate your starting point AFTER you create the exportable area, and use the name that is automatically generated for the starting point. DO NOT change the name of the starting point otherwise pathfinding will fail.

Terrain Collision

You will need to block off terrain using the Terrain Block tools TerrainBlockButtons.png. The first button toggles the display of the terrain blocks, the second button enables you to place terrain blocks, and the third snaps existing blocks to terrain verticies. Left-clicking will start a new block, with additional left-clicks chaining the blocks together. Right-clicking will end the current chain. In addition, right-clicking on an existing block will delete it.

An example of a terrain block chain showing the path finding

TerrainBlockExample.png

Hotkeys

Key Function
R Standard Selection
Q 3D Axis Manipulator
E Rotation Manipulator
T Local Coordinates (Toggle)
Key Camera Functions
W Camera Forward / In
S Camera Back / Out
A Camera Pan Left
D Camera Pan Right
Key Brush Size
- Decrease Brush Radius
= Increase Brush Radius
Key Editing
Ctrl-X Cut Selected Object(s)
Ctrl-C Copy Selected Object(s)
Ctrl-V Paste Selected Object(s)
Ctrl-Z Undo last action
Ctrl-Y Redo last action
Ctrl-A Select All
Key General
Ctrl-S Save Map
Ctrl-O Open Map
F5 Refresh Screen
Del Delete Selected Object
5 (Numpad) Camera Reset/Home (Looks at bottom right corner of map)
Ctrl-H Hide Selected Object(s)
Ctrl-/ (Numpad) UnHides Selected Object(s)
Ctrl-* UnHides all hidden objects
Ctrl-\ Invert Selection

Tips

Groups are your friend.

Selecting a group will select all models inside that group folder. This allows you to move several objects at the same time as well as apply other settings to that entire group.

This also makes placing several grouped objects like torches with flame and lights very quick and easy. For example, Setting several candles with flame effects would take a lot of time to place each candle stick individually, and then placing the flame effect exactly on top of the candle for each. By using group folders you only need to set this up once. To place more candles simply select the group folder, Ctrl+C to copy, select its parent group, or other place you want to put the next candle and Ctrl+V to past the new group. Then simply drag it to where you want it.

Tip 1.jpg

In addition, the Selection Lock and Visible properties of objects can be useful when trying to manipulate objects when larger objects obscure or get in the way of the desired selection. This is especially handy with water meshes.

Manage exports

The "Manage Exports" window is accessible from the Tools -> Exports -> Do All Export Operations menu option. It brings up a window where you can select from all steps in the level-exporting process:

Manage exports.png

Known Issues

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox