将2D单纯形噪声转换为1D?

时间:2015-10-23 17:37:48

标签: java terrain simplex-noise

好吧,我正在用Java编写一个小游戏,我正在使用this我在网上找到的Simplex Noise生成器。我面临的问题是:我如此生成我的游戏世界:

int width = 100;
int height = 100;
world = new int[width * height];

SimplexNoise noise = new SimplexNoise();
for (int i = 0; i < world.length; i++) {
     int x = i % width; // what are the coordinates from i ?
     int y = i / width ;


     int frequency = 15; 


     float h = (float) noise.noise((float) x / frequency, (float) y / frequency); 

         if (h >= -1 && h <= 0) {
                world[x + y * width] = 0; // air tile

         }
         else if (h > 0 && h <= 1) {
                world[x + y * width] = 1; // test tile

         }

      }

这显然给了我2D噪音。最终结果如下: look

据我了解噪音,2D噪音适用于自上而下的游戏。我正在研究的是一个侧卷轴(如Terraria,Starbound,Crea和其他人)。所以我需要一个terragen来给我最顶层的地形,谷歌告诉我这是一维噪音,所以这里的问题是:如何将这个2D噪音转换成一个看起来像地形的一维噪音?

1 个答案:

答案 0 :(得分:0)

让它成为身高= 1的图片。完成:)。