@Yatagarashy

Как сделать плавный переход высот в шуме перлина?

Начал изучать процедурную генерацию, создал в Майнкрафте свою генерацию, вроде получается нормально, но я не знаю как сделать плавный переход между двумя высотами, например у меня идут ниже камень, а выше камня идёт снег, и вот какую формулу бахнуть чтобы был плавный переход между камнем и снегом, а то буквально шляпа получается
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
wataru
@wataru Куратор тега Алгоритмы
Разработчик на С++, экс-олимпиадник.
Как сделать плавный переход от белого к черному? Нужен серый цвет. Но если у вас дисплей только 2 цвета имеет (а у вас же только снег и камень), то серый цвет можно сделать мешая белые и черные пиксели.

Например, после какой-то высоты всегда снег. Ниже какой-то высоты всегда камень. А по середине нужно что-то случайное. Можно, например, генерировать 2 шума и сравнивать их как-то. Например, квадрат одного больше другого, умноженного на какую-то константу. С формулами надо поэкперементировать, посмотреть, что хорошо выглядит.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ocelot
@Ocelot
Если дизеринг не подходит, а нужна именно чёткая граница, но не хочется, чтобы она проходила по прямой. Сгенерируй ещё одну случайную карту высот, с меньшим диапазоном, и пусть она задаёт пороговую высоту для каждой отдельной точки. Например, если горы от 0 до 128, а снег нужен выше 100, пусть карта порогов будет в диапазоне 90..110 — получится снеговая линия, плавно гуляющая по высоте на +-10.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы