Процедурная генерация гексагональной карты по подобию игры Eador
Двухмерная карта в изометрической стилистике, созданная на основе гексагональной сетки с процедурной генерацией ландшафта. Тайлы карты формируются с использованием шума Перлина для реалистичного размещения биомов — травы, леса и воды. Для отрисовки гексов применяются кастомные шейдеры с маскированием текстур, а также процедурная расстановка деревьев для повышения детализации сцены.
Проект представляет собой систему процедурной генерации двумерной карты на основе гексагональной сетки. Каждый гекс (шестиугольник) выступает в роли отдельной ячейки ландшафта и строится с добавлением контролируемого шума координат вершин, что позволяет избежать излишне геометричного, монотонного вида карты.
Ключевой особенностью генерации является применение нескольких октав шума Перлина для определения текстурного слоя ячейки. Комбинируя различные значения шума, система назначает тайлу один из биомов: вода (на основе низких значений), трава или лес. Это обеспечивает естественно выглядящие переходы между зонами без необходимости ручного размещения.
Для визуализации текстур используется кастомный шейдер "Custom/MaskedSixWayMix" с применением маски-текстуры, позволяющий смешивать до шести различных поверхностей на стыках тайлов, что сглаживает границы между гексами. Контуры гексов отрисовываются динамически через LineRenderer, объединяя тайлы в общую визуальную сетку.
Дополнительный уровень детализации добавляется за счет процедурной расстановки объектов растительности (деревьев) внутри каждого тайла. Их позиции, количество и выбор спрайта задаются случайным образом с сортировкой по вертикальной координате, что формирует глубину сцены за счет управления порядком рендеринга (sortingOrder).
Каждая созданная ячейка сохраняет своё состояние (координаты, текстуру, материал) в модели данных Cell, что потенциально позволяет использовать проект как основу для пошаговых или стратегических игр с гексагональным полем, симуляцией ландшафта или генерацией миров.