Rip and tear, товарищи!
Собственно, именно это мы и будем делать с движком DooM: рвать, метать, выжимать из него все соки.
О себе я могу сказать одно: я больше художник в глубине души, с программированием у меня пока не очень (спасибо этому сайту, т.к. именно эту мою проблему исправляют его авторы), поэтому… Поэтому я открываю серию статей, где мы будем рисовать уровни красиво.
Сразу оговорюсь: что-то из сказанного мною уже упоминалось в уроках других авторов на этом сайте. А я просто напомню это в рамках контекста, дабы вы не скакали от статьи к статье. Итак…
Создаём карту формата UDMF, это важно.
Как учил Илья Стриго, каждой линии границы карты зададим «бесконечный горизонт». Вот так.
Теперь идём в настройки сектора и выбираем для пола текстуру песка, для потолка — F_SKY1. Бесконечный горизонт позволяет игнорировать текстуру стены, он её просто не показывает. Благодаря этому нам не нужно её постоянно удалять.
Давайте теперь создадим пару пирамид. Сделаем мы это двумя способами. Посмотрим на картинку.
Первая пирамида создана за счёт подъёма вершин треугольника. Для этого должна быть активна функция Show editable vertices (такая кнопочка рядом с Test Map). Рисуем квадрат, линиями делим его на 4 треугольника, как показано на картинке. Переходим в визуальный режим и видим пирамидки около точек-вершин. Ухватитесь за любую из них и крутите колесо мышки. Поняли технологию? Собственно, пирамида получится за счёт подъёма центральной точки. Точную высоту точки можно узнать и изменить, щёлкнув в режиме карты (и 3D тоже) правой кнопкой мыши по ней.
Сделав более сложную фигуру из треугольников, мы можем создать горы и холмы. Рисуйте и пробуйте. Недостатком метода является то, что треугольники:
1) должны стыковаться друг с другом вершинами, иначе появятся «трещины». Пример:
2) Разделив хоть одну сторону треугольника на два отрезка (как на рисунке), вы не сможете поднимать и опускать вершины. То есть, запомните: только треугольники, сектора из трёх линий и трёх вершин-точек.
Но если вот прям надо поднять сектор, у которого хоть одна сторона рубится точкой?
Посмотрим на вторую пирамиду. Каждая линия образующего её квадрата получила экшен 181 — Plane Align. Вы уже знакомы с ним. Указываем Align floor — front, поскольку фронтальная часть линии у нас направлена внутрь квадрата (видите такие флажки по центру каждой линии?). Теперь мы можем поднять нашу пирамиду, меняя высоту сектора.
То есть, как видите, в первом способе меняется высота ТОЧКИ, во втором — СЕКТОРА.
Кстати, если ваша линия с экшеном 181 разделена на отрезки точками, как здесь, можете оставить этот экшен только на одном из них. Даже если он длиной в пиксель. На остальные можно повесить что-нибудь более полезное.
Сделаем такую скалу, объединив эти 2 принципа:
Что ещё… Нарисуйте, например, такую фигуру:
Играйтесь с вершинами. Получится вполне реалистичный (по меркам игры, конечно), ландшафт. Дальше — только ваша фантазия.
В завершение всего сказанного — вот такая скала. Все спешелы на линиях — 181, Align floor, front. Скачайте карту по ссылке и посмотрите сами, как она сделана. Но… Вы ведь уже построили свою, более навороченную, правда?)))
Тут тестовая карта. На ней можете побегать, а в редакторе увидеть всё, о чём говорили. Удачи!