Dota 2 Workshop Tools/Level Design/Tile Editor

Category:Dota 2 Workshop Tools
This section explains the features of Tile Editor in detail. If you just want to learn the basics, go read Tile Editor Basics: Your First Dota Map.
== Tile Editor interface ==
The tile editor tool interface is split into 3 main sections, as pictured below:
# The tile editor mode tool bar. This section of the interface is a tool bar that allows the current tool mode of the tile editor to be selected. 
# Settings for the current tool mode. This section of the interface displays the settings for the currently selected tool mode of the tile editor. Its contents will change to display the settings for each mode, although many modes share common settings.
# Current hotkeys. Displays the most important hotkeys for the currently selected tool mode.
== Height Brush ==
Tool mode hotkey: 
The height brush mode of the tile editor allows the height of the ground within the radius of the brush to be raised and lowered. There are a few modifiers that change exactly how the brush affects ground height, these are described below.
=== Height brush mouse operations ===
* Left click and drag : Raise the height of the ground within the brush. 
* Control plus left click and drag : Lower the height of the ground within the brush.
* Shift plus left click and drag : Extend the height under the center of the brush. 
* X plus left click and drag : Add to the height of the ground within the brush.
* C plus left click and drag : Change the tile set assignment of the tiles within the brush to be the currently selected tile set. (See Selecting the current current tile set below)
=== Height brush key commands ===
* / Raise or lower the ground within the brush a single step.
* / Cycle to the next or previous variation of the single tile currently under the cursor (lightly highlighted in green).
* Cycle the currently active tile set.
=== Changing the brush radius ===
You can change the radius of the brush by using middle mouse drag or by using the slider in the brush settings interface. 
=== Selecting the current current tile set ===
Several of the tile editor tool modes, including the height brush, use the currently selected tile set. This setting is shared across all the tool modes. The current tile set can be selected from any of the active tile sets using the current tile set drop down in the interface pictured above. See the Managing Tile Sets selection below for information on how to add and remove tile sets from the available list of tile sets.
Once a tile set is selected, any of the height brush operations will change the tiles within the brush to be the currently selected tile set. The Assign current tile set operation can be used to change the tile set assigned to tiles within the brush without modifying the ground height.
=== Raise Height vs. Add Height ===
Most of the height brush operations are straightforward, but there is a subtle distinction between Raise Height () and Add Height (+). Raise Height will increase the height of the ground directly under the cursor at the start of the brush stroke by one step and then set the height of all other ground positions within the brush to the same height regardless of their initial heights. By contrast, Add Height raises the height of each ground position within the brush by one unit from from that position's original height at the start of the brush stroke. As a result Raise Height will tend to create plateaus with large elevated flat areas, while Add height will tend to create hills with few flat areas.
File:tile_editor_advanced_raise_height_operation.png|Raise Height before and after: Raise Height only increases terrain height once relative to the brush's center node.
File:tile_editor_advanced_add_height_operation.png|Add Height before and after: Add Height increases the height of all terrain within the brush's bounds relative to its original height.
=== Tile grid height ===
The tile editor editor will allow the height of the ground to be raised 15 steps above or below the initial ground plane height. Once this limit is reached operations which modify the ground height will no longer apply to any ground points which have reached the maximum or minimum height. Each height step is of the ground is equivalent to 128 game units.
== Water Brush ==
Tool mode hotkey: 
The water brush tool mode allows water to be placed in a map using the same brush interface that is used to paint ground height. Water is primarly a visual element, other than modifying the height of the ground it has no significant impact in game.
=== Water brush mouse operations ===
* Left click and drag : Paint water within the radius of the brush.
* Control plus left click and drag : Erase any water within the radius of the brush.
=== Water brush key commands ===
* / Raise or lower the ground within the brush a single step.
=== Water and ground height ===
Using the water brush will result in modifying the ground height such that the ground under the water is flat and so that the water is surrounded by a border of ground tiles that are exactly one step higher than the water. This means that water cannot directly touch a tile with a height change greater than a single step (128 units).
=== Water and trees ===
Trees may be placed in water, however using the water brush will remove trees automatically as this is generally the desired result. Trees may be placed in water after it is created by the water brush.
== Path Brush ==
Tool hotkey: 
The path brush allows painting path over areas of the map. A path serves two purposes, it can be used as visual element indicating to the player expected movement direction and it ensures that it is possible for the player to traverse the ground where the path is placed. In order to ensure that the path can be navigated in game it will modify the ground height, add ramps and remove trees. By doing this the path ensures there will be nothing blocking the player's movement. Note however, path is not required for player movement. See the Grid navigation page for more information on how navigable areas are determined.
=== Path brush mouse operations ===
* Left click and drag : Paint path within the radius of the brush. This will add ramps, remove trees and modify the ground height as needed.
* Control plus left click and drag : Erase any path within the radius of the brush. This will also result in removing ramps and any trees which were removed due to the path will be re-added.
=== Path connectivity ===
Unlike the height and water which modify tile corners, the path brush modifies tile edges, marking each tile edge as being on a path or not. By default when using the path brush, blue lines are drawn connecting the any two edges of a tile which are marked as being on a path. This is useful in when trying to distinguish between two parallel paths and a single wider path.
File:tile_editor_advanced_path_edges.png|This tile (outlined in yellow) has path marked on two opposite edges. As a result the path brush tool mode will draw a blue line across the tile to indicate the path location.
File:tile_editor_advanced_path_parallel.png|Two parallel paths which are not connected. Note that the path indicator lines don't connect.
File:tile_editor_advanced_path_connected.png|A single wider path. Note how the path indicator lines connect across the path, showing that there is a single connected path.
== Tree Brush ==
Tool hotkey: 
The tree brush tool mode allow trees to be added to the map at the valid tree locations within the radius of the brush. The type of tree to be added can be selected from the set of tree types provided by the currently active tile set and the density of trees placed can be controlled as well.
=== Tree brush mouse operations ===
* Left click and drag : Paint the currently active tree type. Note that trees are added at the smallest size and will increase in size as the brush passes over them multiple times.
* Control plus left click and drag : Erase the trees within the brush. All existing trees within the brush will be removed regardless of type or size.
* Shift plus left click and drag : Paint trees incrementally. This operation will only add tress at their smallest size or increase the height of existing trees by a single step.
* Ctrl shift plus left click and drag : Erase trees incrementally. This operation will reduce the size of any existing trees by one step, or remove trees that are already at the smallest size.
* G plus left click and drag : Increase the height of any existing trees by a single step. This operation will not add any new trees and will only increase the height of an existing tree once within a single brush stroke.
* C plus left click and drag : Change the type of trees within the radius the brush to be the currently selected tree type. This operation will not add any new trees, it will simply replace existing trees with the new tree type.
=== Changing the tree brush density ===
The density of trees placed by the brush can be modified by using the density slider in the interface or by holding control and using middle mouse drag . A lower density will result in fewer trees being added within the radius of the brush, while a higher density will result in more trees being added within the radius of the brush.
=== Changing the tree type ===
The type of trees placed by the tree brush can be picked from any of the tree types provided by the currently selected tile set. Simply select the tree type from the trees drop down in the settings interface for the tree brush.
=== Valid tree locations ===
Tree placement is restricted to a 64 unit grid. Only one tree may occupy each location and a location is only valid for tree placement if it is not on a slope. Additionally a tree may not be placed on a location which already has a tree on a neighboring location. These restrictions are due to the fact that trees are important to gameplay and affect both navigation and fog of war. By placing trees using the tile editor you are guaranteed that each is placed in a valid location.
File:tile_editor_advanced_tree_placement_1.png|The tree brush will draw the valid tree locations within the brush as green. Locations which are invalid due to height change are not drawn.
File:tile_editor_advanced_tree_placement_2.png|Once trees are placed on a location the location will change to blue. Note that the neighboring locations turn red, indicating a tree cannot be placed their because it would directly neighbor an existing tree.
== Plant Brush ==
Tool hotkey: 
The plant brush tool mode allows placing plants and other details in much the same way as the tree brush. Like trees plants are restricted to a 64 unit grid with only one plant allowed to occupy each location. Like trees plants cannot be placed on slopes, however unlike trees there are no neighbor restrictions on plants. Unlike trees plants are purely a visual detail and do not affect on gameplay.
=== Plant brush mouse operations ===
* Left click and drag : Paint plants within the radius of the brush.
* Control click and drag : Remove the all plants within the radius of the brush.
=== Changing the tree brush density ===
Like trees, the density of plants placed by the brush can be modified by using the density slider in the interface or by holding control and using middle mouse drag . A lower density will result in fewer plants being added within the radius of the brush, while a higher density will result in more plants being added within the radius of the brush.
=== Changing the plant type ===
The type of plant which that is placed can be modified by selecting the plant type drop down from the settings interface for the plant brush. By default the plant type will be set to random, meaning that any of the available types can be placed within a single brush stroke. It can be changed to a specific type so that only plants of the selected type will be placed. Like the tree types, the active tile set determines what the available plant types are, but in general the standard tile sets simply provide sparse, moderate and thick plant types, which essentially control the size of the plants.
== Blend Painting Brush ==
Tool hotkey: 
The blend painting brush performs modification of texture blending directly within the tile editor. This allows texture blends on tiles to be modified without having to first collapse the tiles.
A section of the Dota 2 map with and without blend painting.
=== Painting blend layers ===
There are four blend layers which can be painted with the blend paint brush. The appearance of each layer is dependent on the tile set, but the layers are always ordered from 1 to 4 such that layer 1 is the bottom layer and layer 4 is the top layer.
To paint a layer select the corresponding button from the UI.
Once a layer is selected, left click and drag to paint the selected layer within the radius of the brush.
Hold control and left click and drag to erase the current layer, revealing the layers below it.
=== Brush settings ===
The brush settings can be used to control exactly how the brush modifies the opacity of a layer.
*Radius: The size of the brush. In addition to using the slider in the UI, this can be adjusted by performing a middle mouse drag. 
*Pressure: Controls how quickly the brush modifies the opacity of a layer. This can be adjusted by holding control and performing a middle mouse drag. 
*Stroke Opacity: This is the maximum opacity change that can be applied in single brush stroke. Once the stroke opacity has been reached moving the brush over an area will not change the opacity of the layer further until the mouse button is released and pressed again.
*Hardness: This controls the falloff of brush. A hardness of 0 means the only the very center of the brush will be applied at full strength, while a hardness of 100 means the entire area of the brush will apply at full strength.
File:tile_editor_advanced_blend_brush_soft.png|Application of a full pressure brush with 0 hardness.
File:tile_editor_advanced_blend_brush_hard.png|Application of a full pressure brush with 100 hardness.
=== Painting layer transitions ===
Using the Transition mode, the transition between two layers can be modified to be either sharp or soft, although the exact result is dependent on each layer of the material.
*Left click and drag to make the transition between two layers softer.
*Hold control and left click and drag to make a transition sharper.
File:tile_editor_advanced_blend_transition_soft.png|A blend with a completely soft transition.
File:tile_editor_advanced_blend_transition_sharp.png|A blend with a completely hard transition.
=== Smoothing blends ===
Using the Smooth mode, blend painting authored using the brush for any layer can be smoothed to make blend more even and gradual. 
This is different than making the transition soft in that it actually modifies the painted opacity of the layer instead of just modifying how the opacity is interpreted.
Left click and drag to smooth the blends within the radius of the brush.
File:tile_editor_advanced_blend_pre_smooth.png|A blend that has a distinct but still soft edge.
File:tile_editor_advanced_blend_post_smooth.png|After smoothing the blend is a gradient with no distinct edge.
=== Erasing all blending ===
Using the Erase All mode, all blend painting can be completely erased to return the surface to its original unpainted state.
Left click and drag to erase all blends in the area within the brush.
File:tile_editor_advanced_blend_pre_erase.png|Grass has been paint over these cliffs where the should be stone.
File:tile_editor_advanced_blend_post_erase.png|The cliffs are restored to their default state using erase.
=== Painting color tint ===
Using the Color mode, a color tint can be applied on top of any existing blends. The color to be applied can be selected by clicking on the color swatch.
Left click and drag to paint the selected color tint.
== Material Sets and Transitions ==
Material sets are groups of materials that can replace the default materials on a tile. Each tile set may have a number of different material sets which allow the original materials to be be replaced without requiring a whole new tile set.
=== Applying Material Sets ===
To apply a material set first select the material set from the drop down in the ui.
Once the material set is selected you can assign it to tiles using the blend paint brush modifier 
This will cause the selected material set to be assigned to the tile within the radius of the brush.
After a material set has been applied to tiles you can paint any of the four blend layers.
=== Transition Material Sets ===
Transition materials set are a special type of material set which may be used to blend between two other material sets.
To use a transition material set, first select it from the material set drop down:
Just as with a normal material set, use the brush while holding the apply material set modifier to apply the transition material set.
Transition materials only support blending layers 1 and 3 because they contain layers 1 and 3 from the two materials they transition between.
However, in addition to layers 1 and 3, transition material sets support the 'Material Transition' layer. This layer controls the blending between the two pairs of layers.
To paint the transition select the 'Material Transition' button from the ui.
Then simply use the brush to apply the transition by holding and dragging or holding to erase the transition blend.
== Object Placement ==
Tool hotkey: 
The object placement tool mode can be used to add individual detail objects to the map as well as individual trees and plants. In addition to placing detail objects the object placement tool can also be used to make small tweaks to existing objects such as rotating and re-positioning. 
=== Object position grid ===
Unlike the brush tools which work on an area, the object placement tool works on a single object at a time. The object placement tool interacts with the object position grid, which is the grid of locations 64 units apart where objects can be placed. When the object placement tool is active it will show the object location grid points in an area around the cursor. The grid point nearest the cursor will be highlighted in green, this is the active grid point to which all operations and commands will apply.
File:tile_editor_advanced_objects_grid_1.png|The object position grid is displayed in an area around the cursor. The active point nearest the cursor is highlighted in green, grid points with objects placed on them are blue, and empty points are white.
File:tile_editor_advanced_objects_grid_2.png|When the cursor is over a grid point where an object is placed the point remains blue but increases in size while the object itself is highlighted in green.
=== Object placement mouse operations ===
* Left mouse click : Place an object of the currently selected type at the currently highlighted location.
* Control plus left mouse click : Remove the object from the currently highlighted location.
* Left click and drag : Click on a location with and object and drag it to a new location.
* Shift plus left mouse click and drag: Click on an object and drag a clone of the object to a new location, leaving the original copy of the object where it was.
* X plus left mouse drag: Rotate the object at the currently active grid location.
=== Placing objects ===
The primary function of the object placement tool is to place detail objects. This is accomplished by simply moving the mouse cursor over a free object location grid point (free points are white), and clicking on it with the left mouse button. This will place an instance of the currently selected object type on the active grid point.
=== Selecting the object type ===
The object placement tool can place three types of objects: props, trees, and plants. To select which type of object that will be placed simply select the type from the object type dropdown in the tile editor interface.
Once a general object type has been selected, a specific sub-type of that object can also be selected from the interface.
Each object sub-type may still have multiple variations, when placed one of these variations will be selected randomly.
=== Changing the variation of an object ===
The specific variation of any object can be modified by mousing over the object location and pressing or .
=== Moving and cloning objects ===
* To move an existing object, move the cursor over the grid point location where the object is placed (the object will hightlight in green), then left click and drag to move it to a new location. 
* To clone an object, move the cursor over the grid point location where the object is placed, then hold shift and left click drag . This will clone the object and move the copy to a new location, leaving the original object in its initial position.
=== Rotating objects ===
To rotate an object, move the cursor over the grid point location where the object is placed, then hold x and left click and drag or middle click and drag . This will rotate the object. The rotation will obey the rotation snap settings, these can be set using the snapping toolbar in the lower right hand corner of the Hammer window.
=== Removing objects ===
To remove an existing object simply hold control and left click on the grid point corresponding to the object, or with the mouse cursor over the grid point for the object press .
=== Editing trees and plants ===
In addition to editing props, the object placement tool can be used to edit trees and plants, even if they were placed with the tree or plant brush tool modes.
* To add a single tree or plant simply set the object type to trees or plants and then select the specific tree or plant type you want.
* Tree placement still follows the same rules as it does when placing trees using the tree brush. Placing trees directly next to each other is not allowed, and trees cannot be placed on paths.
* Plant placement using the object placement tool differs from placement using the brush in one respect. The plant brush will not place plants on a path but the object placement tool will allow plants placed on a path. This is done to allow the plant brush to be used around the edges of paths quickly with no chance of the plants completely hiding the path, however since plants don't block navigation, they can actually be placed on paths deliberately using the object placement tool.
== Item selection ==
Tool mode hotkey: 
The item selection tool allows selection of both tiles and objects simultaneously. It then supports several operations that work on the selected set of items.
=== Selecting items ===
There are a few method of selecting items:
* Left click on an item under the cursor. This will select the individual item which is under the mouse cursor.
* Left click and drag to select multiple items under the cursor. This will select the item under the cursor and will continue to select each of the items which the cursor passes over.
* Middle click and drag to draw out a lasso, selecting all of the objects and tiles that are completely inside the shape.
* Hold X and middle click and drag to draw a box and select everything inside of it.
* Press to clear the selection.
=== Selection modifiers ===
All selection operations can be modified in the same way:
* Hold to remove objects from the selection.
* Hold to add objects to the current selection instead of replacing the selection.
=== Selection filtering ===
By default the selection tool mode will select both tiles and objects. The selection filter in the selection tool mode settings interface can be used to disable selection of either, allowing only the other to be selected. This can be useful in making complex selections.
=== Selection commands ===
* Next Variation : Pick the next variation of the selected tiles and objects.
* Next Variation : Pick the previous variation of the selected tiles and objects.
* Random Variation : Pick a random variation of each of the selected tiles and objects.
* Next Tile Set : Swap the tile set of the currently selected objects and tiles to the next tile set in the active tile sets.
* Previous Tile Set : Swap the tile set of the currently selected objects and tiles to the previous tile set in the active tile sets.
* Assign Current Tile Set : Assign the currently selected tile set to the selected tiles and objects.
* Raise Tiles : Raise the currently selected tiles by one step.
* Lower Tiles : Lower the currently selected tiles by one step.
=== Collapse ===
Collapsing items creates an editable copy of the selected items which can be modified individually outside of the tile editor. This is useful if custom modifications are needed.
=== Detail components ===
Tiles and objects are frequently composed of several detail components. When a tile or object is selected a gray box will drawn at the origin of each of its detail components. Moving the mouse cursor over one of these boxes will change the green selection highlight to be only on the specific detail component.
File:tile_editor_advanced_detail_1.png|Grey squares indicate the location of detail components on each of the selected tiles.
File:tile_editor_advanced_detail_2.png|Moving the mouse cursor over one of the detail component locations will turn the square green and highlight the detail in green as well.
File:tile_editor_advanced_detail_3.png|Pressing with a detail highlighted will remove it completely.
When a detail component is highlighted it may be modified with using the following operations:
* Cycle to the next variation of the detail.
* Cycle to the previous variation of the detail.
* Pick a random variation of the detail.
* Clear the highlighted detail component. Note that the detail component selection box remains, allowing the detail to be brought back by pressing any of the above keys to cycle the variation.
=== Copy and paste ===
Any selection of tiles and objects can be copied and pasted while in the item selection tool mode.
* Make a selection of tiles and press to copy them.
* Press to paste the tiles at the location under the cursor. 
* To preview the copied selection before pasting it press . This will start a temporary preview mode which will display the selection on the clipboard and where it will be placed based on the current cursor location.
** To place an instance of the selection on the clipboard simply press the left mouse button 
** To exit the paste preview mode press 
== Enable Disable ==
Tool mode hotkey: 
The enable disable tool mode allows tiles to be disabled or re-enabled. Disabling a tile is a way of hiding a tile in a non-destructive mangger. This can be useful when authoring custom geometry and embedding it in the tile grid. 
 
=== Disabling tiles ===
To disable a tile simply enter the enable disable tool mode and click on the tile. The tile will immediately gray out. When switching back to any of the other modes of the tile editor the disabled tile will be hidden.
=== Re-enabling tiles ===
Any disabled tile can by re-enabled by entering the enable disable tool mode. When in this mode all disabled tiles which are normally hidden will be visible but will draw grayed out. Clicking on any grayed out tile will re-enable it, causing it to draw normally.
File:tile_editor_advanced_disable.png|Disabled tiles and objects are visible but grayed out when in the enable disable tool mode.
File:tile_editor_advanced_hidden.png|Tiles that are disabled will be hidden after exiting the enable disable tool mode.
== Managing Tile Sets ==
A tile grid may reference up to 4 different tile set maps. These are the tile sets which can be selected as the current tile set. To change, add or remove which tile sets are being used simply click the Select Tile Sets button in the tile editor interface.
This will bring up the properties dialog for the tile grid, which lists the four tile set map files the tile grid is using. To change any of the tile sets click on the magnifying glass icon to bring up an asset browser which will allow you to pick a new tile set map. Picking a new tile set map to replace an existing map will automatically replace all of the tiles currently in use with the ones from the new map.
Next: New Tilesets