
Godot4.x 导航与寻路
文章平均质量分 80
收集和整理关于Godot导航和寻路相关的内容
巽星石
业余编程爱好者,Godot游戏引擎爱好者
展开
-
【Godot4.2】2D导航04 - TileMap导航的逻辑
查看icon.svg可以发现其图片大小为128×128,而我们的tileset的cell_size为16×16,所以为了将玩家显示在一个网格里,我们需要将icon.svg缩放为16×16。默认由于TileMap是world2的子节点,所以world2上用_draw绘制的内容会被TileMap绘制的地图覆盖而无法显示。128/16=8,所以我们需要将其设为原来的1/8,也就是缩小到原来的0.125倍。切换至TileMap面板,利用矩形和直线绘制方式绘制一个简单的有出口的地图。基本的导航还是可以的。原创 2024-03-19 22:11:35 · 1505 阅读 · 1 评论 -
【Godot4.2】2D导航03 - NavigationRegion2D及其使用方法
Godot4.0改进了2D部分的导航,基本可以看做是3.X的的进化版本。它的基本用法就是先绘制,也就是导航网格,或者直白点就是“可通行区域”。然后将带有碰撞形状和子节点的玩家放置到这个可通行区域,然后在中判断并移动就可以了。原创 2024-03-19 22:09:44 · 2026 阅读 · 0 评论 -
【Godot4.2】2D导航02 - AstarGrid2D及其使用方法
是Godot4.0新增的A*寻路辅助类型。可以看做是Astar2D的加强版。它允许你通过设置其size和cell_size属性来创建一个虚拟的网格。并使用这样的方法来在指定位置创建障碍物。的好处是你不再需要手动的添加点以及点与点之间的连接,而是直接用这样的方法来获取最短路径(也就是一个包含了最短路径经过的点的数组)。通过遍历这个数组,就可以实现路径移动了。# 绘制网格# 绘制路径和其上的点# 随机生成障碍# 绘制网格# 绘制路径和其上的点13行:将AstarGrid的。原创 2024-03-19 22:08:07 · 1228 阅读 · 0 评论 -
【Godot4.2】2D导航01 - AStar2D及其使用方法
对于2D平台跳跃或飞机大战,以及一些直接用键盘方向键操控玩家的游戏,是根本用不到寻路的,因为只需要检测碰撞就可以了。但是对于像RTS或战棋这样需要操控玩家到地图指定位置的移动方式,就绝对绕不开寻路了。你可以看到,如果是单纯的使用到这样的坐标是毫无意义的,因为它们只代表屏幕上一个很小的像素区域,根本无法实现移动。回过头看看上面对A*(A-Star)算法的描述:A*(A-Star)就是前辈大神们创造的寻路算法之一。它的特点是基于网格,而且可以快速的求解某个点到另一个点的最短有效路径。原创 2024-03-19 22:04:02 · 1924 阅读 · 0 评论 -
【Godot4.0】自定义A*寻路拓展类TileMapAStar2D及其使用
Godot提供的AStar2D和前者提供了基础的A*寻路支持,但是需要手动处理很多内容后者针对基于方形图块的A*寻路,进行了很多自动化的工作,用起来十分简便。但是不使用于六边形、isometric之类的图块所以针对AStar2D和各自特性和现况,好的办法就是自己基于AStar2D扩展一个类似于自动化完成添加点和连线,又可以不限于仅在方形图块下使用的类型。说明:原文写于2023年7月,Godot版本4.0,为了B友要求先发到CSDN中,有欠缺的部分后续再改。原创 2024-03-17 21:00:05 · 1260 阅读 · 0 评论