TGViewer
Phase Of Horizon | HollowEngine Phase Of Horizon | HollowEngine @hollowengine · 373 subscribers
Post #171 676
Как работает генерация структур в Minecraft? ⛰ | День 78

Недавно решил посмотреть как устроен современный генератор мира и структур в Minecraft, оказывается многое изменилось со времён 1.16.5, когда я последний раз его анализировал :D (именно полноценно, а не просто по гайду структуру добавить и пару циферок в конфиге поменять)

И на удивление нет ни одного нормального ролика или статьи на эту тему, придётся сделать это самому... По сути все генерация сводится к 4 этапам:
Этап 1: Математика
Шум Перлина: Для каждой точки (x,z) вычисляются абстрактные параметры: Температура, Влажность, "Континентальность", Эрозия.
Выбор Биома: Игра смотрит в таблицу: "Тут жарко и сухо? Значит, будет Пустыня". Биом назначается региону, но блоки ещё не ставятся.
Планирование Структур (Structure Placement):
- С некоторым шансом и при определённых условиях игра решает: "Здесь будет центр Деревни".
- Берётся структура, собирается её полноценный вариант (все домики и трапинки в деревне) и вычисляются её размеры (BoundingBox).
- Важно: В чанк записывается невидимая метка StructureStart ("Здесь занято!"), но физически в мире всё ещё пустота. (Но это позволяет использовать команду /locate или даже визуализировать размеры структуры при наличии определённых модов)

Этап 2: Формирование Ландшафта
Расчет высоты: Генератор спрашивает: "Какой высоты тут должна быть гора?".
Вмешательство (страшная штука под названием Beardifier):
- Если рядом есть метка структуры (из Этапа 1), Beardifier говорит: "Стоп! Тут должен быть дом, тут нужно сглаживание".
- Шум плавно искажается под структуру. (Примерно как в видео)
Базовая заливка: Только сейчас пространство заполняется базовыми блоками (Камень, Глубинный сланец, Вода) согласно форме ландшафта.

Этап 3: Резьба и Покраска
Карверы: Специальные черви-алгоритмы прогрызают в камне пещеры и каньоны. Они, наоборот, удаляют блоки.
Обычно они настроены не трогать места, помеченные как Структура. Чтобы вдруг посреди данжа не появилось пещеры))
Поверхность: Верхние слои камня заменяются на блоки биома (Трава, Песок, Снег, Мицелий).

Этап 4: Наполнение
Только теперь игра берет тот виртуальный план из Этапа 1 и физически ставит доски, стены, сундуки, заменяя собой воздух или камень.
Декорации (Features):
Генерируются руды, деревья, цветы. Причём самое забавное, что те же руды вполне могут заменить блоки камня в структуре, так что имейте это ввиду :D
Перед спавном дерева игра проверяет: "Я не внутри структуры?". Если внутри - дерево не растет.

Ну и уже потом, когда мир начинает тикать, начинают спавниться мобы, тикают блоки и т.п.

Я конечно многое упростил, поскольку этапов так немножко больше:
empty → structure_starts → structure_references → biomes → noise → surface → carvers → liquid_carvers → features → light → spawn → full
Но думаю и так тема не самая простая, пока что остановимся и на этом 🙃

P.S. Ролик с подстановкой окружения под структуру не поместился, так что отправлю следующим постом
  • ❤ 2
  • 🔥 2
  • 👀 1
More from @hollowengine
  1. Sep 25, 2026Я конечно сам в этих методиках пока только разбираюсь, но как будто получается неплохо? 🤔
  2. Sep 25, 2026Система эффектов ☄️ | День 11 Добавил поддержку шейдеров, шлейфов, объектов и другие штуки…
  3. Sep 24, 2026Новый интерфейс движка 🛞 | День 10 Да, я опять его переделал, и что вы мне сделаете? В пе…
  4. Sep 23, 2026Эмиттеры партиклов 🎮 | День 9 В общем, сегодня доработал ядро системы эффектов до уровня…
  5. Sep 22, 2026Ну вот, и даже ничего не сгорело, не зря год назад запарился и написал систему инстансинга…
  6. Sep 22, 2026Зря вы мне доверили систему эффектов и партиклов 😱 (День 8)
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →