Ігроманія - Ігробуд...
 
Сповіщення
Очистити все

Ігроманія - Ігробуд. Рівні для STALKER, частина 2


Ранг:
Майстер
Роль:
Гість
Записи:
752
Приєднався:
7 місяців тому
 

У попередній статті з модифікації STALKER ми вивчили інтерфейс та познайомилися з основними принципами роботи в редакторі рівнів, а також зробили нескладну карту на основі стандартних об'єктів та протестували її у грі. Сьогодні ми рушимо далі - навчимося виготовляти нові локації для "Сталкера" з нуля, використовуючи 3DS Max .

Зміст
1 На старті
2 Вимоги до моделей
3 Експорт та імпорт
4 * * *
5 Автори
На старті
Щоб зробити новий рівень для "Сталкера" за допомогою 3DS Max, нам знадобиться спеціальний плагін STALKER 3DS Max Exporter (Plugin for 3D Studio Max 1.1) , він служить для експорту геометрії у формат гри. Щоб встановити його, скопіюйте весь вміст папки \plugin з директорії з розпакованим експортером у кореневий каталог встановленого 3DS Max (плагін працює з 3DS Max 6, 7 та 8).

Перед тим як експортувати модель з «Максу» у формат .object, необхідно переконатися, що вона задовольняє всім вимогам движка X-Ray :

Конвертер встановлений і, начебто, готовий до роботи. Однак якщо ви спробуєте запустити "Макс", то при завантаженні побачите два повідомлення про помилки: неможливо завантажити плагін та спеціальний X-Ray шейдер. Щоб змусити працювати встановлені інструменти, необхідно виконати такі дії.

Скопіюйте файл xray_path.ltx з директорії \scripts_plugins із інструментарієм X-Ray SDK у кореневий каталог встановленого 3DS Max. Потім знову загляньте в папку \scripts_plugins офіційного SDK і запустіть файл createDiskX.bat , що виконується , для створення віртуального диска X: (це посилання на локальну директорію \level_editor встановленого інструментарію). Він необхідний для коректної роботи плагіна 3DS Max Exporter , а також ряду утиліт, що входять до складу SDK, наприклад компілятора рівнів.

Тепер нам необхідно створити віртуальний диск T , що посилається на директорію \level_editor\gamedata\textures встановленого SDK (для роботи з ігровими текстурами). Але невдача — розробники не вклали в комплект з інструментарієм bat-файл для автоматичного створення віртуального диска. Як знайти вихід із такої ситуації? Написати листа до служби технічної підтримки GSC ? Попросити допомоги у запеклих модмейкерів? Не варто, написати сценарій для автоматичної генерації диска T не так вже й складно.

Зайдіть в директорію \scripts_plugins , клацніть правою кнопкою мишки файл файлу createDiskX.bat і в контекстному меню виберіть пункт Змінити . Перед вами з'явиться вікно Блокнота, в яке буде підвантажено тіло файлу createDiskX.bat - це сценарій для створення віртуального диска. Відшукайте за текстом літеру X і замініть її великою літерою T (у першому та другому рядках). У другому рядку після словосполучення level_editor додайте текст \gamedata\textures , наприклад:

C:\WINDOWS\system32\subst.exe" X: "E:\Games\GSC World Publishing\X-Ray SDK\level_editor

Після цього збережіть файл на жорсткому диску під будь-якою назвою - скажімо generate_virt_cd_T з розширенням .bat . Запустіть його, зайдіть у папку Мій комп'ютер і переконайтеся, що в полі Жорсткі диски з'явилося два нових елементи - HDD (X): і HDD (T): .

Сформовані нами віртуальні диски X: та T: будуть автоматично знищені за фактом вимкнення/перезавантаження комп'ютера. А це означає, що для роботи з плагінами та деякими інструментами SDK після вимкнення/перезавантаження вам доведеться знову запустити програми для створення віртуальників.

Вимоги до моделей
Підготовчий етап завершено. Можна приступати до моделювання рівня 3DS Max. У цій статті ми не будемо торкатися теми створення тривимірних об'єктів в «Максі» (про це в «Ігробуді» вже було безліч статей), а поговоримо лише про основні вимоги, що пред'являються 3D-об'єктам двигуном X-Ray.

Імпорт текстур до редактора рівнів пройшов успішно.

1. Розміри моделей, створених у «Максі», мають відповідати реальним розмірам об'єкта. Скажімо, якщо будівля в реальному житті має габарити 60x12x8 метрів (вимірювання по довжині, ширині та висоті відповідно), то і в 3DS Max потрібно створювати його за тими самими розмірами (саме в метрах, а не сантиметрах, міліметрах або дюймах). Багато моделей при створенні об'єктів для ігор вважають за краще орієнтуватися виключно на розміри будь-яких персонажів, техніки, декорацій. На цей випадок девелопери з GSC Game World привели габарити так званої "обмежуючої коробки" або bounding box , в яку можна вписати головного героя "Сталкера". Bounding Box для персонажа на повне зростання має наступні габарити - 1.8х0.7х0.7 метрів; для присілого героя - 1.5х0.7х0.7 метрів; і для сидячого – 1.2х0.7х0.7 метрів.

2. При створенні об'єктів оточення необхідно використовувати якнайменше полігонів. Двигун X-Ray не здатний перетравити рівні, складені з понад 150 тис. трикутників. Це означає, що якщо ви, наприклад, сформували ландшафт із 140 полігонів, то на всілякі елементи декору у вас залишиться лише 10 тис., а цього недостатньо. Перевищіть ліміт - рівень вилетить помилково.

