【问题标题】:Procedural Generation: dividing a map into multiple areas程序生成:将地图划分为多个区域
【发布时间】:2020-09-04 18:12:47
【问题描述】:

我正在创建一个世界生成器(就像在 Minecraft 中一样)。我正在使用 Perlin 噪声来生成高程图。但我想将我的地图划分为多个区域(或生物群落)。

我可以将地图分成相等的多边形,但我正在寻找一种更随机的方式。

我的地图是像素化的(由块组成)。每个像素都有 x 和 y 坐标。

示例:

【问题讨论】:

    标签: procedural-generation


    【解决方案1】:

    其中一种方法是为温度、湿度甚至更多(您拥有的不同生物群落越多,使用更多不同参数来区分它们越重要)生成额外的噪声图。

    然后你为每个生物群系分配一个值,每个参数都有一个值,你还需要添加一些高度限制(这样你的引擎就不会在水下或类似愚蠢的东西下创建一个森林)。

    然后对于地图上的每个点,根据温度、湿度等选择最近的生物群落……

    这是基本概念。取决于您的噪声图,它会生成外观随机的图案,并且还可以保持真实感(温度和湿度相似的生物群落彼此接近)

    以下是实际实施的一些进一步提示:

    1. 确保温度和湿度图的频率远低于高度图,以免生物群落变得太小。
    2. 我建议也加一个低频部分,这样过渡不是那么平滑。
    3. 如果您想在生物群落之间添加更自然的过渡,如果两个生物群落的参数相似,您可以随机选择。

    【讨论】:

      猜你喜欢
      • 2012-07-17
      • 1970-01-01
      • 2018-05-08
      • 2012-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-15
      • 1970-01-01
      相关资源
      最近更新 更多