Основы работы с криывми в GtkRadiant
Итак, этом туториале я попробую объяснить основы работы с кривыми при создании Q3-уровней. Для работы понадобится (как впрочем и всегда) редактор GtkRadiant и сама третьеквака – для тестирования карт. Ну что ж, приступим.
Создание простой арки
Одной из основных областей применения кривых в Quake3-картострое, является создание арок готического стиля. Вот и мы сейчас будем сооружать именно этот архитектурный элемент.
Для начала создаём средних размеров комнату. И тут же клонируем её, отодвигая клон от предка примерно на 192 юнита.
После этого нам потребуется соединить эти комнаты между собой небольшим коридором. Как уж вы там это будете делать, сколько и каких брашей используете – не суть важно. Главное чтобы у вас получилось нечто, напоминающее такой вариант.
Вот в этом коридоре мы и сделаем несложную арку. Арочные текстуры (среди стандартного набора) можно найти в каталоге gothic - gothic_door. Хотя конечно же можно использовать и любые другие текстуры.
В верхней части коридора создаём браш, который впоследствии станет нашей аркой.
Теперь шелчком в меню Curve - End cap превращаем наш браш в кривую. Для создания арки с половиной свода необходимо выбрать Curve - Bevel, но этот вариант чаще применяется для получения закругления коридорных стен.
И тут же видим что наша “арка” лежит на боку. Поставить её в нормальное положение можно командами из меню Rotate.
После этого возможно потребуется изменить размеры арки, чтобы она плотно прилегала к соседним брашам. Это достигается путём работы с контрольными точками кривой Безье - меню Modify - Components - Vertex (или просто нажатие калвиши [V] на клавиатуре).
Путём несложных перемещений вертексов, заготовка для арки приняла вот такой вид:
Далее при помощи меню Curve - Cap selection вызываем окно выбора вида кривых и придаём нашей арочной заготовке требуемый вид - Inverted End Cap.
Но получилось так, что видимые поверхности оказались развёрнуты внутрь арки. Исправляем это при помощи меню Curve - Matrix - Invert.
После этого текстурируем нашу арку. Состоит она теперь из трёх плоскостей – двух фронтальных и собственно кривой. Какие текстуры использовать для их «раскраски» - это уже дело десятое.
А закруглённые стены создаются по тем же принципам. Только переворачиваний заготовки с кривой кроме как по оси Z практически не требуется.
Колонны и прочая мелочь
Ну а сейчас мы рассмотрим чуть менее сложные (на мой взгляд) приёмы работы с криыми. А именно создание колонн и конусов. Перыве опять же подойдут для готических карт, а последние – для чего-нить органического.. вдруг кому-то захочется создать уровень во внутренностях гигантского червя =)
Колонны в GtkRadiant создаются не просто, а очень просто. Добавляем на уровень браш необходимой высоты и толщины, и потом просто применяем к нему команду меню Curve - Cylinder. Вуаля – наша колонна готова!
Клыки на уровне Arena Gate - это всего лишь конусы, немного изогнутые в разные стороны. И ничего более =) Создаются они легко. Берём браш нужной толщины и высоты и обрабатываем его командой меню Curve - Cone. И всё.
Искривление же конусов происходит следующим образом. Переходим в режим редактирования вершин (aka вертексов) клавишей [V], и после этого двигаем цветные точки в окнке 2D-редактирования. Добавление и удаления вершин производится через меню Curve - Insert\Delete - Colums\Rows. Таким же образом искривляют и цилиндры, превращая их тем самым в трубы и прочие нестандартные элементы интерьеров.
Замазывание глюков
Ну и напоследок скажу пару слов о том как избавиться от визуальных глюков, иногда производимых кривыми. Касается это только Bevel’ов и Cap’ов, конусы и цилиндры тут не причём
Глюк заключается в том что если лежащий за кривой браш «одет» в текстуру отличающуюся от текстуры кривой поверхности, то этот браш имеет свойство просвечивать на местах его соприкосновения с кривой.
Чтобы этого не происходило, на грани, соприкасающиеся с кривой обычно накладывают текстуру common/caulk, которая сообщает движку о том чтоданный полигон не требуется отображать в игре.
Скачать демонстрационную карту (curvez_demo.map)
автор - DOOMer