#1
17 января 2012 в 01:47
Введение<br /><br />В данной статье будет рассказано, как работать с entity в редакторе уровней типа GtkRadiant на примере версии 1.5.0.<br /><br />Map-файл, который как раз редактируется с помощью Radiant'a, описывает следущие составляющие уровня:<br /><br />
- worldspawn - множество всех брашей и патчей уровня, не задействованных в trigger'ах и func'ах;<br />
- entity - этити (к примеру, target_give, item_haste и др.);<br />
- trigger - триггер, который можно определить как симбиоз множества из брашей и/или патчей с entity;<br />
- func - особая группа брашей или патчей;<br />
- model - модель.<br />
- Главный (свойственен всем entity)<br />
- classname - определяет, чем собственно выделенная entity является;<br /><br /><br />
- Второстепенные (могут быть определены для всех entity)<br />
- origin - местоположение entity в формате «X Y Z»;<br />
- target - метка, указывающая entity, следующую после данной в связи (connection);<br />
- targetname - метка данной entity для ссылания на нее другой;<br /><br /><br />
- Специфические (могут быть определены для некоторых классов entity)<br />
- spawnflags - десятичное число, в котором кодируются булевые (да/нет) параметры entity (флаги);<br />
- wait - время в секундах, через которое entity может быть использована снова («перезарядка»);<br />
- другие…<br /><br />
- entity пересекается с твердым брашем ;<br />
- entity находится в «открытом пространстве»;<br />
- В обоих случаях уровень при компиляции (BSP -meta) выдаст «утечку» (leak).<br />
- При выделении некоторой строчки Key:Value в соответствующих полях появятся соответствующие значения; при этом если выделить другой объект и зайти в entity inspector, то поля будут содержать те же значения, которые там были во время закрытия. Таким образом можно удобно и быстро копировать строчки с параметрами из одного места в другое (к примеру, _remap от модели к модели).<br />
- Если нужно для тестирования уровня передвинуть на некоторое время info_player_start (или аналог), но двигать обратно его потом будет лень, а наличие двух таких entity мешает стабильно спауниться, то можно установить в первом info_player_start параметр classname равным, к примеру, info_player_start2. Тогда он не будет никак отображаться на уровне и даст спокойно спауниться другому info_player_start'у.<br />