Python 程序二维地图生成器说明
Python Procedural 2d map generator explanation
所以我在 Python 中找到了一个特定的程序贴图生成器,我理解了它的一部分,但是我很难将它拼凑在一起以便能够修改它以满足我的需要所以我是想知道是否有人可以逐步解释生成器到底做了什么。总的来说我理解这个概念,但是它的书写方式让我很难理解所涉及的数学。
生成器是 here,欢迎提供一些解释,并且可能会帮助任何其他尝试学习程序生成的人,因为这个示例确实会产生漂亮的结果。
首先您必须了解 Perlin Noise 的工作原理。
我建议您编写自己的 Perlin Noise 代码,一些最小的代码,然后尝试一下并查看结果。
然后转向更高级的技术和变体。
Here for example the user has some settings which more or less control the output:
basePerlinValue = (snoise2(float(x)*perlinScale, float(y)*perlinScale, octaves=8, persistence=0.5, lacunarity=2.0, repeatx=2048, repeaty=2048, base=perlinOffset) + 1)/2.0;
和他们一起玩,看看他们如何影响结果。
Octaves 是标准的 Perlin Noise 东西。
所以我在 Python 中找到了一个特定的程序贴图生成器,我理解了它的一部分,但是我很难将它拼凑在一起以便能够修改它以满足我的需要所以我是想知道是否有人可以逐步解释生成器到底做了什么。总的来说我理解这个概念,但是它的书写方式让我很难理解所涉及的数学。
生成器是 here,欢迎提供一些解释,并且可能会帮助任何其他尝试学习程序生成的人,因为这个示例确实会产生漂亮的结果。
首先您必须了解 Perlin Noise 的工作原理。 我建议您编写自己的 Perlin Noise 代码,一些最小的代码,然后尝试一下并查看结果。 然后转向更高级的技术和变体。
Here for example the user has some settings which more or less control the output:
basePerlinValue = (snoise2(float(x)*perlinScale, float(y)*perlinScale, octaves=8, persistence=0.5, lacunarity=2.0, repeatx=2048, repeaty=2048, base=perlinOffset) + 1)/2.0;
和他们一起玩,看看他们如何影响结果。 Octaves 是标准的 Perlin Noise 东西。