Графомания
Меню сайта


Категории каталога
Геймдев: Технологии
Геймдев: Разделочная
Геймдев: Персонажи
Программирование
Железный век
Художественное


Форма входа



Поиск


Друзья сайта
.::LvL - Q3A Maps Russian promode community



Приветствую Вас, Гость · RSS 19.04.2024, 05:21
Главная » Статьи » Геймдев: Технологии

Миграция с VHE на GTKRadiant
Миграция с VHE на GTKRadiant

Статья о том, как быстро перейти с редактора VHE на более мощный GTKRadiant. Предполагается, что читатель уже знаком с основными понятиями CSG (constructing solid geometry) и не путает браш с фейсом. Писал очень подробно, так что читать долго, но понятно.

Итак, первое с чего мы начнем, это скачивание и установка GTKRadiant. Вот здесь находится страничка редактора, последняя версия 1.5. Файл весит 7.6 мегабайт и является установочным файлом Windows (MSI). Если будет необходимость, могу выложить уже разжатый радиант, запакованный 7z. Сразу предупреждаю: GTKRadiant не отшлифован на столько же хорошо, как и Хаммер, следовательно глюки и вылеты будут происходить чаще. Так что не забывайте сохраняться (еще работает autosave в отдельный файл с именем типа mapname.autosave.map). При первом запуске редактор спросит, с какой игрой вы хотите работать. Да, он поддерживает HL, но оно вам теперь надо? Кроме того он предложит вести лог работы (я включаю) и показывать окошко с выбором игры перед запуском (выключаю). Следующий вопрос касается пути к игре. Указываем именно папку с игрой (d:\half-life или e:\quake3), с модами вопрос отдельный. Когда путь будет указан, вы снова увидите загрузочную заставку и... все. Такой глючек. На панели задач будет свернуто окошко, где видна строка пути к игре и надо нажать ОК - жмем. Все, редактор загружен, и вот, что мы видим:


Картинку крупно можно не смотреть, разглядывать там нечего - экономьте трафик для "дальше"!

Как положено, сверху размещаются меню и тулбар. Большое поле слева - это единственный включенный вид (XY - сверху, имена осей координат надо знать на зубок =), справа от него размещаются 3d-вид (камера) и текстурный браузер. Снизу - лог-консоль. Вот так все просто на первый взгляд. Ну, теперь давайте настраивать. Я тут опишу не все настройки, а лишь самые, на мой взгляд, важные. Остальное вполне понятно при среднем уровне знания английского языка.

Настройка

Мне не нравиться редактировать на светлом фоне после десяти лет работы с темным, поэтому я выбираю Misc - Colors - Themes - Black and Green


Черное и зеленое - мои любимые цвета =)

Естественно, все цвета можно настроить по вкусу (по взгляду?), но мне и так понравилось.

Далее возникает желание включить вид из четырез окошек, как в родном Хаммере. Да, это можно сделать (Edit - Preferences - Interface:Layout), но я не советую. Чисто психологически привыкнуть к особенностям программы будет сложнее, да и работать с одним видом оказалось удобнее.

Edit - Preferences - Display:Textures - выставляем качество текстурок, снижаем, если радиант подтормаживает, что вполне вероятно, так как он отображает все изменения в реальном времени в 3d-виде. Короче, для больших карт имеет смысл поставить 50%, а то и 25%.

Edit - Preferences - Settings:Brush - тут выставляем Default texture scale - коэффициент натяжки текстур по умолчанию.

Edit - Preferences - Settings:Orthographic - по вкусу отмечаем Display size info, как в VHE 4.0, даже круче =). Мне пока не пригодилось, но функция интересная.

Edit - Preferences - Settings:Texture browser - Ставим размер 50%, чтоб не по одной смотреть (да и что там рассматривать - все в игре видно будет).

Edit - Preferences - Settings:Autosave - Параметры очевидны, включить и поставить минут 5-10.

Примитивы

Переходим к редактированию и навигации. Браш создается хоть и элементарно, но совсем непривычно. Просто проводим мышкой с зажатой ЛКМ (левая кнопка мыши =) по окошку вида и параллелепипед готов. Если ничего больше не делать, то он останется обычным шестисторонним брашем. Но кроме размеров ширина-длина есть еще высота! Тут-то и начинается самый прикол, ибо вид мы оставили один. На самом деле, при редактировании карты чуть дальше, чем первая комната, мы обычно прилипаем к монитору и долго подгоняем размеры в одном из трех видов, потом переходим к следующему. В радианте вид у нас один и большой, так что смотреть удобно, а вот сочетание клавиш Ctrl-Tab переключает проекции в этом виде. Отредактировали по ширине, пошли на высоту и так по кругу три проекции. Для редактирования размеров объекта ничего особого нажимать не надо. Тут тоже есть заметное отличие от VHE: ловить мышкой линию браша не нужно, достаточно поставить мышь с той стороны от браша, куда надо тянуть, зажать ЛКМ и двигать. При этом на браше отметяться точками те поверхности, за которые мы тянем. Да, этот метод не будет корежить кривые браши как хаммер - браши просто вытягиваются с нужной стороны, вот так:


