Я новичок в мировом поколении и алгоритмах, которые используются для них, поэтому я надеюсь, что кто-то может дать мне полезное объяснение или код или оба или ссылки на некоторые ресурсы, которые я пропустил, ища решение.OpenSimplexNoise более высокий уровень детализации
Как я могу получить более высокий уровень детализации с помощью OpenSimplexNoise?
Я знаю, что в некоторых алгоритмах, таких как PerlinNoise, это можно сделать с частотой и добавлением многократно октав. Итак, как я могу достичь такой вещи с помощью OpenSimplexNoise?
Вот что я уже получил:
private static final int WIDTH = 512;
private static final int HEIGHT = 512;
private static final double FEATURE_SIZE = 64;
public static void main(String[] args)
throws IOException {
OpenSimplexNoise noise = new OpenSimplexNoise(1233313l);
BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_BYTE_INDEXED);
for (int y = 0; y < HEIGHT; y++)
{
for (int x = 0; x < WIDTH; x++)
{
double value = noise.eval(x/FEATURE_SIZE, y/FEATURE_SIZE);
int rgb = 0x010101 * (int)((value + 1) * 127.5);
image.setRGB(x, y, rgb);
}
}
ImageIO.write(image, "png", new File("noise1.bmp"));
}
И как я могу добиться этого, чтобы иметь более плоские результаты для лесов и т.д.?
Что конкретно вы подразумеваете под «более высоким уровнем детализации» и «более плоскими результатами»? Пожалуйста, дайте числовые и/или примеры изображений того, что вы сейчас получаете и чего хотите. – Pikalek
http://libnoise.sourceforge.net/tutorials/images/terrainf8p1.jpg Вот пример изображения. Как вы можете видеть, есть горы, но также и неплохая ровная местность с множеством деталей. Я знаю, что это может быть достигнуто в PerlinNoise с добавлением mulitply octaves вместе и с частотой, но я не знаю, как это сделать в OpenSimplexNoise. – ShadowDragon