首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何做星际争霸寻路?

如何做星际争霸寻路?
EN

Game Development用户
提问于 2013-09-30 09:06:41
回答 1查看 7.1K关注 0票数 8

我一直在努力研究如何在星际争霸2中实现路径搜索。我并不是在寻找所有复杂的功能,比如群集、排队等等。事实上,我喜欢在星际争霸1中,这些单位会互相干扰。但我确实想要一个比星际争霸1更好的寻路器。

从谷歌搜索中,我做了各种各样的答案与A*有关的导航网格和/或处理某种“可见性图”。但对于我该做什么,我得到了一些矛盾的或不明确的答案。

我读到的一件事与在三角形网格(导航网格)的顶点上做A*有关。然后不知怎么地“修整了这条路”,我不知道该怎么做。但这并不能保证最优性,对吧?

我的另一个问题是,星际争霸2寻路是如何处理这样的事实,即这些单位是有限半径的圆盘,而在处理拐角时不是点?以及如何处理动态障碍,如闲置单元,甚至其他移动单元。

我正在寻找一些坚韧不拔,详细的解释,而不是一般的超高水平概述,这是典型的搜索结果。

如果重要的话,我已经看过阿米特关于路径查找的笔记了。我听说过但没有读过计算几何:算法与应用。一个关于2011年GDC人工智能导航演示的博客帖子提到,星际争霸2使用约束delaunay三角剖分作为导航网格。尽管这篇博客文章提到了Boids的指导和“水平分析”,但它并没有具体提到核心路径查找是如何在导航网上完成的。

EN

回答 1

Game Development用户

回答已采纳

发布于 2013-09-30 14:36:25

如果您安装了星际争霸2,打开地图编辑器并切换路径查找。你将能够看到导航网是如何构造的,因为你放置建筑物和其他障碍周围。

事实上,我喜欢在“星际争霸1”中,这些单位会互相干扰。但我确实想要一个比星际争霸1更好的寻路器。

不应该是个问题--“星际争霸”1's的探索是愚蠢的。其中一位程序员的这篇博客文章谈到了这一点。

我读到的一件事与在三角形网格(导航网格)的顶点上做A*有关。然后不知怎么地“修整了这条路”,我不知道该怎么做。但这并不能保证最优性,对吧?

它是关于使人工智能不傻,而不是最优。如果你不应用一点平滑技术,你的单位就会在节点之间产生锯齿状移动。

在进行路径规划时,您将有一个精化阶段,您将看到您的单元需要经过哪些节点才能达到它们的目标,然后开始在我们不需要遵循的路径中间取出多余的节点,也就是说,我们可以在没有静态冲突的情况下直接从节点A到节点C到B,所以完全忽略B。

这最终会使这条路变得更直。

我正在寻找一些坚韧不拔,详细的解释,而不是一般的超高水平概述,这是典型的搜索结果。

如果你想要一个坚实的解释,这已经在书中很好地涵盖了(甚至工作游戏代码)。所以,如果你有一些钱要烧,去看看用实例编程游戏AI和/或游戏人工智能。他们两人都深入地讨论了这些问题。

票数 10
EN
页面原文内容由Game Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://gamedev.stackexchange.com/questions/62881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档