Project1

标题: 有没有类似智能寻路的“智能远离”? [打印本页]

作者: hy2000    时间: 2021-3-25 11:43
标题: 有没有类似智能寻路的“智能远离”?
如题,MV的自动寻路还是比较智能的(小修后),不会出现给你指一条撞墙的路,但远离机能就比较捉急了,似乎只是判断相对xy决定往哪里跑。如果我让事件远离,会出现两侧有路事件却一头撞到面前的墙上。
有没有类似智能寻路的“智能远离”使远离也不会撞墙?会尽可能往能去最远的地方(可以设置一个搜索上限)的路线上走
作者: 白嫩白嫩的    时间: 2021-3-25 15:25
yep有个基于移动路线的扩展插件可以贴墙移动,没试验过,楼主可以试试
作者: 黛惠    时间: 2021-3-25 22:16
drill大佬的移动路线核心里有可以选择远离的,可以试试康?
论坛里就有drill大佬的合集w
作者: 蝉17    时间: 2021-6-23 23:33
本帖最后由 蝉17 于 2021-6-24 02:46 编辑
白嫩白嫩的 发表于 2021-3-25 15:25
yep有个基于移动路线的扩展插件可以贴墙移动,没试验过,楼主可以试试


感谢大佬!
这个插件确实可行。至少可以做到在简单的地形中跟玩家玩捉迷藏不被轻易卡住。
在我的游戏里,需要一只让玩家捉不住的猫,地图很小,且玩家走一步,猫会走两步。
然后我用的办法是这样:
记录事件坐标,
移动指令:事件远离玩家
再次记录事件坐标并与之前的坐标比较,如果坐标没变化,说明事件卡墙了。
执行Hug Left Wall,随机方向往墙角外走出一步。
再再次记录事件坐标,判断事件刚才那一步是往哪个方向走,然后沿同样方向再走一步。
这样是为了防止执行过Hug Left Wall紧接着再执行“远离主角”会导致事件回到原来的位置,再次卡墙角,所以要沿一个方向走两步。
之后就能随便“远离主角”了,直到下一次卡墙。
不能连续执行两次Hug Left Wall,连续两次随机移动很可能让事件一头撞到主角身边。
这样做了以后,绝大部分情况不会卡住了,不过还是会有个别位置会卡,
把会卡住的位置以及在卡住时容易被玩家抓住的玩家的位置记录下来,
做一些条件判断,万一再遇到这种情况,就按照提前预备好的特定的策略行动,也就是人为设置路线,
这样也就把剩下的可能卡住的位置清扫干净了。
在不复杂的地形里捉迷藏不会被轻易抓住。

也许可以参考,具体情况具体调整,怎么调整还得看事件与主角的移动速度比。

麻烦是麻烦了点,谁让我不懂算法呢,只好拿工作量来补知识的欠缺了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1