Сповіщення
Очистити все

Під'єднання одного рівня


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

Декомпільований рівень не працюватиме у грі відразу. Насамперед необхідно його налаштувати та скомпілювати.

Підготовка геометрії

1) Оскільки тестовий рівень з білдів, достатньо буде лише геометрії та детальних об'єктів.

  • detail_object.part
  • scene_object.part

З папки editors\rawdata\levels\ tir , видаліть такі файли:

  • ai_map.part
  • glow.part
  • group.part
  • light.part
  • portal.part
  • ps.part
  • sector.part
  • shape.part
  • sound_env.part
  • sound_src.part
  • spawn.part
  • wallmark.part
  • way.part

2) Запустіть Level Editor і відкрийте рівень: File -> Open... -> tir.level

У лозі з'явиться безліч помилок: Can't find texture

Відсутні текстури із ТЧ. Їх можна швидко повернути, якщо використовувати: Пак текстур із ТЧ для ЗП

Розпакуйте архів і перемістіть папку textures із SoC Textures for CoP\Level

Без заміни файлів у: editors\gamedata

3) Залишиться лише одна унікальна для рівня помилка:

Cant find texture 'terrain\terrain_tir_lex'

Відсутня текстура террейну. Скопіюйте її з папки: xrCore build 1844 - Feb 19 2004\gamedata\levels\tir3\terrain

У папку: editors\gamedata\textures\terrain

Прописка властивостей сцени

Ознайомтеся зі статтею: Властивості сцени у Level Editor

1) У Level Editor , відкрийте властивості сцени: Scene -> Options

2) Змініть значення ключів Name prefix та Level path з tir3 на tir

3) Ключу Quality встановіть пресет Draft

4) Перевірте, щоб значення ключа Game Type було тільки Single

5) Збережіть зміни: File -> Save

Прописка у конфігі

Прописуючи тестовий рівень у гру, потрібно вимкнути оригінальні рівні.

1) Перейдіть до папки editors\gamedata\configs

2) За допомогою будь-якого текстового редактора відкрийте файли game_levels.ltx і game_maps_single.ltx

3) Видаліть вміст файлу game_levels.ltx і впишіть в нього наступне:

[levels] 
level01

[level01] 
name      =  tir 
caption   =  "tir" 
offset    =  10000.0, 1000.0, 10000.0 
weathers  =  [default] 
id        =  01

4) Видаліть вміст файлу game_maps_single.ltx і впишіть в нього наступне:

[def_map] 
bound_rect    =  -10000.0f, -10000.0f, 10000.0f, 10000.0f 
texture       =  ui\ui_nomap2

[global_map] 
bound_rect    =  0.0, 0.0, 1024, 1024.0 
max_zoom      =  6.0 
texture       =  ui\ui_global_map


[level_maps_single] 
tir

[tir] 
global_rect   =  307.0, 90.0, 717.0, 500.000000 
music_tracks  =  zaton_musics 
weathers      =  dynamic_default

Насправді прописувати рівень у секцію [level_maps_single]— необов'язково.

Гра не вилетить. У цій секції ви лише задаєте рівню унікальні координати розташування на карті в КПК, фонову музику та погоду.

Генерація AI-сітки

Перед тим, як робити наповнення, потрібно додати AI-сітку.

Ознайомтеся зі статтею: Інтерфейс Level Editor

1) Виберіть: Edit Mode -> Object

Натисніть Ctrl+A на клавіатурі, щоб виділити всі об'єкти геометрії на рівні.

2) Виберіть: Edit Mode -> AI Map

Виконайте: Snap List -> Commands -> Add Selected To List

Створиться список об'єктів, що ігноруються при генерації AI-сітки.

3) Додайте 1 "node" на террейн кнопкою Add (Додати новий об'єкт) на панелі інструментів.

4) Виконайте: AI Map Commands -> Generate Full

AI-сітка готова!

Мінімальне наповнення

1) Щоб гравець з'явився на рівні, його потрібно додати.

У Level Editor виберіть: Edit Mode -> Spawn Element

Знайдіть actor в Current Spawn/Spawns і додайте на рівень кнопкою Add .

