21 декабря 2005
Обновлено 17.05.2023

Создание уровней для Battlefield 2, часть 1

Создание уровней для Battlefield 2, часть 1 - изображение обложка

Battlefield 2 — несомненный хит, но есть в нем один недостаток: в одиночной игре маловато уровней для истинных джентльменов удачи. Карты очень быстро приедаются. Но этому горю легко помочь. С помощью редактора BF2Editor мы научимся создавать собственные уровни, где баталии разгорятся с новой силой.

Первое знакомство

Редактор для Battlefield 2 можно скачать по адресу http://ftp.games.skynet.be/pub/www.gamershell.com/patch/bf2_editorsetup_aug02.zip (или взять с нашего DVD ). Он устанавливается в папку с игрой и запускается файлом BF2Editor.exe. В начале загрузки на экран выводится диалоговое окно Select Startup , где необходимо указать, что вы будете делать — собственный мод (строчка Create New MOD ) или видоизменять оригинальные уровни (строчка bf2 ). На самом деле выбора пока нет. Чтобы работать с оригинальными игровыми картами, нужно проделать несколько дополнительных операций, о которых чуть позже.

Для начала выбираете Create New MOD. Вам предложат назвать свой мод. Правило здесь одно — в названии нельзя использовать пробелы между словами. Допустим, имя мода Xa Ba не подходит, а вот Xa_Ba (с нижним подчеркиванием вместо пробела) устроит редактор по всем статьям. Русские буквы лучше не применять. Назовите мод, к примеру, My_Level_01.

Внешне редактор производит очень приятное впечатление. Панели, иконки — все сделано на самом высоком уровне. К тому же можно менять множество параметров интерфейса, в том числе подобрать собственную цветовую гамму. Зайдите в меню Tools/Options и откройте группу Environment. Вы получите доступ к цветовой схеме интерфейса редактора. Слева в таблице — название элемента, справа показан текущий цвет. Щелчок левой кнопкой мыши (далее ЛКМ) по любому образцу выведет на экран стандартное окно изменения цвета. Попробуйте, к примеру, поменять окраску элемента FaceColor. Внешний вид программы станет совсем другим.

Впрочем, внешний вид — дело десятое. Гораздо важнее функциональность, которую в BF2Editor обеспечивает сразу несколько мини-редакторов. Они используются в основной программе как встроенные плагины. К ним относятся: редактор уровней ( LevelEditor ), материалов ( MaterialEditor ), объектов ( ObjectEditor ), поверхности ( TerrainEditor ) и ряд других менее важных. Большинство из них выбираются из раскрываемого списка в левой части панели инструментов. По умолчанию загружается ObjectEditor. Этот порядок можно изменить в меню Tools/Add-in Manager. Для этого нужно напротив строчки Startup Editor (в самом низу) выбрать нужный редактор из списка. Поскольку мы сегодня будем работать в основном с поверхностью, поставьте на загрузку при старте TerrainEditor.

Вернемся к основному редактору. В центре загружается обрабатываемая сцена. Слева расположено окно используемых ресурсов ( Resources ). Рядом с ним — панель TweakerBar (из нее осуществляется доступ к основным параметрам текущей сцены). Справа обосновалась панель Editor (в ней сосредоточено управление загруженным в данный момент плагином). Расположение этих панелей (за исключением окна сцены) можно изменять. Советую сразу захватить мышкой TweakerBar и перетащить в окно Resources. Полезная площадь сцены значительно увеличится, и работать станет удобнее. Внизу находится окно вывода сообщений редактора, в котором отображается ход выполнения различных задач. Особое внимание стоит обращать на сообщения красного цвета — они говорят об ошибках.

Земля была плоской

Разобравшись с интерфейсом, можно переходить к изготовлению новой карты. Но вот незадача — в BF2Editor заготовка для поверхности карты автоматически не загружается. Процесс требует непосредственного участия творца. Подключите, если еще этого не сделали, TerrainEditor (из списка в левой части панели инструментов). Щелкните ЛКМ на пиктограмме New (рядом со списком загружаемых плагинов) или используйте пункт меню File/New. В окне Create new terrain надо ввести имя новой карты (по тем же правилам, что и название мода), указать размер квадрата (Size: 256, 512, 1024), масштаб (Scale: один к одному, х2, х4), рабочую высоту и размер окружающих карту декоративных ландшафтных карт.