Мышка слева - тянем влево, скос справа не меняется.

Немного резюмирую: мы растянули первый браш с помощью мышки и ее "левого уха", придали с ее же помощью нужный размер, переключая проекции Ctrl-Tab. Если мышку ставить внутрь браша, то браш будет передвигаться (как и в хаммере). Теперь нужно научиться выделять и снимать выделение с браша. Снять выделение со всего выделенного можно нажав Esc, установить или снять выделение на один из брашей можно с помощью Shift-ЛКМ. Когда выделен хоть один браш, махая мышкой и зажимая ЛКМ мы его редактируем. Когда ничего не выделено, мановением мыши создается новый "кубик". Тут могу посоветовать перед созданием нового браша нажимать Esc несколько раз. Не то, чтоб у радианта были проблемы с отображением выделения, но для себя же вреда не будет - а вдруг проглядим? Выделять советую строго через 3d-вид. Радиант хватает в окне проекции тот браш, который ближе, лишь бы мышка оказалась внутри контура, а не тот, на контур которого вы тыкаете.

Объект автоматически привязывается к сетке, а сетка привязана к клавишам на клавиатуре 1-9, 0 прячет/показывает сетку. Через меню Grid можно включить сету на 0.5 и 0.25 юнита. Чаще всего используются кнопочки 3, 4, 5: 4, 8, 16 юнитов, соответственно.

Кроме параллелепипеда, мы можем создать еще несколько форм через меню Brush:


Примитивы в меню Brush: Призма, Конус и Сфера.

При выборе одного из примитивов, радиант предложит задать базовое количество сторон, а потом создаст нужный примитив, вписав его в созданный нами параллелепипед, удалив последний.


Опорное количество сегментов.

Редактирование

Теперь подробнее, что можно делать с примитивом. Есть такие кнопки на тулбаре:


Кнопочки

Первые шесть - это отражение и поворот (90 градусов) по соответсвующим осям. К примеру, X|X отразит фигуру по оси X, а следующая кнопочка повернет вокруг этой оси на 90 градусов. Экспериментируйте, привыкайте - очень полезно.

Select touching - выделяет все браши, к которым прикасается выделенный. Пока не пригодилось. Для чего нужна следующая кнопка - пока не знаю, обходился.

CSG Subtract - аналог Ctrl-Shift-C в хаммере, вырезает выделенный браш из окружающих. Используйте с оглядкой и осторожно, как и в хаммере. Хотя вырезает призму радиант лучше, чем хаммер.

CSG Merge - позволяет сделать из нескольких брашей один. Естественно, работает только в том случае, если конечный браш будет выпуклым. Букву "Г" не получишь =)

Hollow - несколько упрощенный аналог функции Hollow в хаммере, делает пустую фигуру, но толщину стенки задать нельзя - вырезается внутрь на глубину текущего размера сетки. попробуйте. Крайне редко находится применение, как вы знаете.

Select Vertices - режим редактирования вершин браша. Радиант сам следит за правильностью формы и подтягивает нужные вершинки "если что".

Select Edges - режим редактирования ребер. Как ни странно, но пользуюсь я им чаще, чем вершинами. Тут еще стоит отметить, что радиант не спрашивает, нужно ли сшивать совпавшие точки, а делает это молча.

Select Faces - режим редактирования поверхностей. Наложение и подтяжка текстур, поговорим об этом чуть позже.

Change Views - переключение проекций, лучше привыкнуть к Ctrl-Tab.

Cubic clip the camera view - не въехал, если честно, зачем оно надо. Так сказать, разницы не увидел.

Translate (W) - режим переноса браша с одного места на другое. На самом деле просто дублирует режим редактирования по умолчанию при мышке внутри браша. Тянуть надо за специальный квадратик:


Мышку в центр и возим.

Rotate (R) - режим поворота браша. Если вы извращенцы... На самом деле есть такой пункт меню, как Modify - Arbitrary Rotation, вот через него и нужно вращать:


В нужной оси просто прописываем градусы и жмем Apply.

