Pull to refresh

Comments 16

Было бы не плохо приложить результаты работы обоих алгоритмов в виде скриншотов, а то как-то не наглядно.
Результат работы второго алгоритма вы можете видеть на первой картинке, а результат второго сейчас добавлю.
Какой смысл в ландшафте без деревьев и другого окружения?
(травы, кустах...)
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Это… Потрясающе… Вот бы еще появился мультиплеер и корованы.
Как-то вы обидели шум Перлина. Его СИЛА при генерации ландшафта в применении нескольких разных шумов разного масштаба. Можно получать резкие острые скалы перемежающиеся долинами и т.п. На сколько мне известно, в Майнкрафте используются именно шумы Перлина. Да и вообще по запросу «шум Перлина» в Гугле вылезают потрясающие пейзажи. Так то конечно, если использовать только один шум, получится довольно однообразно.
Проблема с diamond square состоит в том, что «из коробки» он не очень подходит для генерации бесконечных ландшафтов. В тоже время, в случае шумов Перлина, мы сразу получаем возможность генерировать карты высот любого размера и разрешения, а если использовать более чем одну октаву то можно добиться вполне неплохих результатов, к примеру вот ландшафт сгенерированный с помощью 8-и октав:

image

Вообще если есть желание сделать очень-очень реалистичные горы — советую обратить внимание на алгоритм Diffuse Limited Aggregation, который правда обладает тем же недостатком (плохо подходит для генерации бесконечного ландшафта).
Хорошая статья, думаю на Хабре не хватает ее перевода (это всего лишь намек)
Возможно моих знаний английского хватит чтобы перевести её. Попытаться стоит.
Долго бился над такой проблемой по использованию кода из статьи: при некоторых размерах карты остаются не инициализированными все высоты в определённых столбцах или строках. Оказалось, код из divide
if (w < 1.0f || h < 1.0f)

надо поменять на
if (w < 1.0f && h < 1.0f)

Sign up to leave a comment.

Articles