+38 (093)  990-30-70

Новости

Королевский бал у Вас дома

Створення рівнів для 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. Корисна площа сцени значно збільшиться, і працювати стане зручніше. Внизу знаходиться вікно виведення повідомлень редактора, в якому відображається хід виконання різних завдань. Особливу увагу варто звертати на повідомлення червоного кольору - вони говорять про помилки.

Особливу увагу варто звертати на повідомлення червоного кольору - вони говорять про помилки

Мал. 1. BF2Editor складний, але коштує витрачених на нього зусиль.

Розібравшись з інтерфейсом, можна переходити до виготовлення нової картки. Але ось невдача - в 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 має стандартний набір для терраформинга. Але перш ніж ви займетеся горотворенням, бажано замінити базову "шахову" текстуру на ту, яка реально означатиме грунт на вашій картці. Зробити це зараз має сенс з кількох причин. По-перше, операція накладення текстур дуже ресурсномістких. Навіть на потужних машинах результат застосування кисті з'являється на відображається сцені з деякою затримкою. Поки карта плоска, загальний обсяг фарбується (а значить, і витраченого на роботу часу) буде менше, а кінцевий ефект один і той же. По-друге, ви нізащо не пропустіть неокрашенного ділянки (серед гір і долин така ймовірність завжди існує).

По-друге, ви нізащо не пропустіть неокрашенного ділянки (серед гір і долин така ймовірність завжди існує)

Мал. 2. Основну текстуру краще накладати на плоску карту.

На панелі інструментів включите режим 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.

Камера рухається по сцені вперед, назад, вліво, вправо, як в більшості ігор, клавіатурними клавішами W, A, S, D

Рис.3. Результати застосування різних інструментів терраформинга.

Перейдіть на панель 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).

Мал. 4. Вплив рівня моря на кількість води на вашому рівні.

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

Переміщаючи камеру, поверніть сцену до ізометричному увазі. Перемкніть режим відображення сцени в меню Render на Grid Mode. Працювати з полігональної сіткою буде значно зручніше і швидше. У вікні TweakerBar активізуйте вкладку з назвою вашого рівня. Двічі клацнувши по рядку LevelSettings, розкрийте список параметрів. Зверніть увагу на значення, яке стоїть навпроти TerrainHeight. Це максимальна висота гір на вашій картці. Поставте, наприклад, 200.

Поставте, наприклад, 200

Мал. 5. Кінцевий результат - двохсотметровий гори.

На панелі інструментів виберіть інструмент 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), необхідно поміняти деякі установки. Поставте в поле Count - 1, Depth - 16 Bits, Byte Order - IBM PC.

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

- Збережіть картинку, створену генератором, в форматі 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 буде опублікована в одному з найближчих номерів журналу), коли ми будемо говорити про установку об'єктів, геометрія вашої карти була виконана на гідному рівні.