自己做一个PC上的即时战略游戏,目前已实现平面地图游戏,打算改为球面地图,就像《横扫千星》那样。但是平面向球面的转换问题不知如何解决。即时战略游戏中的单位需要按地图方格找路,平面地图上方格都是大小相同的,但是球面地图上无法用相同大小的方格铺满。想了多种方案都不理想,只好向各位大师请教一下解决思路。
我的几种方案
1、地球仪法。像地球仪,随着纬度增大,地图方格水平方向变窄。缺点是高低纬度方格宽度变化太大,高纬度方格数量太大。
2、反光球法。老式舞厅的反光球上面是大小相同的方块,从中间向两极逐行减少方块数量。缺点是各行之间有错位,平面找路算法判断相邻方格。
3、三角形法。地图格子改为三角形,拼接成整个球形地图。缺点是相邻格子判断更复杂。