Scale - масштабирование по осям. Появляется такой же квадратик, как и при Translate, цепляем нужную ось и тянем. Если вообще понадобиться =)

Resize (Q) - режим по умолчанию, был описан выше при создании браша.

Clipper (X) - обрезка. Почти так же, как в хаммере. Ставим две точки (зачем-то можно поставить и третью - недоработка?), можем их подвигать, а потом Enter, чтоб отрезать кусок справа от 1-2, Ctrl-Enter чтоб поменять местами и снова Enter чтоб отрезать, или же Shift-Enter для простого разделения на два браша. Подсмотреть эти функции можно еще в меню Brush - Clipper, чаще всего пользуюсь именно Shift-Enter.


Синие цифорки подскажут, с какой стороны будет отрезан браш.

Удалить выделенные браши можно кнопкой Backspace (над Enter'ом =), как, впрочем, и все остальное.

Думаю, с геометрией мы разобрались. Упражняться, упражняться и еще раз упражняться, чтоб привыкнуть к клавишам, раскладке и действиям. Те небольшие плюсы, которые я тут упомянул, помогают существенно сократить время работы над геометрией. Привыкнуть к этой технике очень легко, камера вызовет больше затруднений.

Камера и 3d-вид

В окне проекций мы видим такой синий уголочек, он там для ориентира, куда смотрит камера в данный момент, показывается он всегда и оттого очень полезен - редактируя похожие углы перепутать их не так легко, как в хаммере (кто как, а у меня бывало). Навигация в окошке 3d-вида осуществляется стрелочками на клавиатуре и мышкой, а режим навигации включается правой клавишей мышки (заметьте: нажать и отпустить, а не зажать и дергаться!). Поначалу я жал WASD и не хотел отпускать "мышье ухо", но где-то часов через 8 (в общей сложности, не думайте, что включив радиант и прогуляв где-то полдня, вы сможете пользоваться им легко =) привык. Это был самый тяжелый момент для меня.

Текстуры

Первое, что вы должны заметить - это дерево каталогов/wad-файлов в левой части текстурного браузера.


Quake 3, родимая...

Текстурки подгружаются по ходу обращения к конкретному каталогу, так что можно их добавлять и удалять, не перезагружая редактор. Про wad'ы это тоже верно.

Будьте внимательны: для того, чтоб перекрасить браш, ничего дополнительно нажимать не надо - выбирите текстуру и она наложиться на все выделенные браши. Из-за этого часто приходится нажимать Ctrl-Z, благо работает отмена тут правильно. Новый браш создается покрытым выбранной текстурой.

Теперь о более "тонкой" покраске. Сначала нужно выделить браш, на котором будем красить сторону, перейти в режим редактирования поверхностей (кнопочка F) и выделить нужные поверхности с помощью Shift-ЛКМ (стандартное сочетание для выделения в радианте, хотя иногда работает и просто ЛКМ)

Как несложно заметить, такой способ выделения поверхностей хоть и соответсвует хорошим принципам ООП, но не совсем удобен, так как вспомнив случайно о текстурке на невыбранном браше, придется все выделение проводить с начала. Впрочем, не все так плохо - с помощью Alt-Shift-ЛКМ вы можете добраться до поверхности, минуя стадию выделения брашей.


Две поверхности на двух брашах.

Теперь можно выбирать нужную текстуру, и она нанесется на выбранные поверхности. Однако нужно теперь текстурку еще и выровнять на браше, а для этого существует Surface Inspector


Это все для пластической хирургии =)

Имя текстурки можно просто вписать, при этом радиант будет выдавать подсказки, как проводник Windows.

Дальше параметры должны быть понятны: сдвиг по горизонтали, сдвиг по вертикали + шаги сдвигов (удобная штука), коэффициенты натяжки текстуры, опять же с шагами, поворот текстуры (и он тоже с шагом). Это, что называется, очевидное.

Кнопочка Match Grid приводит шаг в соответсвие с сеткой.

Axial - равносильна Rotate: 0, просто сбрасывает поворот текстуры и ориентирует ее по осям.

Fit - как в хаммере, растягивает/сжимает текстуру на поверхность браша. К сожалению, выравнять текстурку на несколько поверхностей с ее помощью нельзя - тут хаммер рулит. Зато можно задать коэффициенты, сколько раз текстурка должна войти на поверхность (тут хаммер сосет), например 3х2.5:


Вроде, наглядно.

Следующие кнопки предназначены для кривых, работают с ними плохо и актульны только для движков id Tech 3 и 4, т.е. не для Half-life, построенном на id Tech 1, хоть и сильно измененном.

