导航网格
< Zh | Dota 2 Workshop Tools | Level Design
导航网格,能够显示出地图上能够通行的地块,每次有变更之后,都会重新生成导航数据。导航网格控制着Dota 2地图中的所有运动路径,决定着哪些地方可以去,哪些地方不能去。
导航网格在Dota2中是一种俯瞰的2D平面图形,这些显示也有一定局限性,比如悬挂物和桥梁下方也是不能通过的。这个网格的显示是由64x64的单元网格组成的,而整个网格覆盖在全地图上。 为了创建出导航网格,必须在自定义地图上有一个可以行走的材质地表。所有“混合”的材质都具有可行走的特性。自定义的材质则需要从dota.nav.walkable 1
指定一个“User Material Attribute(用户材质属性)”,以便导航网格可以覆盖上去。
注意:在Dota中类似岩石、标记等道具是没有碰撞体积的,大多数时候都可以优先考虑这些。但是如果放置了一个一定大小的岩石,这就需要阻隔岩石周围的空间,防止有单位从中穿过。
Hammer导航预览
允许在不进入游戏的情况下预览导航网格,只要使用顶端工具栏上的导航预览按钮就可以实现这个功能。点击之后就会在任何有效表面上动态绘制导航网格。在游戏则可以在控制台输入 "dota_gridnav_show 1
" 进行查看
颜色定义
- 绿:开放-任何单位可以在这里移动。
- 红:禁止 -禁止通行, 在网格块之间的高度变化或者阻隔网格可以阻断这块区域,但是飞行单位依然可以穿过这些地方。
- 紫 (仅在Hammer编辑器内生效):动态阻隔-在hammer中ent_dota_tree会显示出来。
- 蓝:英雄阻断 - 英雄单位不能进入这块区域。
- 黄:生物阻断 - 生物AI单位不能进入这个区域,但是AI控制的英雄也会遵循英雄阻隔的原则,不会受到这些的影响。
创建一个导航网
地图编译时的导航网格会自动创建。
- 点击工具栏顶端的 Run Map 按键,或者按下 F9。
- Build Physics 必须确认。
- Build Grid Nav 必须确认。
阻隔 (Clip)
不同于其他Suorce引擎的游戏,阻隔可以影响到模型和地形表面的碰撞,在Dota2中,阻隔网格只会影响到它包含的导航网格。织构化一块阻隔网格,会影响到它所包含的导航网格。阻隔材质应用到网格上是不可以见也不可被渲染的。
一旦在一张地图上生成好导航网格,它就会组成一个很大的栅格区域。每一个方格都包含阻隔信息,当有单位想穿过这块区域时就会生效,玩家操作的英雄也是一种单位。
阻隔材质的类型
应用了阻隔材质的网格,会在编译的时候提供数据给导航网格,从而影响地图。要了解网格的构建和材质应用到网格面,请看 基本构建 教程。
下面是可应用到网格阻隔,材质的类型:
- 跳跃(Skip)
- 用来阻隔步行单位,飞行单位并不受约束,依然可以穿过这个空间。
- 阻隔(Clip)
- 最基本的变化模式,单位可以穿过它的顶部,就像坡道、楼梯地形或者其他可以创建的形状,这些形状上面也依然会生成导航网格。就像河面上架了一座桥(限制桥两边),就是很好的阻隔笔刷实例。
- 英雄阻隔(Hero Clip)
- 英雄不能穿过这个空间,不论行走还是飞行。
- 生物阻隔(Creature Clip)
- 和英雄阻隔类似,但是阻隔的是AI控制的单位。
- 提示:由于导航网格是一个64x64的单位区域,相比起来,在Hammer中生成一个32x32单位的方块就显得容易的多,把这个方块放在64x64的网格中间,反复使用方向键进行复制,这样比用笔刷圈出一片大区域来的方便得多。 这对建造标准阻隔区域来说很有效,但还是不推荐用于大规模划分的场景。
控制台命令
- dota_gridnav_show
- "0" - Off (关闭)
- "1" - Basic Clip (基本阻隔)
- "2" - Hero Clip (英雄阻隔)
- "3" - Creature Clip (生物阻隔)