This article relates to the game "Dota 2". Click here for more information.
This article relates to the SDK/Workshop Tools for "Dota 2 创意工坊工具集". Click here for more information.
这篇条目有关 Source 2引擎。如需详情,点击这里。

地形编辑器

From Valve Developer Community
Jump to navigation Jump to search

English (en)中文 (zh)Translate (Translate)

本文详细讲解了地形编辑器的参数,如果你想了解些基础知识,请阅读 地形编辑器基础:你的第一张Dota地图(en)

地形编辑器界面

地形编辑器界面可以分成三个区域,如下图所示:

Tile editor advanced ui.png
  1. 地形编辑器的模组工具条,这个区域内的工具条可以选择当前使用的地形工具模组。
    Note.png注意:每个模组都有对应的热键,只要把鼠标移上去停留几秒,就会显示出来。
  2. 用于设置当前的工具模组,这个界面显示了当前选中模组的设置。当切换不同模组时,设置就会发生改变,不过很多模组都共用了一套设置。
  3. 当前热键,显示当前模组的关键热键。

高度笔刷

Tile editor advanced height.png

工具热键:Q

地形编辑器的高度笔刷可以用来调整地面的高度,通过修改半径可以拉高或者降低地面。这个笔刷还有几种功能以不同方式影响地面的高度,下面就是相关描述。

