Содержание

Введение

В данной статье будет рассказано, как работать с entity в редакторе уровней типа GtkRadiant на примере версии 1.5.0.

Map-файл, который как раз редактируется с помощью Radiant'a, описывает следущие составляющие уровня:

Создание и выделение объектов

Для помещения на уровень entity, trigger'а, модели'и или func'а (далее - объект) кликнуть правой кнопкой мыши на рабочее пространство редактора (неважно, в какой проекции) и выбрать нужный пункт. Следует помнить, что при создании trigger'a или func'a должен быть выделен как минимум один браш или патч, иначе создастся «пустой» trigger или func, и откомпилированный с такой «пустышкой» уровень не запустится в q3. При помещении же entity и модели'и наоборот все выделения в редакторе необходимо снять, иначе то, что было выделено, исчезнет (впрочем, иногда так и надо).

Entity list

Для управления установленными объектами редактор содержит мощные инструменты: entity list и entity inspector.

Entity list - удобный список всех entity на уровне, в котором легко находить нужные из них для последующего вызова entity inspector или других целей (например, копирования). Для вызова entity list нужно выбрать соответствующую строчку меню view, либо использовать горячую клавишу L.

SYSTEM_SECTION:\Documents and Settings\USER_NAME\Application Data\RadiantSettings\1.5.0\q3.game\shortcuts.ini

В появившемся окне можно искать нужный объект, а затем копировать его (клавиша SPACE), перемещать с помощью мыши, либо вызывать для ее редактирования entity inspector. Единственным недостатком этого инструмента является то, что в нем отображаются абсолютно все источники света, которых может быть не одна тысяча (да, бывают и такие чудовища), что очень мешает навигации в entity list.

Entity inspector

Логически следующий за entity list, но хронологически вызываемый раньше инструмент entity inspector вызывается горячей клавишей N при условии выделенного в редакторе объекта. Если объект создан только что и больше действий с выделением произведено не было, то можно вызывать entity inspector сразу, т.к. после создания любого объекта (в том числе браша или патча) выделение автоматически переходит на него. Если же надо выделить объект уже после, нужно выделить его с помощью левой кнопки мыши и клавиши SHIFT.

Для этого находим на рабочем пространстве нужный объект (пользуясь, если нужно, правой кнопкой мыши для промотки и колесом мыши для масштабирования), зажимаем SHIFT и кликаем на объект. Если зажать левую кнопку мыши, то можно выделить несколько объектов.

Так как описанный способ в точности повторяет алгоритм выделения брашей и патчей, для выделить так же trigger или func не выйдет. Для этого надо вместе с SHIFT зажимать CRTL (entity и модели тоже можно выделять с CTRL).

Итак, после выделения нужного объекта нажатие горячей клавиши N приведет к открытию entity inspector.

Две верхних области инструмента представляют собой мощную справочную систему по всем доступным объектам. Выбирая в верхнем окошке нужный (по умолчанию выбран тот, который был выделен при запуске inspector'а, а если не было выделено ничего - то последний использованный) можно найти все (практически) ключи для его настройки. Собственно говоря entity или модель в map-файле представляет собой список параметров, среди которых:

Trigger'ам, func'ам свойственно все вышесказанное, только в их состав также входят браши или патчи.

Итак, вводя в поле Key любой параметр, описанный здесь или другой, найденный в справка Radiant'a или где-то еще, в поле Value его значение, и нажав ENTER (нажимать, находясь на поле Value) создастся параметр с заданным значение. Кнопками delete key и clear all можно соответственно удалить выделенную строчку с параметром или удалить все парамерты (кроме classname).

Так и происходит управление объектами (кстати, менять можно даже classname, но после этого с объекта спадет выделение)

Правда, в случае target и targetname существует «быстрый механизм», минующий entity inspector (если в друх словах, то надо выделить два объекта в том порядке, в котором они соединяются и нажать CTRL+K), но использовать такой метод лично автор статьи настоятельно не рекомендует. Кроме того, что таким способом не сделать многих возможных в entity inspector вещей (например, соединение одного объекта с несколькими), но и теряется понимание сути маппинга, его красота и логичность (немного помпезно, но зато правда).

Так что target и targetname вам в руки, и вперед ;-)

Свойства объектов

Некоторые "фишки" в работе с entity inspector

Nt-kop4ik 26.08.2009