六边形网格+寻路

现看效果
效果1
效果2
效果3

技术要点

1.六边形地图

六边形有两种地图,一种是六边形边朝上,一种是六边形角朝上,如图
在这里插入图片描述
上面效果演示的就是边朝上的排列效果。
根据不用的排列效果,六边形的坐标系表示方式不同,以演示效果为例,坐标系标识如下图所示:
在这里插入图片描述

1. 六边形坐标表示
  1. 使用XYZ三维坐标描述六边形的位置,
  2. 某个轴向右旋转30°所穿过的六边形,他们在这条线的坐标值一致(红黄绿色细线)
  3. 并且xyz三维之和为0,因此,只要记录x,y即可。
2. 转为unity坐标
  1. 看图可得到,六边形坐标系Y轴和unity的Y轴是重叠的,所以Y的方向直接使用六边形坐标值*比例。
  2. X轴跟Unity的X轴成一定角度,所以要分解到Unity的X轴和Y轴的投影。
  3. Z轴可以通过0-x-y来的到,所以不用考虑

更多的六边形坐标标识建议看一下redblobgames上的详细介绍

2. 六边形寻路

AStar寻路就不在多余赘述了,相比较四边形格子的AStar寻路,六边形需要寻找六个方向,仅此区别。剩下的按照普通四边形AStar寻路即可。

项目连接:GameAI/Assets/Hexagon

猜你喜欢

转载自blog.csdn.net/YuAnHandSome/article/details/126992323