柏林噪声标度

2024-05-14 07:01:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python开发这个2D游戏,我希望有一个无限随机生成的地图,但是可以使用种子重新生成。 所以首先,我希望能够渲染地图的任何部分而不渲染其他东西,所以如果我想找到坐标(50100)的平铺类型号,我应该能够做到这一点,而不必计算任何其他瓷砖。我尝试使用不同的噪波函数来生成地图,但在任何实现中,我都无法缩放“峰谷”之间的距离。其结果是景观中有太多太小的草块和泥土等

看看下面的“简单”实现,您将如何“缩放”这一点?我自己也不是一个数学家。在

def noise(x, y, max):
    n=x*331+y*337
    n=(n<<13)^n
    nn=(n*(n*n*41333 +53307781)+1376312589)&0x7fffffff
    return ((1.0-(nn/1073741824.0))+1)/2.0 * max

Tags: 游戏距离类型地图nn种子max景观

热门问题