现看效果
技术要点
1.六边形地图
六边形有两种地图,一种是六边形边朝上,一种是六边形角朝上,如图
上面效果演示的就是边朝上的排列效果。
根据不用的排列效果,六边形的坐标系表示方式不同,以演示效果为例,坐标系标识如下图所示:
1. 六边形坐标表示
- 使用XYZ三维坐标描述六边形的位置,
- 某个轴向右旋转30°所穿过的六边形,他们在这条线的坐标值一致(红黄绿色细线)
- 并且xyz三维之和为0,因此,只要记录x,y即可。
2. 转为unity坐标
- 看图可得到,六边形坐标系Y轴和unity的Y轴是重叠的,所以Y的方向直接使用六边形坐标值*比例。
- X轴跟Unity的X轴成一定角度,所以要分解到Unity的X轴和Y轴的投影。
- Z轴可以通过0-x-y来的到,所以不用考虑
更多的六边形坐标标识建议看一下redblobgames上的详细介绍
2. 六边形寻路
AStar寻路就不在多余赘述了,相比较四边形格子的AStar寻路,六边形需要寻找六个方向,仅此区别。剩下的按照普通四边形AStar寻路即可。