Настало время обобщить уроки по подключению нового уровня к игре.
Для начала скачайте СДК, лучше оригинальную английскую версию.
Затем Глобальный патч v0.3 (14 Feb 2009) для X-Ray SDK v0.4.
Потом инструменты от Бардака по этой ссылке http://stalkerin.gameru.net/index.php Там надо скачать X-ray asset tools pack FINAL окончательная версия пака утилит от bardak'а
Теперь надо настроить СДК и инструменты.
Настройка инструментов
Настройка СДК.
1. Установите СДК на свой компьютер. Лучше полную версию. Читал некоторые отзывы, что облегченная версия глючит.
2. Лучше всего устанавливать СДК по такому адресу (в будущем тогда будет меньше мороки с настройками): C:\Program Files\X-Ray SDK
3. Установите Глобальный патч v0.3 (14 Feb 2009) для X-Ray SDK v0.4
4. Возьмите распакованную версию игры Сталкер ТЧ версии 1.0004 (gamedata) и поставьте с заменой в X-Ray SDK\level_editor. Это упростит работу в будущем.
5. Теперь понадобятся инструменты от Бардака xray_re-tools-10sep2008.
6. Из этого набора инструментов необходим сейчас конвертер. С помощью его преобразовываем текстуры деревьев dds2tga. Как - читаем ридми. Необходимо только запустить конвертер на преобразование, остальное он сделает сам. Это необходимо для того, чтобы в СДК появились недостающие текстуры, которых будет много не хватать, если этого не сделать.
7. Открываем СДК. Это делается путем запуска батника LevelEditor в X-Ray SDK\level_editor.
8. Создаем ЛОДы для деревьев. Нажимаем Objects, Library Editor. Открывается окно Object Library. Находим закладку trees\new_trees. Выделяем какой-нибудь куст и нажимаем Make LOD (качество выбираете сами). Открывается окно Select Library Object. Здесь ставим галочки напротив всех деревьев и кустов и нажимаем ОК. Все ЛОДы деревьев готовы. Таким же образом можно сделать ЛОДы камней.
9. Все, теперь камни и деревья настроены.
Настройка конвертера.
Создаем папку X-Ray SDK\converter. Из папки xray_re-tools-10sep2008 от Бардака копируем файлы converter.exe, fsconverter.ltx в эту папку. Это делается для удобства, чтобы все было в одном месте.Файл converter.ini помещаем в папку x-ray sdk\level_editor
Затем настраиваем конвертер.
Если установили СДК, как я говорил в C:\Program Files\X-Ray SDK, то в файле fsconverter.ltx ничего уже настраивать не надо.
В файле converter.ini находим такие строки и исправляем их вот так:
; 2947+ (финалка включая обновления)
[2947_config]:2945_config
$game_data$ = c:\program files\x-ray sdk\level_editor\gamedata\
$game_levels$ = c:\program files\x-ray sdk\level_editor\gamedata\levels\
[3120_config]:2947_config
$game_data$ = c:\program files\x-ray sdk\level_editor\gamedata\
$game_levels$ = c:\program files\x-ray sdk\level_editor\gamedata\levels\
Все, теперь конвертер настроен. Как им пользоваться, читаем ридми.
Настройка аиврапера.
Создаем папку X-Ray SDK\aiwrapper. Из папки xray_re-tools-10sep2008 от Бардака копируем файлы aiwrapper.exe, aiwrapper.ini, fsaiwrapper.ltx в эту папку.
Настраиваем аиврапер.
1. Если установили, как говорил выше, то в файле fsaiwrapper.ltx ничего менять не надо.
2. Потом надо скопировать из папки xray_re-tools-10sep2008 папку 2215 в X-Ray SDK\level_editor.
Аивраппер настроен. Можно пользоваться. Как – читаем ридми. Все очень просто, главное соблюдать инструкции.
Теперь можно приступить к подготовке уровня к компиляции. Я сейчас обобщаю эту информацию. Для более подробного изучения надо прочитать вот эту статью: http://tinyurl.com/b3osf3
Подготовка уровня
1. Сделайте в 3Д редакторе какой-нибудь террейн. Затекстурьте его и эспортируйте в СДК.
2. Открываем наш новый уровень в Левел Едиторе.
3. Заходим в Scene\Options и меняем Name prefix и Level path на нужные нам названия. Выбираем Quality.
4. Добавляем Glow. Назначаем ему текстуру.
5. Затем жмем Edit Mode\Light и добавляем Light на уровень. Можно поставить 3 штуки в разных углах и хватит.
6. Далее добавляем переход с уровня.
Edit Mode\Spawn Element\ai\level changer и ставим этот level changer в любом месте, где хотим сделать переход. Потом жмем Edit Mode\Shape выбираем,
допустим, сферу и ставим ее в том же месте, где и level changer. Затем обратно на Edit Mode\Spawn Element и нажимаем Commands\Attach Object, а потом опять на сферу. После этого сфера и level changer объединяться.
7. Теперь нажимаем на level changer правой кнопкой мыши и выбираем properties. В нем выбираем в Level to change уровень, на который хотим перейти. В Level point to change пишем start_actor_01. Заходим в custom data перехода и пишем там:
[pt_move_if_reject]
path = название уровня_way_if_reject
8. Нажимаем Edit Mode\Way Points, ставим 1 вейпоинт рядом с level changer, теперь жмем point mode и ставим второй. Теперь у нас получился путь, который мы прописали в custom data level changer, заходим в свойства и обзываем его также как и в custom data, то есть название уровня_way_if_reject.
9. Расставляем графпоинты.
Edit Mode\Spawn Element\ai\graph point. Ставим один графпоинт рядом с переходом и в свойствах прописываем ему название start_actor_01.
10. Далее расставляем графпоинты по уровню. Необходимо ставить их там, где предполагаются места стоянок, а также по периметру уровня.
11. Далее идем в Edit Mode\Spawn Element\weapons и спавним рядом со вторым вейпоинтом, который до этого создали, какое-нибудь оружие (например, винторез). Это надо для того, чтобы позже, когда скомпилируем уровень, снять координаты места перехода на эту локацию.
12. Теперь надо сделать АИ-сетку.
Нажимаем Edit Mode\Object и выделяем все объекты на уровне. Далее Edit Mode\AI Map и вносим все выделенные объекты в список. Snap List\Comands\Add Selected To List.
Расставляем АИ-ноды по уровню. Необходимо поставить везде по одному АИ-ноду, где предполагается наличие каких-нибудь спавн-объектов.
После расставления нажимаем Generate Full.
13. Все, приготовления закончились. Теперь начнем компиляцию.
Компиляция
1. В СДК делается Make Game, Make AI Map, Make Details, Build этого уровня.
2. Затем делаем компиляцию xr LC, xrDo_light
3. Далее прописываем в конфигах свой уровень. Прописать надо в файлах game_graphs.ltx, game_levels.ltx, game_maps_single.ltx
4. Теперь переходим к работе с аиврапером. Можно или через команду cmd выйти в папку с аивраппером, или Тотал Коммандером открыть эту папку. И потом вводить в командную строку нужные команды.
5. Сначала надо ввести команду aiwrapper -split_spawns. Зачем - читаем ридми к аиврапперу.
6. А потом выполнить последовательно команды из ридми от Бардака для аивраппера.
Цитата
3) Сборка черновой сетки ИИ:
> aiwrapper -draft -f <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.ai.
4) Проверка связности сетки ИИ:
> aiwrapper -verify <имя_уровня>
В случае ошибки поправить ячейки в LE и повторить с п.2.
5) Просчёт укрытий для сетки ИИ. Предварительно необходимо произвести
сборку геометрии для получения build.cform (xrLC, здесь это не
рассматривается). Команда:
> aiwrapper -f <имя_уровня>
Вообще, этот шаг необязателен на ранних этапах тестирования карты.
6) Сборка ИИ-графа:
> aiwrapper -g <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.{graph|gct.raw}
7) Склейка ИИ-графов карт в глобальный игровой граф:
> aiwrapper -m
На выходе: gamedata\game.graph и gamedata\levels\*\level.gct
(см. ниже для случая с картами без исходников)
8) Сборка all.spawn
> aiwrapper -s
На выходе: gamedata\spawns\all.spawn
> aiwrapper -draft -f <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.ai.
4) Проверка связности сетки ИИ:
> aiwrapper -verify <имя_уровня>
В случае ошибки поправить ячейки в LE и повторить с п.2.
5) Просчёт укрытий для сетки ИИ. Предварительно необходимо произвести
сборку геометрии для получения build.cform (xrLC, здесь это не
рассматривается). Команда:
> aiwrapper -f <имя_уровня>
Вообще, этот шаг необязателен на ранних этапах тестирования карты.
6) Сборка ИИ-графа:
> aiwrapper -g <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.{graph|gct.raw}
7) Склейка ИИ-графов карт в глобальный игровой граф:
> aiwrapper -m
На выходе: gamedata\game.graph и gamedata\levels\*\level.gct
(см. ниже для случая с картами без исходников)
8) Сборка all.spawn
> aiwrapper -s
На выходе: gamedata\spawns\all.spawn
Все карта скомпилирована. Теперь надо собрать геймдату своего уровня.
Обязательно необходимо скопировать из level_editor\gamedata в свою геймдату следующие файлы:
- config\game_graphs.ltx, config\game_levels.ltx, config\game_maps_single.ltx
- spawns\all.spawn (только предварительно надо добавить в этот all.spawn переход на новую локацию со старой локации, с которой хотим заходить на нее. А также в переходах с новой локации надо прописать точку выхода на старой локации.)
- из папки levels необходимо скопировать в соответствующие папки файлы level.gct для каждого уровня. И не забыть из этой же папки скопировать папку с новым уровнем.
- game.graph
- в папку textures скопировать все свои новые текстуры, которые использовали для своего уровня. Также скопировать файл textures.ltx
Теперь получившуюся папку gamedata помещаем в папку с игрой и запускаем новую игру. Все.
Вроде все. Осталось опробовать это на деле и задавать вопросы, если что не получается.
Автор Kostya V