C# (过山车/运输大亨)地形的生成

C# (过山车/运输大亨)地形的生成,c#,algorithm,terrain,vertices,C#,Algorithm,Terrain,Vertices,我目前正在尝试生成他们在过山车大亨/交通大亨类游戏中拥有的地形类型 这张图片显示了我试图达到的地形类型。 我能得出的结论是,有13种不同的瓷砖形状。1(平坦)+4(每个方向的坡度)+4(半平坦,半上坡)+4(半平坦,半下坡)=13种形状 有没有生成这种地形的公共算法,或者我只需要自己编写:) 正方形的类型取决于网格每个顶点的高度,因此您需要的是生成每个顶点高度的算法。这种情况下的规则(运输大亨)是一个瓷砖的四个角最多有两个台阶的高度差,事实上最多两个顶点可以有两个台阶的高度差。T 生成地形的常

我目前正在尝试生成他们在过山车大亨/交通大亨类游戏中拥有的地形类型

这张图片显示了我试图达到的地形类型。

我能得出的结论是,有13种不同的瓷砖形状。1(平坦)+4(每个方向的坡度)+4(半平坦,半上坡)+4(半平坦,半下坡)=13种形状


有没有生成这种地形的公共算法,或者我只需要自己编写:)

正方形的类型取决于网格每个顶点的高度,因此您需要的是生成每个顶点高度的算法。这种情况下的规则(运输大亨)是一个瓷砖的四个角最多有两个台阶的高度差,事实上最多两个顶点可以有两个台阶的高度差。T

生成地形的常用方法是通过模拟侵蚀,也就是说,从随机地形开始,通过平滑和模拟河流等方式对其进行侵蚀,直到获得所需的地形。考虑到TT地形的限制,我怀疑这是如何形成的。除了斜坡的限制外,游戏还要求地形相当平坦。OpenTTD的标准地形生成似乎是重复的随机顶点升高/降低

您可以在openttd.org上查看地形生成算法
(搜索“GenerateLandscape”)

这个开源版本支持几种生成方法,包括基于侵蚀(“Terragenesis”)和随机生成