Автор: Uksus

Опубликовано: 30.12.2009

Изменено: 30.12.2009

Постоянная ссылка

Комментарии [0]

Маппинг в Battlefield 2 для начинающих


Урок по созданию несложной карты для "Battlefield 2" для начинающих, а также знакомство с работой в инструментах и различными методами применяемыми сейчас в маппинге.


Содержание

Введение
Этап 1. Подготовка карты
Этап 2. Подготовка ландшафта
Этап 3. Редактирование ландшафта
Этап 4. Небо и туман
Этап 5. Контрольные точки (флаги), места респаунов и техника
Этап 6. Добавляем воду
Этап 7. Размещение объектов
Этап 8. Лайтмаппинг
Этап 9. Запаковка карты и её запуск

Введение

Данный туториал рассчитан на мапперов-новичков. В течение урока мы создадим несложную карту, и попутно ознакомимся с работой в инструментах и различными методами применяемыми сейчас в маппинге под "Battlefield 2".

Инструментарий, который мы будем использовать:
- Battlefield 2
- BF2 Editor
- BF2 Lightmap Samples
- L3DT Heightmap Generator
- BF2 Terrain Painter (Tpaint)
- BF2 Pack

Все эти инструменты можно найти здесь.

Этап 1. Подготовка карты

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

Battlefield 2 Editor

В верхнем левом углу, в выпадающем списке выбираем "Terrain Editor".

Battlefield 2 Editor

Жмем File -> New

Появиться окно настроек новой карты. Установим параметры, как показано на скрине (имя карты можно указать любое), далее жмем "Ок".

Battlefield 2 Editor

Здесь "Tutorial_Map" - название нашей тестовой карты.

Подождите, пока редактор создаст новую карту.

Battlefield 2 Editor

Закройте BF2 Editor, поскольку ландшафт мы будем делать с помощью сторонних программ.

Этап 2. Подготовка ландшафта

Ландшафт можно конечно сделать и в редакторе BF2 Editor, но этот процесс там довольно сложный. Куда быстрее, проще и надежнее использовать программы для терраморфинга.

Воспользуемся программой L3DT.

Откроем её и создадим новую карту нажатием кнопки "New Map".

В появившемся окне со списком выбираем пункт "Design Inflate".

Battlefield 2 - L3DT

Размер указываем 512, такой же какой был в редакторе BF2 Editor.

Battlefield 2 - L3DT

Далее появиться окно, с параметрами терраформинга:

Battlefield 2 - L3DT

Battlefield 2 - L3DT

Ставим нужные значения и жмем "ОК". Далее увидим заготовку, что-то вроде этого:

Battlefield 2 - L3DT

Жмем "Next" и ждем пока сгенерируется ландшафт.

Теперь экспортируем ландшафт, чтобы его можно было использовать в движке BF2:

Battlefield 2 - L3DT

Укажем параметры экспорта как на скриншоте ниже (путь для экспорта можно указать любой).

Запомните!
Размер при экспорте обязательно нужно указывать на 1 пиксель больше,
чем размер самой карты (если карта 512x512, то следует указать 513х513).

Battlefield 2 - L3DT

После экспорта программа L3DT больше не понадобится, закрываем её.

Копируем экспортированный ландшафт в каталог с ранее созданной картой в редакторе BF2 Editor:
..путь_к_БФ2..\mods\bf2\levels\Tutorial_Map.

На вопрос "Заменить файл?" отвечаем "Да".

Этап 3. Редактирование ландшафта

Для редактирования ландшафта воспользуемся маленькой да удаленькой программкой BF2 Tpaint:
* Копируем папку с ней в каталог карты
* Заходим в эту папку и запускаем bf2_tPaint.exe
* Выбираем всё кроме "paint surrounding terrain" и жмём "go"
* Появятся две новые папки - "Colourmaps" и "Detailmaps"

Копируем обе в папку Editor в каталог карты (\mods\bf2\Levels\Tutorial_Map\Editor)

Доводку выполним в редакторе BF2 Editor. Загружаем его и нашу карту.
Переключаемся в режим "Terrain Editor", жмем кнопку "Texture":

Battlefield 2 Editor

Слои:
Layer 1 = Возвышенности/горки. (сюда вставляем текстуры скал)
Layer 2 = Верхушки гор
Layer 3 = Низины, подножья гор

Выделяем Layer 1.

Battlefield 2 Editor

