icedream 210 Report post Posted March 2, 2015 概述 本章将讲解如何通过手动方法和自动方法来创造导航网格。 你将学到: "导航网格"的定义及其重要性 如何通过基本重做法自动制作导航网格 如何手动编辑导航网格 修复导航网格的缺陷 制作基本贴图 什么是导航网格? 当一块区域已建造且被布置后,你必须确定哪些区域角色可进入,这时就要用到导航网格。简单地说,导航网格就是告诉哪些区域你能进入的多边形网格的集合。 当我们运行游戏时我们可以接受到很多信息,我们大脑分析看到的细节,并不断地得出结论和进行推测。然而,人工智能系统没有人脑那么发达,而且必须遵循我们设定的信息。导航网格告诉AI角色哪些空间可以进入。因此导航网格在控制AI行为方面起到关键作用。 导航网格编辑器是一个健全的工具-尽管在初次使用时会遇到障碍。我们将按步骤依次学到如何运用它。一旦你了解使用法则并加以练习使用,那么你将会迅速成为导航网格专家。 GECK用户注意:部分手动创建导航网格方法的改变将会给你造成不便。然而,新增加的自动创建方法将会收录在教程中,例如所有的新"Recast"产生方法。 湮灭或晨风Construction Set的用户注意:导航网格完全替代这些工具中的寻路系统。 自动生成导航网格Fig. 4.1: 导航网格按钮Fig. 4.2: 导航网格工具栏 所有关于导航网格的工作将用一个多样化编辑模块。想要进入这个模块,点击主工具栏上的Navmesh按钮(Fig. 4.1),或者按"CTRL+E"。导航网格工具栏将会出现。 事实上我们不必使用导航网格工具栏上的每个按钮来自动制作导航网格;它很方便。我们只需在导航网格模式下使用自动制作,然而,这些按钮的存在让我们知道它们的作用。 这里有4种自动制作的方法:目标法, Havok法, 重做法和高级。对于大多数情况,你将会使用重做法并手动修补导航网格。本教程将不会着重讲解目标法和Havok法,高级用户会选择手动制作所有的导航网格。一些情况下手动制作明显快于自动制作再修补的方法-一旦你能熟练运用这个系统你将会选择它。 GECK用户注意:目标法和重做法是Creation Kit的新特性。 让我们用重做法在Lokir坟墓的导航网格上创造一条路径: 点击渲染窗口来确定它处于活动状态 确信你没有在渲染窗口中选择任何东西(如果你不确定,在空白处点击鼠标左键)。 在主工具栏内的导航网格目录下选择重做法:Navmesh > Generation > Recast Based Generation 重做法对话框将出现。(Fig 4.3) 不要担心每个数值的意思。请确信你的数值和图Fig 4.3中的相同,点击"OK"。 点击"OK"。将会等待一些时间来运行,等待时间取决于你的电脑。 一旦完成,导航网格应该和图Fig 4.4 Fig4.5里的看起来一样。 Fig. 4.3: 导航网格重做窗口Fig. 4.4:导航网格重做法运行的结果Fig. 4.5:导航网格重做, 只有导航网格 有时制作导航网格时你要面对一个平面的一大堆选项,但是你不要删除这个平面的其它导航网格。你能通过按住CTRL+ALT并点击鼠标左键来拖动所有你要建立导航网格空间的引用窗口。一旦你选择查询窗口,点击重做法将只对这些引用的东西有效。 手动制作导航网格 现在我们制作一个导航网格,我们现在必须花费一些时间来修补它。最简单快捷的方法是手动解决,在我们修补它之前,花费一些时间找寻重做法做得不到位的地方。 如果你在观察导航网格时遇到麻烦请尝试三种导航网格模式:正常、透明、只有导航网格。按住"W"轮流尝试三种不同模式,或使用工具栏上的按钮,如图所示:删除导航网格的一部分 当你修复自动生成的导航网格时,最好从删除不能进入区域的导航网格冗余开始这样将使我们看剩余导航网格时容易一些。 洞穴和腐蚀的楼梯是产生导航网格冗余最多的地方。你将会看到许多孤立的导航网格。不要担心这些,一旦你修复主要的导航网格,那么移除多余的导航网格将会很容易。 对于想清除导航网格冗余的高级用户而言,在每个你想保留的导航网格上CTRL+鼠标左键点击三角形然后点击'"I",这是运用反向选择。一旦你按住"I"键所有导航网格冗余将被选择,通过"R"或"DELETE"键删除它们。这种方法在手动删除大量导航网格冗余时非常迅速,但是也很容易误删有用的导航网格-务必小心谨慎! 首先要注意洞穴的选择,然后我们将清理导航网格冗余。现在你只需知道导航网格工具栏左边的3个按钮:Fig. 4.6:区域选择按钮Fig. 4.7:顶点选择按钮Fig. 4.8:边选择按钮 修复玩洞穴选项,按住鼠标左键并拖动选择洞穴的最高点。记住通过可见标记("W")来获取你的方位。不要担心破坏洞穴区域的导航网格:接下来将重建它。确信你至少选择顶点选择(Fig 4.7)及区域选择 (Fig4.6)之中的一个。你也可以通过选择它们来修复洞穴区域。Fig 4.9a展示有顶点和三角形的导航网格的洞穴选项并准备删除操作。 一旦对你要删除的区域选择顶点选择或区域选择,点击"R"或"del"进行删除操作。区域冗余被删除后,你将看到如图Fig 4.9b所示。Fig. 4.9a: 导航网格,洞穴区域选择Fig. 4.9b: 导航网格,洞穴区域移除导航网格区域制作 现在我们将学习手动制作导航网格的方法。 在制作导航网格的过程中你将逐步使用导航网格热键来代替先前的工具栏。T 开关导航网格区域选择V 开关导航网格顶点选择G 开关导航网格边界选择 要想打开顶点选择,在导航网格工具栏上点击,或者在洞穴区域开始处按热键"V"。在地面上右击鼠标。注意一个顶点将出现。然后重复相同的步骤制作至少2个顶点。如图Fig 4.10所示,你将会在地面上看到3个黄色(或2黄1绿)顶点。 确信你没有放置坐标方格,在制作导航网格时放置坐标方格不仅没有必要还会给你带来麻烦。 和其它Creation Kit编辑器相比,导航网格编辑器使用独立的热键设置。也许你会不适应,例如热键"T"是上下预览,但是在导航网格编辑模块中是重新设置按键。 注意你制作的顶点的颜色。绿色的是当前已被选择的。黄色的是未选择且无系统(不是任何区域的一部分)的。红色的是有系统但未选择的。如果一切完成,那么黄色顶点没有任何作用并可以安全被删除。 要想创造一个区域,通过在每个顶点上使用CTRL+左击鼠标选择3个无系统的顶点。然后按"A"键或点击来用3个顶点创造一个三角形区域,如图Fig 4.11所示。注意热键"A"只在3个顶点并非完全选择时工作。Fig. 4.10: 3个黄色(无系统)顶点Fig. 4.11: 3个顶点的三角形区域 注意:在创建一个三角形区域后仍有2个顶点保持绿色(已选择)。在这种情况下,你要通过CTRL+右击鼠标来创建其它三角形区域。在你点击鼠标的的地方将会出现一个新顶点并自动创造一个新的三角形。 洞穴区域的导航网格 现在我们已经创建首个三角形区域,我们必须用更多三角形来填充洞穴区域。最简单的方法是选择2个顶点再点击ctrl+右击鼠标来创造第三个顶点。这将在2个已选择的顶点和新顶点之间自动创建一个新三角形。 注意一旦新三角形被创建,2个顶点将保持绿色(已选择)通过使用ctrl+右击鼠标来创建另外一个三角形。通过不断练习,你能熟练运用CTRL和鼠标右键来填充空间。如果绿色的顶点并非你要选择的,通过按"Tab"键来重新选择顶点。一切就绪,我们填充洞穴区域。当你完成后,洞穴区域的导航网格将如图Fig 4.12和Fig 4.13所示。(注意:你的实际结果将与布置的杂物多少相关) 通过学习这项技术,你能迅速运用CTRL-右击鼠标把地面覆盖导航网格。我们把这项技术称为"走狗"。 Fig. 4.12:导航网格重做法的结果Fig. 4.13:只有导航网格古诺德遗迹楼梯的导航网格 我们将导航网格布置到房间里,然后看一下古诺德楼梯NorHallSm1wayStairs128。在使用自动法时楼梯是典型的问题区域。你的楼梯没有导航网格,如图Fig 4.14a所示。 幸运的是,Creation Kit提供轻松解决这个问题的方法。如下: 例如,我们要清理楼梯顶部和底部的边界,可以这样做: 删除所有楼梯的顶点,如果适用。 重新布置楼梯顶部和底部的顶点,在每一边创造一个干净开放的边界。 如果哪一边有至少三个顶点,合并顶点使得每边只剩两个。-要想合并顶点,选择你要合并的,然后按"Q"键或点击工具栏上的。 确定已点选边界选择("G") 双击每一边,并各选2个顶点-它们将变为绿色。 在2个顶点被选择后,你的结果将会如下图Fig 4.14b所示。 Fig. 4.14a: 重做法之后的楼梯Fig. 4.14b: 清理楼梯的导航网格在其余平面布置导航网格 当导航网格布置在洞穴区域及楼梯后,你要知道必不可少的是要继续在房间空白处布置导航网格。如果你遇到问题,以下内容或许有帮助。 制作一个简洁明了的导航网格,这将更易于编辑且提升游戏运行速度。 牢记热键! 不要对制作AI不使用的导航网格感到厌烦。例如家具之间的狭小空间。路径测试将会用到。 记住:在两个接近的物品之间自动绘制导航网格时,打开边界:双击一个边界,然后CTRL+双击另一个边界。 利用多重预览模式。用循环通过,按"W"或使用工具栏按钮 删除一个三角形,按"T",选择要丢弃的三角形并按DELETE或R。你也能通过CTRL+Z撤销选择。 删除任意一个顶点将删除它所在的边和三角形。 记住点选区域选择、顶点选择、边界选择的热键(分别是T, V, G)。 要合并顶点,选择至少两个顶点并按Q或点击,所有选择的顶点将合并到“首先”选择的顶点。 双击一个边(边界选择开启状态, "G")来迅速选择它的两个端点。 记住创造一个三角形区域后会有2个顶点依然保持已选择状态。你能通过按"TAB"取消选择。 你能通过按"R"键删除已选择的目标, 尽量创建一个肥大的三角形区域-并尽量是等边的。这能提高效率。要尽力避免创建瘦长的三角形区域。使用边界旋转(热键"S"或)来达到理想的结果,如图Fig 4.15所示。 如果想看有系统的区域网格,但却看到黄色边界,这意味着有2个顶点重合。修复方法是,拖动顶点然后合并它们("Q")。如果黄色边界依旧保持,对边界另一侧上的点重复相同步骤。如果黄色边界消失,你要合并顶点并链接导航网格。 右击边界来在边界上创建顶点。这种方法被称为爆破边界。 Fig. 4.15a: 典型的无效率方法, "放射型"边界Fig. 4.15b: 边界处理后的效果 这是平面上杂物附近区域的导航网格的样子。注意图Fig 4.16中启用物理效果(可移动/动态)的目标下的导航网格。你不必对Havok目标周围制作导航网格,导航网格将在游戏运行时注意到它。例如,这个场景内的Havok目标是铲子、木推车、陶罐。注意这些目标附近的导航网格。木桶不是Havok目标因此我们必须在它周围布置导航网格。Fig. 4.16: 导航网格适当的避开静态物体除了可移动的目标 图Fig 4.17大致展示出你完成之后的导航网格样子。在这个例子中,我们剔除微小、隔离的导航网格冗余。它们很容易被删除。 在主要导航网格中选择任意三角形,然后按"I"或 通过反向选择选取未被选择的导航网格。如果你的可玩区域是一个连续的导航网格,不必要的区域高亮绿色。 选择导航网格冗余后,按"R"或"DELETE"删除。 最后的导航网格应如图Fig 4.18所示。 Fig. 4.17: 手动选取主要/冗余的导航网格Fig. 4.18: 最终的导航网格 修复导航网格错误 当你完成后你必须检查导航网格的错误。这是一个简单的过程。 你也许会在保存时发现一些错误。无论保存时发现错误与否,你都应该运行"检查导航网格"。 打开三角形选择对话框,如图fig 4.18所示。这里有3种方法: 使用导航网格工具栏上的三角形查找按钮 按热键"CTRL+F" 通过主目录:导航网格 > 三角形选择 一旦弹出对话框,选择"检查导航网格" 警告,如图fig 4.19所示,弹出对话框询问你是否要删除全部。 接下来,处理问题三角形,这里有两种方法: 选择"是"将删除所有问题三角形-但是你将必须记住这些三角形位置并修补它们(通常通过创造一个新的三角形)。你只能用肉眼查找,尽管这对于复杂的导航网格来说非常困难,特别面对很多零碎的三角形。 我们建议手动修复每个错误,在这种情况下你选择"否"。这将关闭警告对话框。 选择警告对话框的下一个警告 。渲染窗口拍摄将自动拍摄问题三角形并高亮它们。通过删除和重建它们大多数错误都能轻而易举地解决。 如果有超过一个警告,再次选择检查导航网格,重复修复步骤直到所有问题被解决。(在每次删除后你应再次检查,因为每次修复错误都会影响三角形导航网格索引—— 一切完成后,保存你的插件。 Fig. 4.18: 三角形选择对话框Fig. 4.19: 导航网格警告对话框 如果你不想手动修复每个错误,在点击"下一个警告"按钮后点击每个坏三角形,然后选择"是"删除所有问题网格。它将让你在删除后知道那些导航网格的位置。 制作边界顶盖 边界顶盖包括一些数据,例如顶盖的高度。NPC在战斗和寻路时将会用到它。 要想自动发现顶盖,从主工具栏上依次选择导航网格>发现顶盖,或使用导航网格工具栏上的按钮。 发现顶盖需要一定的时间,具体时间长度取决于你的硬件水平和导航网格的复杂程度。 一切完成后,你将注意到导航网格边界颜色的变化。每种颜色代表不同的高度。现在你的导航网格应如图Fig 4.20所示。 要想使你的顶盖有很好的视觉效果,依次选择导航网格>绘制顶盖(如图Fig 4.21所示)。 一切完成后,角色将能在空间中寻路,制作高质量的导航网格是要花费一定的时间,现在将要在游戏中重复枯燥的过程-任何坏导航网格的后果将在游戏运行时体现出来。Fig. 4.20:典型含有顶盖数据的导航网格Fig. 4.21:已绘制顶盖的导航网格 顶盖信息对于变化的战斗来说可能有用-例如在从敌人处逃跑时它将确定AI运动的方向。因此尽量保留这些信息,尽管有时它们看起来并不重要。 刚刚绘制顶盖后导航网格将保留很多信息-它将标记诸如水、首选、下拉狭长部分的边界。更多信息请点击这里。 对于更好地调整顶盖数据也很有用,尽管这些细节并不重要。调整合适的顶盖数据,选择边界并按"E"。将弹出"边界顶盖"对话框。 合适的导航网格是NPC寻路和战斗的基础。在下一章中我们将面对这些问题。 Share this post Link to post Share on other sites
icedream 210 Report post Posted March 2, 2015 视频教程: http://v.youku.com/v_show/id_XNTcxNTgwMTky.html Share this post Link to post Share on other sites
hejunmofan 0 Report post Posted June 13, 2017 好复杂的感觉,再次谢谢。 Share this post Link to post Share on other sites