Для начала выставляем Size 256 , Scale 2. Размер карты ( Size ) очень важен и потребуется в дальнейшем — запомните его! Я назвал карту mania_BF2_map_01. Остальные параметры оставьте без изменений. Через некоторое время (зависит от мощности вашего процессора и количества оперативной памяти) в центральном окне появится залитое солнцем шахматное поле на фоне яркого голубого неба. Это и есть сгенерированная BF2Editor поверхность. В ней все хорошо, кроме одного — она совершенно плоская. TerrainEditor имеет стандартный набор для терраформинга. Но прежде чем вы займетесь горообразованием, желательно заменить базовую “шахматную” текстуру на ту, которая реально будет обозначать грунт на вашей карте. Сделать это сейчас имеет смысл по нескольким причинам. Во-первых, операция наложения текстур очень ресурсоемка. Даже на мощных машинах результат применения кисти появляется на отображаемой сцене с некоторой задержкой. Пока карта плоская, общий объем окрашиваемой поверхности (а значит, и потраченного на работу времени) будет меньше, а конечный эффект один и тот же. Во-вторых, вы ни за что не пропустите неокрашенного участка (среди гор и долин такая вероятность всегда существует).

Возьмите в руки карандаш

На панели инструментов включите режим Texture (щелкнув ЛКМ на одноименной иконке). При этом изменится содержание всех дополнительных панелей. В окне Resources откройте группу Ground Properties (двойной щелчок ЛКМ на названии). В ней находится папка Layers с шестью файлами. Выделите Layer_1. Это вовсе не игровые уровни, а доступные типы фоновых текстур, которые можно применить на карте. В окне TweakerBar активизируйте вкладку Tweak. Раскройте список Default , найдите в нем строку ColorTexture. В окне два столбца: в первом — название параметра, во втором — его значение. Напротив ColorTexture — пустая строка, щелкните по ней ЛКМ, и на экране появится окно с образцами текстур. Выбирайте любую. Я остановился на waterbasin.

Точно так же определяете параметр DetailTexture (находится строчкой выше). Эта текстура будет смешиваться с предыдущей и проступать сквозь нее, придавая общей картинке тот законченный вид, который видит под ногами игрок. Выберите подходящую, на ваш взгляд, текстуру (к примеру, detail_grass09 ). На боковой панели Editor , в группе Texture под номером 1 будет показан образец отобранной текстуры и ее название. Выделите параметр Material , кликните в пустом поле справа от названия, установите из предложенного списка заданный тип поверхности. От вашего выбора зависят дополнительные эффекты, возникающие при прохождении по местности (звуки, скольжение техники). Пусть будет, к примеру, Grass_tall (покрытие с высокой травой). Откройте меню Render и установите режим Detail Texture Mode (необходим для прорисовки текстур). Там же сбросьте флажок напротив пункта Toggle Draw Fog (туман будет только мешать). В меню Camera отметьте Top-Down Mode (вид сверху). Камера двигается по сцене вперед, назад, влево, вправо, как в большинстве игр, клавиатурными клавишами W , A , S , D.

Перейдите на панель Editor. В верхней части панели отображается название выбранного в данный момент инструмента ( Texture). В группе General установите максимально возможный размер кисти (50), двигая мышкой ползунок Brush size до конца влево. Аналогично измените положение регулятора эффективности применяемой кисти, Brush strength , до максимума (100). Чуть ниже, в группе Texture , выделите заказанную текстуру. Она должна быть обозначена номером 1. Еще ниже, в группе Paint Mode , нажмите кнопки Both и Texture (тем самым вы устанавливаете одновременное применение заказанных текстур обоих типов).

Кисть готова к применению. Наведите курсор в любую точку сцены, нажмите ЛКМ и, двигая мышкой, закрашивайте видимый участок карты. Если нажимать правую кнопку мыши (далее ПКМ), кисть стирает окрашенный участок. Вероятно, вы уже заметили, насколько неудобно использовать в этом режиме клавиатурную комбинацию WASD для перемещения по сцене. К счастью, в группе Minimap панели Editor есть две альтернативы:

— Если нажать кнопку Paint, на экран выводится небольшое окошко Navigator Tool. Щелкая по нему ЛКМ, можно быстро попасть в любую точку карты. Еще удобнее зажать ЛКМ и двигать курсор по окошку. Вслед за ним перемещается камера по сцене.

