看了大佬的六边形地图教程,跟着原教程敲了一遍代码,使用的引擎是unity,想把六边形地形的生成思路记录下来。
1.基础六边形网格
基础网格很容易绘制,六个边缘点,一个中心点,如何在引擎中绘制动态网格网上一搜一大把,这里就不介绍了。
2.边缘扰动
方方正正的网格看起来太拘束,利用一张噪声图或者其他方式给六边形的边缘点加一些微扰。
2.网格与网格的连接
我们需要给每个六边形网格赋以不同的高度,如果直接对上面的六边形加上高度的会得到下图的结果。
是不是很丑,所以,我们需要在不同的网格之间加上一个桥梁,如下。
2.网格的高度
有了桥梁后,就可以对在这个基础上添加高度了。两个相邻网格之间高度如果相差不大,应该是可以通过的,所以可以把连接处变成一个阶梯。如下。
两个相邻网格之间高度如果相差较大,只需简单的连接两个网格就可以了,如下。