Ниже, в окне TweakBar выбираем какую-нибудь скалистую текстуру и ставим желаемые настройки.

Внимание!
Обязательно поменяйте "LowDetailType" на "2" для этого слоя.
Также поменяйте параметр "PlaneMap" на "1".

Battlefield 2 Editor

Для слоя "Layer 2" выбираем текстуру для верхушек гор (например - траву).
Параметр "LowDetailType" на этот раз ставим в "1".

Battlefield 2 Editor

В слое "Layer 3" выбираем текстуру, которая будет для подножья гор и равнин (например песок).
Параметр "LowDetailType" также ставим в "1".

Остальные слои (Layers 4,5,6) можно использовать для любых других текстур, которые вы можете нанести вручную. Если при рисовании вы столкнетесь с "блочностью" текстур, попробуйте сменить "Colour tiling" на 0/0. Если хотите сделать лужу, выбирайте текстуру с "Env_map" (в названии таких текстур присутсвует "env" или "__env") . Затем включите параметр EnvMap на панели TweakBar.

Учтите, что лужи будут отражать окружение только в игре, но не в редакторе.

Идём дальше:
* Выбираем слой "Layer 1"
* Справа жмем "Set Low Detail Texture"
* Выбираем "defaultlowdetail", жмем "Ок"
* Жмем "Generate Low Detailmap"
* Проделываем тоже самое со слоями 2 и 3 (а также со слоями 4,5,6 при необходимости)

Battlefield 2 Editor

Затем, в верхнем меню: Render -> Detail Texture Mode

Battlefield 2 Editor

Смотрится шикарно! :-)
Раньше на подобный результат ручной работы уходили дни, а то и недели.

Самое время сохранить карту!

Жмём меню File -> Save.

Убедитесь, что в появившемся окне галочки стоят напротив:
* Color Texture
* Compiled Detail and Color Textures
* Compiled Terrain
* Detail Terrain
* Ground Properties
* Terrain

Если всё правильно, то жмём "Ок".

Этап 4. Небо и туман

Делаем следующее:
* На панели TweakBar выбираем закладку с названием вашей карты
* Ниже ищем свиток Lightsettings и открываем его
* Ищем поле "Sky Texture", кликаем, выбираем небо
* В списке выше, в поле "Fog Color" установим желаемый RGB цвет тумана

Способ подстроить цвет тумана под цвет горизонта неба - делаем скриншот в редакторе "BF2 Editor",
затем в программе Photoshop пипеткой берем цвет горизонта и смотрим его RGB составляющие.

Далее:
* В редакторе, повернем камеру к небу, по направлению к солнцу
* Наверху жмем Light -> Set sun (flare) direction -> Set sun direction to camera
* Сохраняем карту

Этап 5. Контрольные точки (флаги), места респаунов и техника

Создаем контрольные точки:

  • Переключимся в режим "Level Editor" (вверху слева).
  • В месте, где хотим поставить контрольную точку нажимаем правую кнопку мыши, далее выбираем "Create ControlPoint" - который например назовём USMAIN. Жмем "Ок".
  • На панели "TweakBar" слева меняем параметр "Team" на 2, затем поставим галочку напротив "UnableToChangeTeam" – точка станет не захватываемой.
  • Таким же образом создаём еще одну точку, назовем ее MECMAIN. Здесь устанавливаем параметр "Team" в 1.
  • Справа в "Editor Bar" жмем "Level Settings".
  • В появившемся окне под "Team 1" указываем MEC. Под "Flag" сменим имя на flag_MEC.
  • Сохраняем карту.

Создаем респауны пехоты и техники:

  • Где-нибудь возле точки USMAIN нажимаем правую кнопку мыши, далее "Create Spawnpoint[USMAIN]".
  • Появиться окно с просьбой обозвать респ. Обзываем и жмем "ОК". Респ пехоты на USMAIN готов.
  • Опять же возле USMAIN жмем правую кнопку мыши, далее "Create Objectspawner[USMAIN]".
  • Всплывет окошко, ищем там интересующую ME_US технику.
  • Появится еще одно окно с просьбой обозвать респ, жмем "ОК".
  • Проделываем всё то же возле точки MECMAIN.
  • Сохраняем карту.

Теперь у нас есть два флага с респом пехоты и техники.