— Если нажать кнопку Show , на рабочем поле сцены появится мини-карта уровня, по которой тоже можно перемещаться, используя ЛКМ. После запуска мини-карты надпись на кнопке изменяется на Hide. Чтобы скрыть окошко, необходимо нажать на кнопку еще раз.

Преимущество окна навигации Navigator Tool в том, что его можно перетащить в любую точку экрана, где оно не заслоняет сцену. Зато мини-карта выводится в цвете, что при наложении текстур может быть важным. Правда, она автоматически не обновляется. Чтобы закрашенная область появилась на мини-карте, нужно нажать кнопку Reload (находится в той же группе Minimap ).

Идут вершины одна за одной

Займемся горообразованием. Переключите режим камеры в меню Camera на Normal Mode (или нажмите Ctrl+F5 ). Поскольку вид сцены при этом не меняется (все еще показан вид сверху), можно подумать, будто ничего не произошло. На самом деле камера теперь может перемещаться во всех плоскостях. Зажмите среднюю кнопку мыши (далее СКМ) и подвигайте манипулятор вперед-назад — карта будет вращаться. Общее направление движения задается комбинацией WASD, а корректируется мышкой с нажатой СКМ. Кроме того, камера двигается вверх клавишей Z , вниз — клавишей Ctrl.

Перемещая камеру, верните сцену к изометрическому виду. Переключите режим отображения сцены в меню Render на Grid Mode. Работать с полигональной сеткой будет значительно удобнее и быстрее. В окне TweakerBar активизируйте вкладку с названием вашего уровня. Дважды щелкнув по строчке LevelSettings , раскройте список параметров. Обратите внимание на значение, которое стоит напротив TerrainHeight. Это максимальная высота гор на вашей карте. Поставьте, к примеру, 200.

На панели инструментов выберите инструмент Modify , а на панели Editor нажмите кнопки Raise и Lower. Тем самым вы разрешите использовать при терраформинге кнопки мыши. Переместите курсор на карту. При нажатии ЛКМ участок под курсором вздувается, образуя холм. Чем дольше вы будете держать зажатой ЛКМ, тем выше получится гора. Достигнув предела, который вы установили в параметре TerrainHeight , вершина горы “расплющится”. Кстати, изменение этого параметра уже после формирования ландшафта оказывает глобальное изменение на всю поверхность (либо все уменьшится, если значение параметра стало меньше, либо увеличится). Если же нажимать ПКМ, на поверхности сформируется углубление.

Размер кисти и ее эффективность устанавливается точно так же, как при закрашивании карты в режиме Texture. Попробуйте и остальные инструменты формирования ландшафта ( Smooth , Level , Platform , Random Tool ). Их использование не должно вызывать затруднений. Когда ваша карта окончательно перестанет быть плоской, настанет время познакомиться с еще одним параметром. Вернитесь к окошку TweakerBar , активизируйте вкладку с названием своего уровня и раскройте группу WaterSettings. В строке SeaWaterLevel задано значение уровня моря (по умолчанию отрицательное -10000). Измените его на -10 и нажмите клавишу Enter. Отведите камеру подальше от карты — так, чтобы хорошо был виден ее край. Чуть ниже вы увидите черную плоскость. Это и есть уровень моря. Цвет “воды” изменяется в параметре WaterColor , достаточно щелкнуть ЛКМ на черном квадратике справа от него. Поднимите уровень так, чтобы вода “заливала” углубления карты (увеличивая значение параметра WaterSettings ), — появятся водоемы.

По завершению работы сохраните изменения, выбрав пункт меню File/Save All (или нажав одноименную пиктограмму на панели инструментов). У вас несколько раз попросят подтверждения. Соглашайтесь на все и закрывайте BF2Editor.

Чтобы снова вернуться к работе над уровнем, запустите BF2Editor/TerrainEditor и выберите свой мод. Нажмите пиктограмму Load на панели инструментов. В диалоговом окне найдите и активизируйте свою карту.

Цитата

