使用python噪声模块生成过程图

时间:2018-11-05 17:25:24

标签: python perlin-noise

我一直在弄乱Python https://github.com/caseman/noise中的这个噪波模块,主要是遵循我所能找到的有关程序化2d映射生成主题的指南,例如这个https://medium.com/@yvanscher/playing-with-perlin-noise-generating-realistic-archipelagos-b59f004d8401,我能够制作一些漂亮的地图,但我希望能够像Minecraft生成地形一样一次生成部分地图。如果我生成(0,0)至(255,255),并且玩家向右走得太远,那么我将如何生成(256,0)至(512,255),以便玩家可以继续行走?

noise模块没有大量文档,因此我不得不阅读源代码以尝试解决这一问题,而没有太多运气。

import numpy as np
from noise import pnoise2
from scipy.misc import toimage

shape = (256, 256)
scale = 100.0
octaves = 6
persistence = 0.5
lacunarity = 2.0


world1 = np.zeros(shape)
for i in range(shape[0]):
    for j in range(shape[1]):
        world1[i][j] = pnoise2(
            i/scale,
            j/scale,
            octaves=octaves,
            persistence=persistence,
            lacunarity=lacunarity,
            repeatx=1024,
            repeaty=1024,
            base=1)

toimage(world1).show()

这就是我一直在搞的。

0 个答案:

没有答案
相关问题