3. Будь-яка сцена повинна складатися з так званих геометричних груп, назва кожної з яких формується за принципом: mp_LevelName_geometry , де mp - префікс, що вказує на те, що ми розробляємо мультиплеєрну карту, LevelName - назва рівня (пишається разом, наприклад IgromaniaLevelBig ), geometry - Найменування геометрії (ландшафт, будівлі, рослинність). Приклад - mp_igromania_terrain . Зверніть увагу, що назви елементів групи в жодному разі не повинні збігатися з ім'ям самої групи.

4. Для кожного об'єкта має бути створений шейп ( shape - форма) за принципом: об'єкт - ім'я_об'єкта, шейп - ім'я_об'єкта Shape. Тобто якщо об'єкт у вас називається Igromania_Magazine , то шейп для нього буде називатися Igromania_MagazineShape .

5. Як заготовки для об'єктів потрібно використовувати тільки матеріали типу XRayMtl . Нагадаємо, що для зміни типу матеріалу необхідно викликати вікно Material Editor (клавіша M на клавіатурі), клацнути по кнопці Standard і у вікні Material/Map Browser вибрати потрібний матеріал, у нашому випадку - XRayMtl . При необхідності ви можете заглянути в свиток X-Ray Params вікна редактора матеріалів і встановити для даного X-Ray-матеріалу шейдери для двигуна ( Engine ) і компілятора ( Compiler ), а також задати певний тип поверхні (поле Material ).

А чи знаєте ви, що...
При створенні нових моделей STALKER дозволяється використовувати тільки текстури, представлені TGA- файлами: двигун X-Ray не розуміє інші формати графіки. Розробники віддали перевагу даному формату неспроста — він дозволяє зберігати інформацію не тільки про саму текстуру, а й маску (альфа-каналу), що дозволяє залишати одні ділянки зображення та приховувати інші.

Скомпілювати рівень у формат гри можна не вдаючись до командного рядка. Для цього достатньо створити віртуальний диск X, що посилається на директорію \level_editor встановленого SDK, вибрати пункт меню Пуск\Виконати і у вікні, що з'явилося, надрукувати наступну команду: X:\xrLC.bat [level_name] , де xrLC.bat - файл, що відповідає за запуск утиліти-компілятора, [level_name] - назва рівня, що компілюється.

При додаванні в гру рівня з новими текстурами необхідно, крім файлу textures.ltx , скопіювати всі використовувані зображення власного виробництва директорію \gamedata\textures\ .
Експорт та імпорт
І ось ви зробили в 3DS Max карту, яка відповідає всім вимогам двигуна X-Ray, і хочете додати її в гру. Давайте докладно розглянемо процес експорту моделей у форматі «Сталкера» і навчимося підвантажувати переформатовані моделі в офіційний редактор рівнів.

Невелика карта, зібрана нами на основі стандартних об'єктів і ряду нових моделей , виготовлених у 3DS Max 8:

Насамперед виділіть у «Максі» всі об'єкти сцени, які хочете експортувати у вигляді єдиної моделі. Далі в полі інструментів (воно розташоване у правій частині вікна 3DS Max) перейдіть у вкладку Utilities (піктограма із зображенням молотка) і клацніть по кнопці More . У вікні виберіть інструмент XRay Export і натисніть Ok . Перейдіть у свиток XRay Export поля об'єктів, клацніть по кнопці Export Editor Object і збережіть модель на диск під будь-якою назвою.

Переходимо до імпорту геометрії та текстур у редактор рівнів. Запустіть LevelEditor , що входить до комплекту SDK. Насамперед підвантажимо модель, експортовану нами з 3DS Max, в редактор рівнів. На панелі у правій частині програми (у полі Scene ) виберіть Objects\Library Editor .

У вікні клікніть по полю Objects правою кнопкою мишки і в меню виберіть пункт Create Folder . Таким чином, ви створите новий каталог 3D-моделей (при необхідності ви можете додати нову модель і до одного з існуючих каталогів). Перейдіть до створеної директорії, клацніть по кнопці Import Object у правій частині вікна Objects Library та вкажіть повний шлях до моделі, експортованої вами з «Максу». Закрийте вікно бібліотеки об'єктів.

Щоб підвантажити редактор текстури, використані при створенні моделі, скопіюйте потрібні арти в каталог level_editor\import і виконайте в редакторі рівнів команду Images\Check New Textures . Почнеться пошук нових текстур і, якщо вони будуть виявлені, з'явиться Found X new texture(s) , де X — кількість знайдених текстур.

Після того, як ви імпортуєте в редактор нові моделі та текстури, можете приступати до складання нової мультиплеєрної картки: додавати на рівень стартові позначки, об'єкти, освітлення — все те, про що ми вам розповідали в минулій статті: Ігробуд . Рівень для STALKER, частина 1 .

* * *
Ми розібрали основні принципи створення рівнів для «Сталкера» з нуля, навчилися працювати зі спеціальними експортерами для 3DS Max, ознайомилися з основними вимогами двигуна X-Ray до модельок, що виготовляються в «Максі», а також розглянули механізм експорту рівнів з «Максу» та їх подальшого імпорту до офіційного редактора рівнів.


   
Цитата