Вы, наверное, заметили, что редактор BF2, мягко говоря, не самый удобный по части ландшафтного дизайна. Имеющиеся средства терраформинга нацелены не на создание карты с нуля, а для доработки имеющихся заготовок. Их изготовлением мы сейчас и займемся. Вам потребуется генератор ландшафта. К примеру, можно скачать программу Terragen по адресу www.planetside.ws/terragen/downloads/halcyon33/tginstall0943.msi (или взять ее с нашего DVD ). С ее помощью мы получим карту высот, которую затем импортируем в BF2Editor. К тому же у вас должен быть установлен Photoshop (желательно версии CS). Если будете пользоваться Terragen , то порядок действий следующий.

1. Запустите программу.

2. В окне Landscape установите размер карты кнопкой Size. Это важный момент! Как вы помните, в начальных установках уровня в BF2Editor мы задали размер, Size , равным 256. Карты высот должны быть на единицу больше этого размера. То есть в этом диалоге вы должны выбрать 257. После этого нажмите кнопку Generate Terrain. Вам предложат настроить свойства поверхности в диалоговом окне Terrain Genesis. Можете оставить установки по умолчанию. В этом же диалоге нажмите одноименную кнопку Generate Terrain. При этом в окнах Landscape и Rendering Control будет показана образованная поверхность (вид сверху в серых тонах). При желании можете посмотреть, как будет выглядеть эта карта: нажмите кнопку Render Preview в окне Rendering Control. Если результат не устраивает, сгенерируйте новый ландшафт.

3. Подходящую карту сохраните кнопкой Export в окне Landscape. Из списка Export Metod выберите RAW 8 bits. Сохраните файл, нажав Select File and Save.

Закройте Terragen и откройте сохраненный файл в Photoshop. Вам предложат изменить настройки — оставьте все как есть. Только обязательно проверьте, чтобы разрешение картинки соответствовало вашей карте (было 256, значит — картинка 257х257). Теперь откройте папку со своим уровнем. Она должна лежать по адресу …\BF2\mods\название_вашего_мода\Levels\название_вашего_уровня. Загрузите в Photoshop файл HeightmapPrimary.raw. Это карта высот вашего уровня.

Внимание: при открытии этого файла, помимо проверки ширины и высоты (257х257), необходимо поменять некоторые установки. Поставьте в поле Count1 , Depth16 Bits , Byte OrderIBM PC.

Далее все просто.

— Cохраните картинку, созданную генератором, в формате JPG (меню File/Save for Web ) и откройте ее в Photoshop. Может возникнуть вопрос, зачем мы использовали JPG, если генератор сразу способен сохранить карту в формате RAW? Дело в том, что при замене оригинальной карты высот полученной картинкой происходят странные вещи и чаще всего карта отказывается работать.

— Примените к ней фильтр Gaussian Blur (меню Filter/Blur ). Достаточно размытия радиусом в 2 пикселя. Это нужно, чтобы “пригладить” поверхность на карте.

— Зайдите в меню Image/Mode и поставьте флажки напротив пунктов Grayscale и 16 Bits/Channel.

— В окне Layers подцепите мышкой уровень вашей картинки (поскольку других нет, он называется Background ) и перетащите его на открытый рисунок вашей карты — HeightmapPrimary.raw. Поправьте его так, чтобы рисунок сгенерированной карты полностью занимал окно. Удалите старое изображение.

— Сохраните измененный файл HeightmapPrimary.raw. При этом в окне Save as в списке Format выберите Photoshop Raw (*.RAW) и не изменяйте название файла. На все последующие вопросы отвечайте OK.

После загрузки карты в BF2Editor вы увидите практически готовый к использованию ландшафт.

* * *

В завершение разговора рассмотрим, как загружать в редактор карты разработчиков. Они располагаются по адресу …\BF2\mods\bf2\Levels. Откройте папку с любым уровнем, например — FuShe_Pass. В ней находится 2 архива: client.zip , server.zip. Распакуйте оба в эту же папку. При запуске BF2Editor выберите bf2 и включите TerrainEditor. Нажмите иконку Load и в списке уровней выделите FuShe_Pass. Теперь можно видоизменять оригинальную карту. И постарайтесь, чтобы к следующему разу (вторая статья по редактору BF2 будет опубликована в одном из ближайших номеров журнала ), когда мы будем говорить про установку объектов, геометрия вашей карты была выполнена на достойном уровне.

Комментарии
Чтобы оставить комментарий, Войдите или Зарегистрируйтесь