我目前正在尝试生成他们在过山车大亨/运输大亨类似游戏中的地形类型。
这张图片显示了我想要达到的那种地形。 交通大亨截图
我可以得出结论,看起来有 13 种不同的瓷砖形状。1(平)+ 4(每个方向的斜率)+ 4(半平,半斜向上)+ 4(半平,半斜向下)= 13 种形状。
是否有任何公共算法可以生成这种地形,或者我只需要自己编写:)?
正方形的类型取决于网格每个顶点的高度,因此您需要一种算法来生成每个顶点的高度。这种情况下的规则(运输大亨)是一个瓦片的四个角最多有两个台阶的高度差,实际上最多两个顶点可以有两个台阶的高度差。吨
生成地形的一种常见方法是通过模拟侵蚀,即从随机地形开始,然后通过平滑和模拟河流等来侵蚀它,直到获得所需的东西。鉴于 TT 地形的限制,我怀疑它是如何制造的。除了斜坡的限制外,游戏还要求地形相当平坦。OpenTTD 的标准地形生成似乎是顶点的重复随机升高/降低。
您可以在 openttd.org
http://svn.openttd.org/trunk/src/landscape.cpp
查看地形生成算法
(搜索“GenerateLandscape”)。
这个开源版本支持多种生成方法,包括基于侵蚀(“Terragenesis”)和随机生成的方法。