Виділіть спавн-елемент actor і натисніть на клавіатурі Enter (щоб перейти в Properties ).

Ключі npc profile змініть значення з default на actor .

2) Обов'язково потрібно додати Light-об'єкт, інакше помилка: Can't find any Light Object

Виберіть: Edit Mode -> Light , і додайте на рівень кнопкою Add , можна за межі рівня.

3) Обов'язково потрібно додати Glow-об'єкт, інакше помилка: Can't find any Glow Object

Виберіть: Edit Mode -> Light , і додайте на рівень кнопкою Add , можна за межі рівня.

Виділіть Glow-об'єкт і натисніть на клавіатурі Enter (щоб перейти в Properties ).

Ключі Texture задайте будь-яку текстуру з папки glow (наприклад, glow_04 ).

4) Обов'язково потрібно додати graph point , інакше на етапі компіляції спавна відбудеться виліт: XrAI: Виліт на стадії Building level game graph

Виберіть: Edit Mode -> Spawn Element

Знайдіть ai\graph point в Current Spawn/Spawns і додайте на рівень кнопкою Add .

Генерація сектора

Щоб уникнути помилки Scene has non associated face , створіть сектор.

Виберіть: Edit Mode -> Sector

Виконайте: Command -> Create Default

Щоб сцена не була червоного кольору, клацніть ПКМ (правою кнопкою миші) і виконайте: Visibility -> Hide All

Генерація текстур LOD'ів

Зробити білд рівня не вийде, доки не згенеровані LOD'и.

Відбудеться помилка: There is no texture

1) Запустіть Level editor , не відкриваючи рівень.

Виконайте: Scene -> Objects -> Library Editor

2) У вікні Object Library перейдіть до папки levels\tir

Затисніть Ctrl на клавіатурі, виберіть всі файли, що починаються на tir_lod , і поставте галочку Preview .

Натисніть кнопку Make LOD (Low Quality) і дочекайтеся закінчення генерації.

Білд

Закінчивши роботу над рівнем в SDK залишається його збитдити.

Виконайте: Compile -> Build

Білд повинен пройти успішно, у лозі можуть бути лише критичні помилки:

  • Level doesn't contain HOM objects
  • Process Wallmark - failed
  • Object has invalid face(s)

Компіляція

Компіляція рівня в ігровий формат складається з кількох етапів.

  1. Створіть файл *.cmd (або *.bat ) для кожного етапу
  2. Запишіть у них команди
  3. Виконайте по черзі

Етап 1 - компіляція геометрії

start bin\designer\release\xrLC.exe -f tir -keep_temp_files

На цьому етапі виникне 2 або 6 варіантів вильоту: xrLC:Build_Load.cpp

Потрібно 38 *.dds текстур по черзі конвертувати в *.tga та імпортувати у SDK.

Етап 2 - компіляція трави та дітей

start bin\designer\release\xrDO_light.exe -f tir

Етап 3 - компіляція AI-сітки

start bin\designer\release\xrAI.exe -f tir -keep_temp_files

Етап 4 - верифікація AI-сітки

start bin\designer\release\xrAI.exe -verify tir

Етап 5 - компіляція спавна

start bin\designer\release\xrAI.exe -no_separator_check -s tir -out all

Перенесення файлів у гру

Рівень готовий, залишилося його перенести на гру.

1) У папці з грою, створіть папку gamedata , а в ній папки:

  • configs
  • levels
  • spawns
  • textures

2) Скопіюйте з папки gamedata/configs в аналогічну в грі такі файли:

  • game_levels.ltx
  • game_maps_single.ltx

3) Скопіюйте з папки gamedata/levels у аналогічну у грі, папку tir .

4) Скопіюйте з папки gamedata/spawns в аналогічну у грі файл all.spawn .

5) Щоб зрозуміти, яких саме текстур не вистачає, можна запустити гру, а потім подивитися в її лозі рядки виду:

! Cant find texture 'crete\crete_roof2'

Де знайти лог, див. Пошук рішення вильоту # Гра

Благо STALKER - Поклик Прип'яті не вилітає, якщо текстури відсутні.

Скопіюйте з gamedata/textures в аналогічну у грі, вказані у лозі файли у папках.

Готово!


   
Цитата