Чего еще не хватает: подтяжки к краям поверхности и циклического наложения (Alt-ПКМ) - явное упущение разработчиков (может, исправят).

Из инструментария еще может пригодится замена текстур Tools - Find/Replace (не в главном меню, а в меню текстурного браузера). Работает точно так же, как и в хаммере, текстурки подбираются мышкой тут же из браузера. Разберетесь.

В тулбаре справа есть кнопочка для закрепления текстур на поверхностях, чтоб не сдвигались при перемещениях, переключается еще через Shift-T

Сущности (entities)

Точечные сущности ставяться элементарно: ПКМ в окне проекции и выбираем из списка (они там удобно отсортированы по префиксам - это такая фича редактора, в фгд ничего указывать не нужно). Естественно (для радианта), при добавлении новой сущности, выделение со старых надо снять - помните про Esc. С брашевыми сущностями тоже все просто: выделяем нужные браши, ПКМ и выбираем из списка нужную сущность. Доступ к свойствам сущности происходит через кнопочку в тулбаре или N с клавиатуры:


Сверху выписаны ключи, снизу - параметры (соответсвует выключенному и включенному SmartEdit в хаммере). Редактор ключей тут же.

О группировке

Группировать объекты подобно хаммеровсКому Ctrl-G радиант не умеет. Это есть его большой минус. Брашевые объекты можно сгруппировать с помощью func_group - сущность, преобразуемая компилятором в обычные браши. Выбирать эту группу нужно так: Shift-ЛКМ на любом из брашей, затем Ctrl-Shift-E. На точечные сущности такая группировка не действует.

Заключение

А теперь вылью на вас еще кучу минусов. Главное, что нужно усвоить, это то, что радиант в первую очередь предназначен для создания карт под игры id. Сами по себе движки id более отлажены, чем Half-life, это же касается и форматов карт. Поддержка Half-life появилась в радианте сравнительно недавно, а мапперов, которые бы работали в нем и при этом делали карты именно под эту игру, очень мало (если есть вообще). Quake 3, Quake 4 и Doom 3 дают разработчикам больше возможностей и в графике, и в логике игр. Надеюсь, что прочтя эту статью, некоторые из вас все же возмуться за другие игры и создадут множество интересных и красивых карт. Пока я писал этот опус, радиант многократно вылетел именно на Half-life, стабильно работая под Quake 3. Честно говоря, не вижу ничего, что могло бы удержать вас от перехода на Quake или Doom, разве что оголтелый фанатизм...

Лично я взялся за радиант не потому, что мне не нравиться хаммер, а потому, что захотел делать уровни под Quake 3. Поработав с редактором, я пришел к выводу, что во многом он удобнее, хотя есть и недостатки. Однако, эти недостатки почти незаметны, если подход к созданию карты изначально правильный, и карта эта строится под игру от id.

Вот учебник (большая часть в одном архиве), который помог мне освоить редактор и научиться делать карты под Quake 3, там же есть статьи по Doom 3, удачи.

Категория: Геймдев: Технологии | Добавил: Scrama (20.03.2008) | Автор: Дмитрий Скрама
Просмотров: 6219 | Комментарии: 5 | Рейтинг: 4.5/2

Всего комментариев: 4
1 DOOMer  
2
Очень неплохая статья. Понравилаось. Сам когда-то учился строить карты по туториалам от Хаммера, когда тот ещё был WorldCraft'ом.

Но для меня Радиант всё-же удобней и родней... да и сама философия Quake 1-3 более симпатична, нежеле ХЛ (хотя в своё время и ХЛ было уделено должное внимание в плане игры в него).

Ответ: Да, радиант мне тоже удобней. Я это быстро понял, хотя вот некоторых возможностей не хватает как в редакторе (подтяжка текстур на реьрах друг к другу), так и в движках (нормали проецирования текстуры не совпадающие с осями координат).
Зато работа с брашами и кривыми на порядок лучше реализована в радианте.

2 OffyGhost  
2
Круто круто круто:)
Держыт ли оно вторую хальфу?

Если я буду клипать аццкие карты под D3 или Q3 брат хоть немного одобрит мой креатив и скажет что-то типа "ты наконец направил силу в правильное русло"

Я давно как то качал QEradian или что то в этом роде. Весило оно мегабайд.

Ответ: Нет, ХЛ2 он не держит. ИМХО, и не надо.
Сейчас вот ищу Doom3 лицензионный, а то мой кривущий шописец. Хочу сингловую карту сделать.

3 kogemyaka  
1
Хы, картинки пропали wacko

4 Scrama  
0
Пофиксил

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]