向量场群体寻路算法(Vector Field Pathfinding,DEMO开源)
合集 · 游戏开发技术合集 (17)
-
6分钟让你学会2D游戏水波特效
6:22
-
RVO2(即ORCA)动态避障算法---精简版
15:00
-
影子在游戏碰撞检测中的秘密
11:41
-
向量场群体寻路算法(Vector Field Pathfinding,DEMO开源)
2:45
-
《Boids算法》模拟鱼群鸟群(Demo开源)
2:08
-
游戏单位寻路算法:A*算法(A Star)
2:24
-
游戏空间划分技术之一四叉树(Quadtree)
2:01
-
游戏中的碰撞检测算法:从SAT到GJK
5:13
-
游戏空间划分技术之-KD树
2:33
-
从零到一搞懂柏林噪声:数学、代码与自然的平衡
7:21
-
从if-else地狱到逻辑之美:游戏AI行为树(Behavior Tree)
4:33
-
游戏AI行为树(Behavior Tree):代码实战
2:37
-
游戏中的碰撞检测算法:扫描与裁剪(SAP-Sweep And Prune)
3:08
-
三消游戏:消除判定机制与算法流程
2:12
-
贝塞尔曲线(Bézier Curve):用最简单的线性插值,勾勒出虚拟世界的灵魂
3:49
-
为什么游戏里的液体能完美融合?轻松看懂Metaball
2:58
-
游戏地图是怎么"长"出来的?波函数坍缩算法
4:19
Description
DEMO开源地址:https://github.com/SolasXer/vector-field-pathfinding PS:有些是称为流场寻路(Flow Field Pathfinding),其实都是说同样的事。在处理各种“力”的时候,会有很多细节,例如让向量场给于的力不那么生硬,可以插值。群体里面单位数量较多时,在分离避障的时候,只需要处理单位跟它邻居的避障,而不需要所有单位都计算。总之,先了解大方向,然后再处理细节。
Comments
不错,我最近也用到了流场寻路,我计算了单位排斥力和墙排斥,给墙加了硬排斥直接从位置上防止进墙,除此之外,还有靠墙格子成本膨胀,不然会一直贴墙走看着很怪,开了多线程,目前看着还好,就是单位增多后能明显看见几波敌人大部分是按着最优路线,也就是直线和斜线走,有几点需要注意的,就是关于排斥,这个卡了我很久,单位之间不能硬排斥,得允许重合,不然之间互相会挤,抖动乱蹦或者干脆动不了,还有排斥对于窄路的影响,可能导致单位过不去[脱单doge]
♥ 80 ↩ 10
星际并不是流场寻路,一群单位移动,选取其中一个单位a*寻路,其他单位逐步靠近这条路线。流场寻路并不适合目标点频繁改变的场景,因为重建一次的成本也挺高。
♥ 54 ↩ 8
这个算法是不是也可以简单模拟风速流体, 配合建造房屋系统,体现风水中尖角煞、路冲煞、反弓煞
♥ 37 ↩ 4
每个算法背后都算力不足的痛
♥ 14 ↩ 2
woc这是我本科做算法走迷宫课设的时候一拍脑门想到的,我当时给他起名叫水流算法[tv_笑哭][tv_笑哭]因为多啦a梦里白金迷宫里有个走迷宫的道具
♥ 7
可以了解下带los的流场,直线可达的情况下再走流场就太生硬了
♥ 6 ↩ 4
开头是啥游戏[笑哭]
♥ 6 ↩ 3
居然没有这类游戏的广子
♥ 5 ↩ 1
本质上应该可以看成是流体力学里的euler description和lagrangian description
♥ 3
主播 我有一个疑问,第一步建立代价场后 如果我要从代价为8移动到0这个可以推算出来,但是如果换成了5移动到8。这一笔因为后面的移动算法逻辑是往低处走。这时候寻路函数改变一下x,y么?
♥ 3 ↩ 21
我有一个疑问,举个例子,我在一块地图上有10000个坐标, 鼠标点哪个位置,所有指挥的单位都会按当前位置用最短路径流到鼠标选定的坐标, 那地图上10000个坐标点应该就会有10000套路径吧,这样不提前算好实时CPU压力是不是很大,都放到内存,内存压力是不是也很大, 而且在移动出地图边界后,有了新的位置, 老坐标的路径就要删除,或延迟暂留缓存,新坐标要加载,这样是不是计算量也很大, 我不太清楚游戏行业的设计,只是感觉用您说的方式,这些问题可能是问题,挺好奇是怎么权衡的,怎么解决的
♥ 3 ↩ 22
星际2不用流场了
♥ 3 ↩ 24
哥们你是从哪查到的这些知识?官方文档还是什么博客?
♥ 2 ↩ 5
似乎涉及到碰撞体积,还是重新绘制或局部更新寻路地图比较好一点,之前看sc2的机制讲解,似乎是把全局地图根据地形碰撞分割成三角形拼图,再根据单位碰撞体积细分绘制小三角形,以三角形节点边长进行a星,这也是为何长距离移动路径似乎永远相同,短距离涉及碰撞则看起来很灵动的原因,至于星际二是如何做到友方单位能互相挤开等等,鱼群相关的内容好像没有什么简明的整理。 。 2d寻路目前还在游戏产业的可及之处,而到了3d层面一切就变得非常愚蠢了(这似乎也是真3d空间游戏为何那么少的原因,而代表性的X系列单位寻路就显得极其恼人)。
♥ 2
感觉有点像群鸟那玩意
♥ 2 ↩ 1
十几年前的老算法了
♥ 2 ↩ 1
游戏中运用到的算法大部分都是因为游戏需求而诞生的吗,还是之前已经发明了
♥ 1 ↩ 2
是不是每次改变终点都要重新计算场? 如果有大量士兵同时向不同的目标走 怎么表示代价?
♥ 1 ↩ 2
一觉醒来,看到很多这么有信息密度的讨论和有意义的问题。我也学到了好多东西,感觉这个视频很值了。[干杯]
♥ 1