高度笔刷—鼠标操作

  • 左键拖拽 LMB :提升笔刷内的地面高度。
  • Ctrl+左键拖拽 Ctrl+LMB :降低笔刷内的地面高度
  • Shift+左键拖拽 Shift+LMB :延伸笔刷中心下面的地面高度
  • X+左键拖拽 X+LMB :增加笔刷内地面高度
  • C+左键拖拽 C+LMB :将笔刷内的地形组件替换成当前选中的地形组件(查看下方的选择当前地形组件


高度笔刷—键盘指令

  • G / B 一级级抬高或者降低笔刷内的地面
  • F / V 前后切换当前地形的变量(鼠标选中之后会以绿色高亮显示)
  • N 在当前活动的地形组件中循环。


修改笔刷半径

Tile editor advanced brush radius.png

你可以拖拽滚轮来调整笔刷半径大小 MMB 或者是在笔刷设置界面中拖动滑条。

Note.png注意:所有笔刷模组都可以用同样的方法进行调整,但是每一个模组都只会保留自己的半径设置。


选择当前地形组件

Tile editor advanced current tileset.png

多数地形编辑器的工具模组,包括高度笔刷,使用的都是当前选中的地形组件。这个设置对所有地形模组都通用,这个当前地形组件可以从当前任意一个活动组件上面选取,就如上图所示,在下拉列表里进行选择。 查看下方的 管理地形组件 了解如何在地形组件列表中添加和删除地形组件。

Note.png注意:热键 N 能够快速在活动的地形组件中切换

一旦选中一个地形组件,任意高度笔刷的操作都会把地形修改为当前所选的地形组件。 分配地形组件(Assign current tile set) 操作 C+LMB 可以将地形组件分配到笔刷范围内的地形上去,而且不会影响地面高度。

提升高度 与 增加高度

大多数高度笔刷操作都非常简洁明了,但是在 提升高度(Raise Height) LMB增加高度(Add Height) X+LMB 之前却存在着微妙的差异。 提升高度 会随着鼠标的点击逐步提升地面高度,然后将笔刷范围内的其他地形都抬升到同一高度上。 相反的, 增加高度 则会随着鼠标的点击,在原始的高度上,把笔刷内的地面提高。也就是说, 提升高度 会形成一块平整的高原,而 增加高度 会形成一块崎岖的丘陵。


地形网格高度

地形编辑器最多允许地面提高15层,或者低于初始地面高度。一旦到达限制,任何调整高度的操作都将失效。每一级地表高度层都为128(游戏内单位)。

Note.png注意:地表高度在地图编译时会自动进行调整,所以游戏中地表高度永远都不会低于0。这是因为 战争迷雾 的限制,相关内容请查看 战争迷雾页面(en) 以了解更多战争迷雾限制地表高度的信息。


水体笔刷

Tile editor advanced water mode.png


工具热键:E


水体笔刷工具可以在地图中添加水体,笔刷的界面和地表绘制的界面是一样的。从根本上来说,水体是一种视觉元素。不同于地表高度,它不会对游戏产生实质性的影响。

水体笔刷—鼠标操作

  • 左键拖拽 LMB: 在笔刷范围内绘制水体
  • Ctrl+左键拖拽 Ctrl+LMB: 擦除笔刷范围内的水体


水体笔刷—键盘指令

  • G / B 抬高或者降低笔刷内的地表

水面和地面高度

使用水体笔刷会导致地表高度变动,水底的地表会变成平面,水体周边会被更高的地表包围起来。也就是说,因为高度的变化超过了一级(128个单位),所以水体不会直接和地形进行接触。

Tip.png提示:一张地图也许会有多个水体层次,但是每个可见的水体层都需要单独的反射渲染。一次性需要显示的水体层越多,地图运行就越慢。为了保证最佳游戏性能,地图最好进行限制,一次只显示一层水体。


水体和树木

树木也可以放置在水里,但是在使用水体笔刷时,会自动删除水里的树木,所以需要在水体创建完成之后再进行放置。


道路笔刷

Tile editor advanced path mode.png


工具热键:R


道路笔刷可以在地图上绘制道路,道路主要实现两个目的,它既可以当做一个视觉元素,用来指示玩家的运动方向,也可以确保放置道路的地方是可以通行的。为了保证道路可以在游戏里实现导航功能,需要修改地表高度、 增加斜坡、移除挡路的树木,这样就能确保在道路上没有什么会阻挡玩家的移动。需要注意的是,对玩家的移动,道路并不是一个强制要求的东西。更多关于导航的信息请查看 导航网格页面(en)

道路笔刷—鼠标操作

  • 左键拖拽 LMB: 在笔刷半径内绘制道路,这样操作需要添加斜坡、移除树木和修改地表高度。
  • Ctrl+左键拖拽 Ctrl+LMB: 擦除在笔刷半径内的道路,这也会导致斜坡被删除,因为添加道路而移除掉的树木也会重新添加回来。


道路连通性

不同于高度和水体修改了地形的四角,道路则修改了地形的边缘,标示出每个地形的边缘是不是在道路上。在使用道路笔刷时,道路上默认的蓝色线条表示连通了地形的两个边缘。 这在区分当前道路到底是两条平行道路还是一条宽阔的道路时非常有效。


树木笔刷

Tile editor advanced trees mode.png


工具热键:T


树木笔刷可以在 有效的树木位置 上添加树木。添加的树木类型可以从当前激活的地形组件中选取,树木的密度也可以进行调整。


树木笔刷—鼠标操作

  • 左键拖拽 LMB:绘制的树木类型为当前激活的树木类型,需要注意的是,添加的树木尺寸是最小尺寸,需要笔刷多刷几次才能变大。
  • Ctrl+左键拖拽 Ctrl+LMB:擦除笔刷半径内的树木,笔刷内所有树木,不论大小类型,都会被擦掉。
  • Shift+左键拖拽 Shift+LMB:以增量的方式绘制树木。这种模式下,只会以最小尺寸添加树木,或者一级一级地增大已存树木的尺寸。
  • Ctrl+Shift+左键拖拽 Ctrl+ Shift+LMB:以增量的方式擦除树木。这个模式会一级级减少已存树木的尺寸,或者删除最小尺寸的树木。
  • G+左键拖拽 G+LMB:一级级增加已存树木的高度。这个操作不会添加新的树木,但是会随着鼠标的点击,提高树木的尺寸。
  • C+左键拖拽 C+LMB:改变笔刷半径内的树木类型,将其改为当前选中的树木类型,并且不会增加任何新树。这个操作只是简单替换掉当前树木的类型。


修改树木笔刷的密度

Tile editor advanced density.png

要修改树木笔刷的密度,可以在地形编辑器界面拖动滑块,也可以按住ctrl,拖拽滚轮MMB进行修改。较低的密度会导致刷出来的树木比较少,高密度的笔刷则会一次创建更多的树木。


修改树木类型

Tile editor advanced trees type.png

通过树木笔刷放置的树木可以从当前的地形组件任意选择树木类型,只要在树木笔刷的设置界面点击下拉列表进行选择就可以了。

Note.png注意:树木的类型完全由界面中的设置进行控制,并不会因为放置在不同的地形就接受地形组件的限制。所以可以把不同地形组件的树木混合在一起。


有效的树木位置

树木放置的位置受限于64单位的导航网格,每个单位网格中只允许放置一棵树,并且不能在斜坡上放置树木。一般来说,在旁边网格里已经有树的时候,就不会在这个位置放置树木了。 会出现这个限制的原因,是因为树木在游戏中是很重要的单位,会同时影响到导航和战争迷雾。因此在使用地形编辑器放置树木时,需要确保每棵树都放在了有效的位置。



灌木笔刷

Tile editor advanced plants.png


工具热键:Y


灌木笔刷可以放置灌木和其他细节物品,它的工作模式和树木笔刷是一样的。灌木笔刷也受限于64单位的网格,一个区域内只允许放置一个灌木,同样也不允许放置在斜坡上。和树木不同的是,灌木并没有相邻网格的限制,而且也不会影响到游戏功能,就是个单纯的视觉元素。


灌木笔刷—鼠标操作

  • 左键拖拽 LMB:在笔刷半径内绘制灌木
  • Ctrl+左键拖拽 Ctrl+LMB:在笔刷半径内擦除灌木


修改灌木笔刷的密度

Tile editor advanced density.png

和树木一样,灌木的密度也可以在设置界面拖动滑块进行调整,或者是按住Ctrl然后使用鼠标滚轮MMB进行拖拽。密度越小,笔刷添加的灌木就越少。密度越高,笔刷添加的灌木也就越多。


修改灌木类型

Tile editor advanced plant type.png

灌木类型可以在灌木笔刷设置界面的下拉列表里面进行进行选取。默认的类型为随机,意味着每一次点击鼠标,会创建任意一种可用的灌木。可以通过选取特定的类型,这样布置下来的灌木就都只会是选中的类型了。 不过总的来说,标准地形组件只是简单提供了 稀疏(sparse)中等(moderate)浓密(thick) 三种灌木类型,从根本上控制了灌木的尺寸。


饰品放置

Tile editor advanced objects.png


工具热键:U


饰品放置工具可以在地图上添加单独用于细节装饰的饰品,就像树木和灌木一样。除了放置饰品之外,饰品放置工具还可以小幅度调整已存在的饰品,比如进行旋转或者重新定位。

饰品位置网格

和其他范围笔刷不一样,饰品放置工具一次只能放置单个饰品。饰品放置工具也会和位置网络产生交互,只有在64单元网格区域,饰品才能放置下来。当饰品放置工具激活时,会在鼠标所处位置显示饰品位置网格, 距离鼠标最近的激活点位会变绿高亮显示,这个激活的网格点位就可以支持所有操作和指令。


饰品放置—鼠标操作

  • 左键点击 LMB: 在高亮区域放置一个饰品,类型为当前选中的类型。
  • Ctrl+左键点击 LMB: 擦除当前高亮区域内的饰品。
  • 左键点击拖拽 LMB: 左键点击选中一个饰品区域,拖拽到新的区域去。
  • Shift+左键点击拖拽 Shift+LMB: 点击一个饰品,拖拽复制品到新区域,在原处留下本体。
  • X+左键拖拽 X+LMB: 旋转当前激活网格里的饰品。

放置饰品

饰品放置工具的初始功能就是放置细节装饰用的饰品,只要简单移动鼠标到一个空白的饰品网格点上,点击左键就可以了。这样也可以在激活的网格点上使用当前选中的饰品类型进行替换。

选择饰品类型

饰品放置工具可以放置三类饰品:道具(props)树木(trees)灌木(plants)。要选择饰品类型,只需要从饰品设置界面通过下拉列表进行选取。

Tile editor advanced object type.png


只要一个总类被选中,就可以在设置界面里选择一些特别的子类了。

Tile editor advanced object subtype.png

每个饰品子类依然具有很多变种,在放置时,会随机生成这些变化形态。


改变饰品的变化形态

可以通过把鼠标移到饰品的区域上,然后按下 F 或者 V 来选取这些特殊饰品的变化形态。

Note.png注意:有些饰品只有一个变化,这种情况下,饰品就没有办法进行编辑。

移动和复制饰品

  • 要移动一个现有的饰品,移动鼠标到放置饰品的网格点上(饰品会变绿高亮显示),然后左键点击拖拽 LMB ,把饰品移动到新的位置上。
  • 要复制一个饰品,移动鼠标到放置饰品的网格点上,按住shift然后点击左键进行拖拽 Shift+LMB,这会复制饰品到新的位置上去,原处保留饰品本体。

旋转饰品

要旋转饰品,移动鼠标到放置饰品的网格点上,按住X键,然后点击左键进行拖拽 X+LMB 或者点击拖拽鼠标中键 MMB。这样就能旋转饰品。旋转角度会服从旋转对齐的设置,对齐的角度可以在右下方的对齐工具条(snapping toolbar)里进行设置。

Tile editor advanced rotation snapping.png

移除饰品

要移除已存在的饰品,只要简单地按住Ctrl,然后在左键单击 Ctrl+LMB ,或者把鼠标移到饰品上,按下Del

Note.png注意:在任意位置按下Ctrl时,饰品会变红,标示可以删除。

编辑树木和灌木

除了能够编辑道具,饰品放置工具也可以编辑树木和灌木,连树木笔刷或者灌木笔刷绘制的也可以进行编辑。

  • 要添加一个单独的树或者灌木,只要在饰品类型里选择树木或者灌木,然后选择需要的特殊类型。
  • 树木的放置依然遵循树木笔刷的原则,在树木边上放置其他树木是不被允许的,树木也不能放在道路上。
Note.png注意:左键点击一棵树,意味着编辑树木的高矮。
  • 用饰品放置工具放置灌木和灌木笔刷绘制灌木在某个方面上存在着差异,灌木笔刷不能在道路上放置灌木,但是饰品放置工具却可以。这样能让灌木笔刷快速填满道路的周边,并且灌木不会完全掩盖道路。 在灌木不会影响到道路导航之后,我们就可以用饰品放置工具在道路上放置灌木了。


物体选择

Tile editor advanced selection.png


工具热键:i


物体选择工具可以同时选中地形和饰品,然后支持在选中的物体上进行各种操作。

选中物体

有许多方法可以选中物体:

  • 左键单击 LMB 鼠标在物体上方时,可以选中鼠标下方的单个物体。
  • 左键点击拖拽 LMB 可以选中鼠标框选过的多个物体。
  • 中键点击拖拽 MMB 画出一个套索,选中套索内的全部地形和饰品。
  • 按住X键,中键点击拖拽 X+MMB 画一个框,框选所有的物体。
  • 按下 esc 以清空选择。


选中编辑

所有的选择操作都可以用同样的方法进行编辑:

  • 按住 Ctrl 移除选中区域内的饰品。
  • 按住 Shift 把饰品添加到在选中区域去,避免重新选择区域。


选择过滤器

Tile editor advanced selection filter.png

在默认的选择工具中,会同时选中地形和饰品。在设置界面中的选择过滤器中,可以设置只选中一种类型,这在进行复杂选择的时候会很好用。


选择指令

  • 下个变化形态。按下 F,获取选中地形和物品的下一种变化形态。
  • 上个变化形态,按下 V,获取选中地形和物品的上一种变化形态。
Note.png注意:下一个变化和上一个变化之间也许不会产生完全相同的结果,因为具体的细节部件还是存在差异的。
  • 随机变化形态。按下 C,获取选中地形和物品的随机变化形态。
  • 下一个地形组件。按下 Ctrl+C,使当前选中的地形和饰品切换为下一个激活的地形组件。
  • 上一个地形组件。按下 Ctrl+ Shift+D,使当前选中的地形和饰品切换为上一个激活的地形组件。
  • 分配当前地形组件。 Shift+C,把当前选中的地形组件分配到当前选中的地形和饰品上。
  • 抬高地形。按下 G,抬高当前选中的地形一级。
  • 降低地形。按下 B,降低当前选中的地形一级。


拆叠

Tile editor advanced collapse.png

拆叠物体会为选中的物体创建一个可编辑的副本,然后在地形编辑器外进行编辑,如果需要进行自定义编辑的时候,这个功能会很实用。

Note.png注意:这个操作会退出地形编辑器,然后选中当前激活的物体。


细节部件

地形和饰品往往由许多细节部件构成。当一个地形或者饰品选中之后,会出现一个灰色方块显示出它的全部细节部件。移动鼠标到这些方块上,会使选中的部分变成绿色高亮。


当一个细节部件高亮显示之后,可以用如下操作进行编辑:

  • F 切换到细节部件的下一个变化形态。
  • V 切换到细节部件的上一个变化形态。
  • C 选取一个随机的变化形态。
  • Del 删除高亮的细节部件,需要注意的是,细节部件对应的选择方块会保留下来,可以通过按上述的任何一个按键将部件切换回来。


复制粘贴

在选择模式中,任何选中的地形和饰品都可以进行复制粘贴。

  • 选择一个地形,然后按下 Ctrl+C 进行复制。
  • 按下 Ctrl+V 把地形复制到鼠标所在的位置。
  • 要预览复制粘贴的效果,可以按下 Ctrl+ Shift+V,这只是个暂时性的预览,显示的内容来自剪贴板,显示的位置则是依据鼠标当前的位置。
    • 在剪切板里要替换选择的内容,只需要按下鼠标左键 LMB
    • 要退出预览模式,请按下 esc
按下 Ctrl+ Shift+V 触发预览模式,在真正进行粘贴之前,可以在剪贴板里面预览复制的内容。


生效/失效

Tile editor advanced enable disable.png


工具热键:h


生效/失效工具能让地形失效或者重新生效,让一块地形失效,可以算一种不破坏地形的地形隐藏方法。这在创建自定义几何、把几何嵌入地形网格的时候非常好用。

Note.png注意:只有地形可以失效,在失效的地形上,饰品(比如树木)会自动隐藏。在地形角落或者边缘的饰品只有在它所接触的所有地形都失效的情况下才会隐藏。

地形失效

要让一块地形失效,只要进入生效/失效工具的界面,点击那块地形,地形就会立马变灰淡出。当切换到其他地形工具上时,失效的地形就会隐藏起来。

地形生效

任何失效的地形都可以在生效/失效工具里设置重新生效,在这个模式下,任何失效的东西还是可见的,但是地块会变成灰色,点击任意的灰色地形就能使其重新生效。


管理地形组件

Tile editor advanced slect tile sets.png


一个地形网格可以关联4个不同的地形组件地图。这些是可以选为当前地形组件的地形组件。要想修改,添加或者删除地形组件的话,在地形编辑点下 Select Tile Sets 按钮就可以了。


这会把组件带入到地形网格的属性会话中,同时列出4个地形组件地图。要改变任意地形组件时,点击放大镜图标,打开资源管理器,在这可以选择需要带入的新地形组件地图。 选择一个新的地形组件地图之后,会自动把老地图的地形替换成新地图的组件。

Tile editor advanced slect tile grid properties.png


Tip.png提示:想要删除没有使用的地形组件的相关引用,需要清除掉这个地形组件的名称。删除无用的地形组件会耗费大量时间,在Hammer中需要重新加载地图,而且不管有多少地形在使用这个地形组件,都会重新进行加载。


下一章: 新建地形组件(en)