Примечание!
Если машины в редакторе отображаться не будут – не беда, в игре всё будет работать. Но если все же очень нужно, то в окне "Resources" справа нажмите "+" и далее "Load Resource". Появится окно со списком ресурсов мода. В папке "Vehicles" загрузите необходимую технику, или просто папку Vehicles полностью.

Battlefield 2 Editor

Battlefield 2 Editor

Этап 6. Добавляем воду

На панели "TweakBar" выбираем закладку с названием нашей карты, и открываем свиток "Water Settings". По умолчанию уровень воды установлен на -10000. Поменяйте его например на 50.

В редакторе станет явно виден уровень воды:

Battlefield 2 Editor

В том же свитке поиграйте с параметрами воды. Если не можете подобрать желаемый результат, то можете взять уже готовые решения из карт Battlefield2, например вот здесь:
\mods\bf2\Levels\Dalian_plant\server.zip
Найдите в архиве файл water.con, извлеките его и скопируйте в каталог с вашей картой.
Уберите с файла атрибут "только для чтения" чтобы его можно было изменять.

Чтобы вода отражала окружение, добавим envmap:

  • В окне "Resource" открываем Editor/content/objects/common.
  • Там лежит DefaultEnvMap, хватаем его и перетаскиваем на карту (убедитесь что редактор находится в режиме "Level Editor", а то неперетащится).
  • Выделяем его и двигаем вверх (или указываем координату вручную На панели "TweakBar") чтобы он был примерно на высоте 200.
  • Сохраняем карту.

Этап 7. Размещение объектов

Для размещения объектов на карте, их сначала необходимо подгрузить в редактор уже знакомым нам способом - нажать "+" в окне "Resource". Там выбираем папку "StaticObjects".

В окне ресурсов найдем вот этот обьект:
BF2/objects/staticobjects/middle-east/city/village_buildings/fishing_hut_pole
Это рыбацкая будка. Перетащим ее на карту.

Расположена она, скорее всего, будет выше, чем нам нужно. Выделяем ее и двигаем в нужном направлении при помощи стрелок вокруг объекта.

Сохраняем карту.

Этап 8. Лайтмаппинг (Lightmapping)

Лайтмаппинг - это процесс просчета освещения для вашей карты. При этом очень ресурсоемкий. При установках "final" может занять дни, всё зависит от размера карты и количества объектов.

Нам лишь нужно посмотреть как карта будет выглядеть с тенями и отражениями, поэтому мы сделаем более упрощенный лайтмаппинг, просчет которого займет минут этак 7-15, в зависимости от мощности компьютера.

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

Для просчета понадобятся сэмплы для лайтмаппинга (700мб). Руководство по их установке можно найти в Readme файле.

  • На панели "TweakBar" выбираем закладку с названием нашей карты.
  • Ищем свиток "Lightmap settings" и открываем. Убедитесь, что параметр "Number GILights" стоит от 4-8, иначе тени будут слишком темные.
  • Вверху редактора нажимаем Compile/Lightmaps/Generate Lightmaps
  • В появившемся окне окне установим параметры как на скрине ниже

Battlefield 2 Editor

  • Кликаем по кнопочке "Generate"... и идем пить чай :)
  • По окончании появиться окно с вопросом "Хотим ли мы проверить лайтмапы". Жмем "Yes".
  • Теперь сгенерируем карты envmap: Compile -> Envmaps -> Generate envmaps
  • Лезем в папку: \mods\bf2\Levels\Tutorial_Map\Envmaps
    Выделяем файл EnvMap0.dds, нажимаем Ctrl + C (скопировать в буфер).
  • Теперь в каталоге с нашей картой: \mods\bf2\Levels\Tutorial_Map
    создаем папку Water, заходим в неё и нажимаем Ctrl + V (вставить из буфера).
  • Убираем "0" из названия файла (будет EnvMap.dds).
  • В редакторе жмем Compile -> compile/make ground hemi, а во всплывающем окне жмем "Ок".

Этап 9. Запаковка карты и её запуск

Вверху редактора нажимаем: Mod -> Package Mod

Убедитесь, что выбран только пункт "Package this level: Tutorial Map" и жмите "Ok".

А теперь, запускайте "Battlefield 2", жмите "Create Local", выбирайте вашу карту и наслаждайтесь плодами своего творчества!

Battlefield 2 mapping


 

Опубликовано с разрешения автора перевода.
Оригинал русской адаптированной статьи находится на сайте http://bf2-dev.ucoz.ru.

Оригинальная англо-язычная статья расположена здесь.