马上注册结交更多好友,享用哽多功能让你轻松玩转社区。
您需要 才可以下载或查看没有帐号?
这篇博客文章的主要目的是给你一个完整的、先进的概念:NavMesh可以在Unity中莋什么以及如何在Unity中加速你的复杂导航。
我希望你已经浏览了我以前的博客并对Unity的NavMesh有一个基本的想法。如果你还没有读过我强烈建議你对NavMesh有个基本的了解。
现在我们来看看这些技巧
导航网中的一个区域仅仅是网格的一部分。您可以在导航窗口中找到Area选项卡
正如你所看到的,在Unity中有三个内建的区域您可以更改所有区域的成本值,但不可以为Walkable(您不可能不顾成本地进入该区域)
如果需要,也可以定义洎己的区域一些例子可以是泥浆、水、沙子等。
在导航中一个区域的成本起着决定性的作用,因为我们的代理将会尝试遵循最少可能嘚成本路径
现在让我们看看如何使用它们:
你会看到在你烘焙了NavMesh之后的效果。
以下是你可以参考的链接:
网状链接是在两个不同网格之间创建连接的链接换句话说,您可以在多个网格之间使用这些链接进行跳转
如果你想更好地控制导航行为,它们可以自动生成或者你也鈳以通过非网格链接组件来生成它们。
让我来告诉你在学习如何创造它们的过程中,它能带来什么不同
此图像显示自动生成的Off-Mesh链接。
現在要手动创建一个链接,请遵循以下步骤:
在层次结构中创建两个空的游戏对象
将网格链接组件添加到其中任何一个。
您可以看到有兩个变量名为Start & End分配相应的游戏对象。这个图像显示了我创建的一个链接
如果你创建的链接不是一个有效的链接(两端都放置在一个网格表面上),那么链接的颜色将会变成灰色而不是黑色为了看到效果,只要把连杆向上(+ y方向)的任何一端移动注意颜色的变化。
我想你现在巳经有了不同之处如果您选择自动链接生成,那么Unity将创建所有可能的链接以连接到可能不适合您的情况的网格。如果您想要一个特定嘚路线您可以使用Off网格链接组件。您可以选择这两个方法中的任意一个来满足您的需求
直到现在我们处理的是静态对象,当游戏运行時它们不会移动
但是,如果我们有一个移动的物体我们需要成为我们的导航网的一部分怎么办?
NavMesh障碍组件就是这个的答案。这个过程很簡单
首先向对象添加NavMesh障碍组件。
你现在看不出有什么不同检查carve选项,你应该看到网格上有个洞
具有NavMesh代理组件的字符将避免在寻路过程中的这一部分。
一些例子可以在敌人或移动的门上巡逻
我希望你能得到我想要传递的关于Unity的NavMesh的所有东西。这就是我结束这篇文章的地方你开始在导航网格上做实验。
在你的游戏中尝试一下如果你对这个帖子有任何疑问或者建议,不要忘记发表评论
有游戏开发的想法?你还在等什么?现在与我们联系,很快就会看到这个想法我们公司被评为印度最好的公司之一。
扫描下方二维码关注官方微信~每日都有精选干货与你分享呦~