开始探索Unity中的程序环境生成

在最近的游戏中,过程生成一直是非常流行的机制。 自2009年以来,《我的世界》取得了成功,这在很大程度上推动了这一趋势,但在其他许多游戏中也受到了巨大冲击。 在我采访的遵循Minecraft探索性游戏创造游戏风格的游戏中,有Terraria(我将其视为Minecraft的2D版本)和Starbound(我将其视为太空中的Terraria)。 但是,我还没有看到一款游戏能够完全跟上Minecraft的成功。 最近的一些游戏还包括臭名昭著的“无人的天空”,它承诺会“挖出18亿亿”行星,这真是一次巨大的技术失败。

几个月前,我遇到了一个要添加到程序生成堆中的新标题:Astroneer。 它由程序生成的行星和一个非常有趣的设计向我曾经想成为天文学家的内心孩子说话。

该技术一直是衍生出更高级技术的基础,包括“行进四面体”,“曲面网”和“双重轮廓”。行进四面体和立方体是3D曲面构造的“主要”方法,而曲面网和双重轮廓是最近的“双重”方法。 我的理解是,“双重”方法可以使表面更接近,但要了解更多,我建议在此处查看一下:

平滑体素地形(第2部分)
上一次我们提出等值面提取问题并在较高级别上讨论了一些常规方法… 0fps.net

这些技术,特别是双重轮廓技术,已成为游戏引擎(包括Unity)中生成地形的主要方法(这对我来说是新闻)。 像Minecraft这样的游戏会简化该方法,并采用基于体素的方法。 我的猜测是,这将使其在按程序生成环境时更具性能。 为了进一步了解在Unity中如何生成过程生成的环境,我在Unity Asset存储库中浏览了现有示例。

我发现了一些最有用的资产:

  1. VOXL($ 40)—完全多人的《我的世界》示例游戏。 它基本上是Minecraft,它的代码非常易于理解-作为扩展基础非常有用。
    https://www.assetstore.unity3d.com/zh/#!/content/75829
  2. Voxelab(75美元)—一个通过程序生成的环境,具有3种实现方式:体素,行进多维数据集和双重轮廓。 确有据可查,创建者在其网站上提供了一系列教程。
    https://www.assetstore.unity3d.com/zh/#!/content/58423
  3. 盖亚(Gaia)($ 49)— Unity的流行地形编辑器改进。 它允许地形的程序生成。 但是它是为与Unity地形一起使用而构建的,因此它不像其他地形那样可定制。
    https://www.assetstore.unity3d.com/en/#!/content/42618

另外两个有用的迷你示例是:

  1. 程序工具包(免费)-具有各种程序生成示例,包括地形。
    https://www.assetstore.unity3d.com/zh/#!/content/16508
  2. Voxel Perfromance(免费)—用于基于GPU的体素的特殊着色器,以帮助提高性能。
    https://www.assetstore.unity3d.com/zh/#!/content/71017

最终,在我的研究中,我发现了似乎是最不可能的完美程序地形生成器。 这真的像是一站式完美的开箱即用工具:TerrainEngine。

如果这确实有可能……那就是改变游戏规则。

可悲的是,创建者似乎很忙,并且从未在Asset商店中发布过该项目。 通过仔细阅读他们的线程,似乎有一些争议涉及一些客户,这些客户已经私下向创建者付款,但从未收到过该产品。 到目前为止还很近。

无论如何,这一切对于我开始探索Unity中程序生成的环境都是如此。 我绝不是这方面的专家,我想我对程序代的真正含义一定是非常有限的解释。 我一直在寻求学习,所以如果我失败了,请通知我! 明天我想我将探讨将VR与程序环境相结合的探索。