Создание уровней для Battlefield 2, часть 2
В прошлой статье, посвященной редактору уровней Battlefield 2 , мы изготовили поверхность будущего уровня и закрасили его основной текстурой. Сегодня придадим карте более ухоженный вид, создадим базы противников, добавим разные предметы и запустим новый уровень.
Кистью по земле
Если вы этого еще не сделали, то самое время добавить вашему уровню разнообразия красок. Как вы помните, в прошлый раз мы с вами создали одну базовую текстуру и закрасили ей всю карту. И еще осталось 5 пустых слотов, в которые можно установить дополнительные картинки для обозначения разных типов поверхностей. Заполним их. Все делаем как в прошлый раз — при назначении первой текстуры.
Запускаем TerrainEditor , загружаем уровень (нажимаете пиктограмму Load и выбираете его из списка) и устанавливаем режим Texture (щелкнув иконку на панели инструментов). В окне Resources раскрываем Ground Properties/Layers (напоминаю, название “уровни” в этой вкладке обозначают разные типы текстур). Обратите внимание — к первому уровню добавлено название установленной в прошлый раз текстуры. Оно заключено в квадратные скобки (что-нибудь вроде Layer 1 [detail_grass09] ). А в панели инструментов (которая сейчас называется Texture , поскольку установлен этот режим) под номером 1 показан образец материала. Остальные слоты пусты. Чтобы заполнить их — щелкаем в окне Resources по строчке Layer 2 и выбираем нужную текстуру (вы проделывали это в первой статье). Если местность гористая, подходит комплект ColorTexture: sand02_dark, DetailTexture: detail_rock06, Material: rock. Точно так же заполняем остальные слоты: текстурами песка (Sand), мокрой глины (Mud_wet) и так далее.
Когда все нужные материалы подобраны, переходим к “окрашиванию”. Тут будет только одно отличие по сравнению с тем, как мы делали это в прошлый раз.Проведя кистью по поверхности, вы не увидите никаких изменений. Чтобы на первой текстуре проявилась новая, нужно нажать кнопку Merge. Как только местность на карте будет раскрашена должным образом, можно приступать к следующему этапу работы.
Пополнение ресурсов
Чтобы довести карту до ума, нам придется оперировать различными объектами, которые по умолчанию недоступны. Изменим эту ситуацию. Заходим в меню Mod/ Mod Manager. В окне Mod Manager — Active Mod: название_ мода выбираем закладку Editor Content. Слева перечисляются типы ресурсов. Те, которыми позволено управлять, помечены темными квадратиками. Устанавливаем разрешающие флажки напротив каждой строчки и нажимаем кнопку Применить.
Теперь в нашем моде можно манипулировать всеми типами ресурсов. Но есть еще одна проблема — папка bf2 в окне Resources , которая должна служить источником объектов, практически пуста. Нажимаем на значок “ + ” под названием окна Resources (если задержать на нем курсор, то появится надпись Add ). Из всплывающего меню выбираем строчку Load Resource. В верхней части диалогового окна Load раскрываем список модов (изначально там указано название нашего мода). Выбираем в качестве источника для загрузки bf2. Как видите, здесь есть что загружать. Добавим, к примеру, в мод заготовки для укладки дорог. Эти объекты находятся в папке roads окна Load. Выделяем строку с “дорожной” папкой ЛКМ и жмем кнопку ОK. Загрузка требует некоторого времени. По окончании в окне ресурсов появится новая группа — objects/roads. Кроме дорожных объектов загрузим и все остальное: модели солдат ( soldiers и kits ), техники ( vehicles ), подвижных и неподвижных предметов ( dynamicobjects и staticobjects ), оружия ( Weapons ), ресурсы из папки common.
Флаги на башнях
Боевые действия в Battlefield 2 сводятся к захвату и удержанию контрольных точек, которые располагаются на важных стратегических объектах. Как минимум две из них представляют собой базы противников. Любой уровень BF2 должен содержать хотя бы 2 точки, за которые будут бороться игроки. Из раскрываемого списка в левой части инструментальной панели выбираем Level Editor. Перемещаем камеру туда, где будет размещаться первая база. Щелкаем в этом месте правой кнопкой мыши (далее ПКМ) и из всплывающего меню выбираем пункт Create ControlPoint. На экране появляется диалоговое окно, где в поле для ввода выделена надпись (#Players)_(Team)CP(Basename). Нужно полностью заменить эту строчку названием создаваемого опорного пункта. Нажимаем кнопку ОK , и на карте появляется белый трехмерный квадратик, из центра которого выступают три разноцветные оси координат. К примеру, пусть будут KOLOBKI_1. Точно так же обустраиваем позицию противной стороны (пусть их база будет называться, например, SLONIKI_2 ). Выделите контрольную точку противника (выбрав на панели инструментов иконку Select ). В окошке TweakerBar откройте вкладку Tweak и найдите параметр Team. Он обозначает номер команды, и по умолчанию там стоит 1. Для “Колобков” мы не изменяли эту цифру. Для “Слоников” поставим цифру 2, дадим знать редактору BF2Editor, что эта точка принадлежит другой команде.
Чтобы выделить любой контрольный пункт, можно щелкнуть на нем ЛКМ (в режиме Select ) либо обвести рамкой (зажав ЛКМ). А можно использовать в этих целях окно ресурсов (Resources), где в папке название_вашего_уровня/Gameplay/ControlPoints/Default найдете названия своих контрольных пунктов. Стоит щелкнуть по строчке с названием один раз ЛКМ, и нужный объект будет немедленно выделен. Если кликнуть два раза — объект не только будет выделен, но и камера в окне просмотра немедленно переместится к нему.
Выделяем одну из контрольных точек, перемещаемся к ней на карте. Не снимая выделения, открываем вкладку Tweak на панели TweakerBar. Внизу списка параметров находим строчку Flagpole (флагшток) и выделяем ее щелчком ЛКМ. Справа от названия, в поле значений этого параметра, пусто. Дважды щелкните в нем ЛКМ. На карте в центре выделенной контрольной точки появится мачта флагштока. В поле параметра Flagpole обозначилась строчка flagpole (иногда, чтобы ее увидеть, нужно выделить какой-нибудь другой параметр).
Следует отметить такой момент: для первой контрольной точки флаг уже установлен (страна выбирается случайным образом). Обычно как только вы устанавливаете флагшток, флаг немедленно поднимается. На второй же контрольной точке придется поднимать полотнище самому. Вешаем флаг. Перемещаемся в окно Resources. Открываем папку bf2/objects/common/flags , в которой находятся файлы с американскими, китайскими, арабскими и “нейтральными” знаменами. Пусть это будет американский флаг. Нужно раскрыть папку flag_us. В ней лежит одноименный файл. В режиме выделения объектов (нажать иконку Select на панели инструментов) перетаскиваем файл flag_us в окно сцены, зажав ЛКМ, где “кидаем” его на белый квадрат контрольной точки. После этой операции в окне ресурсов мода по адресу название_мода/название_уровня/Objects/Default/flag_us появился файл американского флага. Рядом в скобках указан его индивидуальный номер — к примеру, flag_us (730). Он нужен для того, чтобы не путать флаги одной и той же страны, если на карте их будет использовано несколько. Посмотрим на флагшток. Почти наверняка флага на нем нет. Опустите камеру возле флагштока ниже уровня поверхности — американский прапор находится там. Чтобы принудительно поднять его на флагшток, можно сделать так:
— выделяем контрольную точку и открываем вкладку Tweak на панели TweakerBar ;
— открываем группу параметров AbsolutePosition и копируем значения координат X, Y, Z в “Блокнот” (фактически, это координаты нижней точки флагштока);
— в окне ресурсов своего мода выделяем строчку с наименованием флага и возвращаемся к вкладке Tweak (там теперь указаны параметры флага);
— заменяем значения координат AbsolutePosition на сохраненные раньше (при этом можно наблюдать, как изменяется положение флага на сцене), полотнище должно оказаться точно под флагштоком;
— а теперь увеличиваем значение координаты Y примерно до 21 (флаг поднимется к макушке шеста).
Танки, карта, два столба
Теперь добавим пункты “приема пополнения” для каждой команды. Неподалеку от любой контрольной точки щелкаем правой кнопкой мыши (далее ПКМ) и в контекстном меню находим строчку Create SpawnPoint [название_ближайшей_базы]. Тут же в диалоговом окне Create New SpawnPoint нам предложат обозначить пункт пополнения уникальным именем. Причем предлагается связать его с названием базы (к примеру, SLONIKI_2_1 ) по порядку номеров, которые указываются в конце. Оставляем его без изменений (но — можете называть как угодно, только не оставляйте пробелов между словами).
Обратите внимание на маленькую зеленую черточку, которая выступает из стенки прямоугольника, условно обозначающего в редакторе точку “возрождения”. Она указывает направление, куда будет повернут лицом появившийся на поле боец (по умолчанию все будут смотреть на ближайшую базу). Чтобы поменять положение, нужно выделить зеленый кубик SpawnPoint , выбрать на панели инструментов иконку Rotate , подцепить мышкой одно из концентрических колец вокруг точки (они окрашены в цвета пространственных осей X, Y, Z) и, зажав ЛКМ, разворачивать объект в нужную сторону. Похожим образом устанавливаем “пункты приема техники”. Щелкаем ПКМ неподалеку от базы и выделяем в появившемся меню строчку Create ObjectSpawner [название_ближайшей_базы]. В диалоговом окне Select Vehicle Type выбираем тип бронемашины (к примеру, CH_US_HeavyTank — [TNK_TYPE98/USTNK_M1A2] ). Аналогично вооружаем и сторону условного противника.
Декорации выстраиваем, перетаскивая подходящие статические объекты из окна Resources. К примеру, китайские постройки проживают по адресу bf2/objects/staticobjects/_asia.
В завершение откроем свойства уровня (кнопкой Level Settings на панели Editor , справа). Окно свойств поделено на две части. В первой — все, что относится к первой команде. Другая часть содержит сведения о второй. Проверяем принадлежность армий. Они должны соответствовать установленным флагам. Закрываем окно кнопкой ОК.
Внимание: Если вы перед этим закрывали редактор, то поля Kit окажутся пустыми! При попытке закрыть окно свойств появится окно предупреждения о проблеме. Просто заново загрузите в окно ресурсов bf2, как было описано ранее, папки Soldiers и Kits. Вновь вызывайте окно свойств уровня. Теперь оно не должно содержать пустых строчек.
Сохраняем все изменения (пиктограммой Save All на панели инструментов). Выбираем в меню пункт Mod/Package MOD , жмем кнопку ОК , не меняя установок по умолчанию, и по окончании упаковки мода закрываем редактор BF2Editor. Запускаем игру. Выбираем Multiplayer/Create Local , находим свою карту в списке доступных. Выбираем уровень с минимальным числом игроков (к названию нашей карты добавлено _16 ). Все, можете оценить проделанную работу.
* * *
Вы, наверное, заметили, что при загрузке уровня отсутствует картинка карты и текст описания. Все это мы исправим в следующий раз, а кроме того, научимся делать и устанавливать в игру собственноручно изготовленные объекты.