找最新超变传奇网站新闻资讯就上http://www.pusendz.cn!

到达地狱开发博客#1导航

发布时间:2019-09-26 16:33

您好,欢迎来到Hell dev博客中的第一部分到达。虽然我们在闲暇时间一直在地狱里工作超过一年,但我想从一开始就启动开发博客,这样你就可以更全面地了解游戏是如何运作的。


如果您还不知道,我会很快总结我们正在制作的内容。它是由我的朋友Eduardo Mojica和Richard Rout创作的2006年Flas的翻版。这是一个恐怖的点击式冒险游戏,我们将在Unity中构建它。我已经编程和制作游戏大约10年了,但这是我在Unity的第一个项目。


我想在其他任何事情之前提前确定的第一件事是玩家运动。由于游戏现在是真正的3D,玩家需要在3D空间中寻找路径。幸运的是Unity已经内置了很棒的寻路能。要使用它,只需打开Window> Navigation,选择要包含在路径查找中的对象,并将它们检查为 Navigationstatic 。这告诉Unity这些对象是静态的(不移动),并且在寻路时应该考虑到它们。

将对象设置为 NavigationStatic


我想花点时间来表达这是多么棒的。在过去,我和大多数游戏开发者一样,不得不建立自己的路径查找系统。我以前做过A * tile和基于节点的寻路系统,在这两种情况下,特别是基于节点,设置 walls 一直是一个真正的痛苦。使用基于节点的系统,您必须手动放置AI使用的点以在其间导航。 Unity不仅具有开箱即用的导航能,而且还使用导航网格,它比手动放置的节点更加高效和流畅。最重要的是,您可以通过单击一个按钮重新烘焙(重新计算)整个导航网格。手动摆弄导航节点的日子已经一去不复返了!

我在基于节点的路径寻找尝试中不那么成


一旦您标记了要包含在导航网格中的静态对象,您就可以选择一些设置(例如斜率可以是多么陡峭,以及在它被认为是墙之前的步长有多高)并点击烘烤按钮。这将生成您可以在场景视图中预览的导航网格。值得注意的是,仅仅因为场景中存在一个对象,并不意味着它必须是导航网格的一部分。例如在游戏中我不在乎玩家是否在瓦砾上行走,所以我没有将任何碎石物体标记为导航静态;这加快了导航网格的生成。

这些是在地狱到达时使用的实际值

Baked NavMesh。 Unity在自动生成此

方面做得非常出色


生成导航网格后,我只是将一个NavMeshAgent组件添加到播放器模型中。该游戏现已设置为导航。唯一剩下的就是添加鼠标输入来控制NavMeshAgent的目的地。

NavMesh Agent设置


告诉导航网格代理在哪里导航到I:

监听鼠标输入

在屏幕空间中获取鼠标位置

您好,欢迎来到Hell dev博客中的第一部分到达。虽然我们在闲暇时间一直在地狱里工作超过一年,但我想从一开始就启动开发博客,这样你就可以更全面地了解游戏是如何运作的。


如果您还不知道,我会很快总结我们正在制作的内容。它是由我的朋友Eduardo Mojica和Richard Rout创作的2006年Flas的翻版。这是一个恐怖的点击式冒险游戏,我们将在Unity中构建它。我已经编程和制作游戏大约10年了,但这是我在Unity的第一个项目。


我想在其他任何事情之前提前确定的第一件事是玩家运动。由于游戏现在是真正的3D,玩家需要在3D空间中寻找路径。幸运的是Unity已经内置了很棒的寻路能。要使用它,只需打开Window> Navigation,选择要包含在路径查找中的对象,并将它们检查为 Navigationstatic 。这告诉Unity这些对象是静态的(不移动),并且在寻路时应该考虑到它们。

将对象设置为 NavigationStatic


我想花点时间来表达这是多么棒的。在过去,我和大多数游戏开发者一样,不得不建立自己的路径查找系统。我以前做过A * tile和基于节点的寻路系统,在这两种情况下,特别是基于节点,设置 walls 一直是一个真正的痛苦。使用基于节点的系统,您必须手动放置AI使用的点以在其间导航。 Unity不仅具有开箱即用的导航能,而且还使用导航网格,它比手动放置的节点更加高效和流畅。最重要的是,您可以通过单击一个按钮重新烘焙(重新计算)整个导航网格。手动摆弄导航节点的日子已经一去不复返了!

我在基于节点的路径寻找尝试中不那么成


一旦您标记了要包含在导航网格中的静态对象,您就可以选择一些设置(例如斜率可以是多么陡峭,以及在它被认为是墙之前的步长有多高)并点击烘烤按钮。这将生成您可以在场景视图中预览的导航网格。值得注意的是,仅仅因为场景中存在一个对象,并不意味着它必须是导航网格的一部分。例如在游戏中我不在乎玩家是否在瓦砾上行走,所以我没有将任何碎石物体标记为导航静态;这加快了导航网格的生成。

这些是在地狱到达时使用的实际值

Baked NavMesh。 Unity在自动生成此

方面做得非常出色


生成导航

网格后,我只是将一个NavMeshAgent组件添加到播放器模型中。该游戏现已设置为导航。唯一剩下的就是添加鼠标输入来控制NavMeshAgent的目的地。

NavMesh Agent设置


告诉导航网格代理在哪里导航到I:

监听鼠标输入

在屏幕空间中获取鼠标位置

上一篇:续集确认了令人毛骨悚然的恐怖游戏

下一篇:让最终幻想XV产品安置开始吧!

相关文章: