UNITY — Конструктор в конструкторе

Некоторое время назад, я занимался разработкой ряда различных генераторов и конструкторов для конструктора игр Unity. В самом начале работы, я писал заметку на эту тему. Теперь, когда отшумели страсти вокруг проекта, спешу показать, до чего удалось добраться. Текста будет мало, в основном скриншоты…

Разделим демонстрацию на несколько частей.

Редактор террайна под свои нужды

Террайн или редактирование земной поверхности прямо в игре.

Данный редактор позволяет посредством «резинового полигона» задать любую форму, и вытягивать ее например вверх на несколько ярусов, или наоборот — опускать вниз. Это позволяет формировать горы, озера, реки. К сожалению скриншоты скудны на эту тему, и видны лишь отдельные одно- ярусные возвышения, но по факту, можно делать плато, над ним поднимать гору, а в горе например формировать впадину, которую после залить водой и получить высокогорное озеро. Поэтому сделать реку, что из озера спускается, проходит по холмам и уходит в равнины, несложно!

Генератор зданий

Генератор, он же редактор,  позволяет строить как из отдельных элементов — панелей, потолков, полов, крыш и прочего. Позволяет выбирать мышью нужный элемент и ставить его «куда надо». Или генерировать готовые типовые конструкции по маске. Можно построить 9-и этажку в форме креста, П-образно, или Г-образно — главное задать маску. 

Следующая группа генераторов — генератор дорог.

Генератор позволяет строить дороги по контрольным точкам. Нажимая мышью на террайне, пользователь указывает, как пройдет путь.  Далее точки соединяются и в реальном времени строится геометрия дороги. В отличии от первых угловатых вариантов, дорога строится по кривой Безье, что позволяет получить более презентабельный вид. Как видно на скриншотах, кроме геометрии, возможно и добавление иных объектов. В данном случае фонарей. Частоту генерации дополнительных элементов так-же можно задавать в редакторе. Кроме того, дороги можно дополнять готовыми перекрестками и прочими дорожными элементами. На скришотах видно, что дорога и два вида перекрестков прекрасно стыкуются. Кроме того, дорожное полотно продемонстрировано в двух вариантах, что позволяет так же разнообразить дорожную сеть.

Генератор лабиринтов.

К сожалению был завершен только один тип лабиринтов. Указывается директория откуда брать элементы, и генератор, по заданному алгоритму формирует лабиринт из комнат, лифтов, лестниц, и прочего. Большой плюс данного лабиринта его многоуровневость. Этажей будет столько, сколько укажет пользователь. Размеры можно задавать числом комнат или указанием ширины длинны и высоты занимаемого пространства. Очень удачная реализация. Код довольно быстро обрабатывает задание поэтому  не заставляет скучать в ожидании финала.

Практическое применение лабиринтов:

Это космический корабль внутри которого сгенерированно внутреннее пространство: отсеки, шахты, лифты, шлюзы, переходы.

А это внутреннее пространство небоскреба:

В завершении…

В статью не попали генераторы крепостей, космических баз. Модуль редактора террайна «РЕКИ и ОЗЕРА», кисти террайна и прочие элементы незначительные элементы. 

Почему? Просто под рукой не оказалось скриншотов, их придется делать отдельно. Если дойдут руки, нащелкаю и покажу :)


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Проверка * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.