xray-sdk-v04
как в в этом редактировать локации кроме atp. camedata из игры распаковывал в level editor, результат 0.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Alexs
- на форуме
- АДМИН
- Сообщений: 1135
- Спасибо получено: 14365
Rat, вот посмотри уроки по настройке и использованию SDK 0.4 может найдешь для себя что-то полезное.
Настройка SDK
Настройка конвертора:
Подключение локаций.
Работа с аивраппером.
Создание АИ-переходов.
Правка карт освещения.
Вставка локаций в игру.
Настройка SDK
ВНИМАНИЕ: Спойлер!
1. Установите СДК на свой компьютер. Лучше полную версию. Читал некоторые отзывы, что облегченная версия глючит.
2. Лучше всего устанавливать СДК по такому адресу (в будущем тогда будет меньше мороки с настройками): C:\Program Files\X-Ray SDK
3. Установите патч для СДК. Лучше последний.
4. Возьмите распакованную версию игры Сталкер ТЧ версии 1.0004 (gamedata) и поставьте с заменой в X-Ray SDK\level_editor. Это упростит работу в будущем.
5. Теперь понадобятся инструменты от Бардака xray_re-tools.
6. Из этого набора инструментов необходим сейчас конвертер. С помощью его преобразовываем текстуры деревьев dds2tga. Как - читаем ридми. Необходимо только запустить конвертер на преобразование, остальное он сделает сам. Это необходимо для того, чтобы в СДК появились недостающие текстуры, которых будет много не хватать, если этого не сделать.
7. Открываем СДК. Это делается путем запуска батника LevelEditor в X-Ray SDK\level_editor.
8. Создаем ЛОДы для деревьев. Нажимаем Objects, Library Editor. Открывается окно Object Library. Находим закладку trees\new_trees. Выделяем какой-нибудь куст и нажимаем Make LOD (качество выбираете сами). Открывается окно Select Library Object. Здесь ставим галочки напротив всех деревьев и кустов и нажимаем ОК. Все ЛОДы деревьев готовы. Таким же образом можно сделать ЛОДы камней.
9. Все, теперь камни и деревья настроены.
2. Лучше всего устанавливать СДК по такому адресу (в будущем тогда будет меньше мороки с настройками): C:\Program Files\X-Ray SDK
3. Установите патч для СДК. Лучше последний.
4. Возьмите распакованную версию игры Сталкер ТЧ версии 1.0004 (gamedata) и поставьте с заменой в X-Ray SDK\level_editor. Это упростит работу в будущем.
5. Теперь понадобятся инструменты от Бардака xray_re-tools.
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\
[aitest_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\
[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\
Если сделать все как описано должно работать 100 процентов.
Затем настраиваем конвертер.
Если установили СДК, как я говорил в 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\
[aitest_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\
[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\
Если сделать все как описано должно работать 100 процентов.
Подключение локаций.
ВНИМАНИЕ: Спойлер!
Первое, что вам понадобится - это установленный СДК с настроенным аивраппером. Как настроить - подробно описано в шапке темы. Далее необходимо определиться, какие локации вы хотите иметь в своем паке. Рассмотрим такой случай - мы хотим иметь в своей игре три локации: кордон, генераторы и болота ЧН.
1. Подготовка к подключению этих локаций друг к другу.
Кордон в СДК у нас уже есть - мы скопировали туда всю геймдату ТЧ после установки СДК. Копируете генераторы и болота в папку level_editor\gamedata\levels. Если локация была до этого скомпилирована в СДК ТЧ (в нашем случае кордон и генераторы), делать больше ничего не надо, переходите к шагу 2. Если локация из ЧН или ЗП - придется поработать, ДАЖЕ если вы взяли локацию из пака локаций для ТЧ. Рассмортим работу с локацией из ЧН или ЗП на примере болот ЧН:
а) Удалите из папки с локацией level.spawn и level.ltx. После этого в папке с конвертером от бардака (предполагается, что он есть и настроен) создаете батник с таким текстом:
converter -level marsh -mode le
pause
Конвертер декомпилирует болота в формат СДК.
б) Откройте в Actor Editor объект terrain_marsh. Выберите справа Object Items и смотрите, какой шейдер присвоен, если тот, которого не хватает, то присвойте один из оригинальных шейдеров
Пример для воды:
Shader - effects \ water
Compile - def_shaders \ def_vertex
Game Mtl - material \ water
в) Открываете Level Editor. В нем открываете болота. Переходите в раздел objects (панель справа) и удаляете все, кроме объекта terrain (клик по объекту - del). Если у вас не очень сильный компьютер и LE зависает при открытии - удалите все объекты, кроме террейна в папке rawdata\objects\levels\marsh.
г) Ставите на карту light. Нажимаете вкладку light, потом сверху слева кнопку "чайник" и потом кликаете куда-нить на локу
д) Теперь нажмите glow, и аналогичным образом ставите на локу glow. В появившемся окне со свойствами glow выберете textures, где задайте текстуру glow_04.
е) Поставьте граф-поинты. Для этого перейдите в spawn element ai > graph point и поставьте по уровню некоторое количество граф-поинтов. Чем больше, тем лучше, однако слишком усердствовать не стоит. Ставить необходимо в местах скопления сталкеров и по предполагаемым путям их хождения. Сотни граф-поинтов вполне хватит. Один из графов, где вы хотите сделать появление ГГ при переходе с другой локации, можете назвать start_actor_01.
ж) Ставите низкое качество компиляции. Затем зайдите scene > options, после чего переименуйте name prefix и level path в название локации
з) Делаете лоды. Заходите objects > objects library, там, где написано Preview, есть окошко. Нажмите туда, после чего в доп окошке Object Library перейдите в levels > marsh. Там нажмите на объект marsh_lod0000, после этого нажмите make lod (low quality), потом yes. Вылезет еще окошко - Select Library Objects, теперь опять levels > marsh и там плюсиками выберите все лоды локации. После этого - ок.
и) Добавьте на локацию какой-нибудь объект - например, автомат. Если этого не сделать, аивраппер потом будет капризничать.
к) Компилируете на низшем качестве - Make Game и Build.
л) Последний шаг - скомпилируйте геометрию. Создайте в папке level_editor батник
@start bins\compiler\xrLC.exe -f marsh
и дождитесь окончания.
1. Подготовка к подключению этих локаций друг к другу.
Кордон в СДК у нас уже есть - мы скопировали туда всю геймдату ТЧ после установки СДК. Копируете генераторы и болота в папку level_editor\gamedata\levels. Если локация была до этого скомпилирована в СДК ТЧ (в нашем случае кордон и генераторы), делать больше ничего не надо, переходите к шагу 2. Если локация из ЧН или ЗП - придется поработать, ДАЖЕ если вы взяли локацию из пака локаций для ТЧ. Рассмортим работу с локацией из ЧН или ЗП на примере болот ЧН:
а) Удалите из папки с локацией level.spawn и level.ltx. После этого в папке с конвертером от бардака (предполагается, что он есть и настроен) создаете батник с таким текстом:
converter -level marsh -mode le
pause
Конвертер декомпилирует болота в формат СДК.
б) Откройте в Actor Editor объект terrain_marsh. Выберите справа Object Items и смотрите, какой шейдер присвоен, если тот, которого не хватает, то присвойте один из оригинальных шейдеров
Пример для воды:
Shader - effects \ water
Compile - def_shaders \ def_vertex
Game Mtl - material \ water
в) Открываете Level Editor. В нем открываете болота. Переходите в раздел objects (панель справа) и удаляете все, кроме объекта terrain (клик по объекту - del). Если у вас не очень сильный компьютер и LE зависает при открытии - удалите все объекты, кроме террейна в папке rawdata\objects\levels\marsh.
г) Ставите на карту light. Нажимаете вкладку light, потом сверху слева кнопку "чайник" и потом кликаете куда-нить на локу
д) Теперь нажмите glow, и аналогичным образом ставите на локу glow. В появившемся окне со свойствами glow выберете textures, где задайте текстуру glow_04.
е) Поставьте граф-поинты. Для этого перейдите в spawn element ai > graph point и поставьте по уровню некоторое количество граф-поинтов. Чем больше, тем лучше, однако слишком усердствовать не стоит. Ставить необходимо в местах скопления сталкеров и по предполагаемым путям их хождения. Сотни граф-поинтов вполне хватит. Один из графов, где вы хотите сделать появление ГГ при переходе с другой локации, можете назвать start_actor_01.
ж) Ставите низкое качество компиляции. Затем зайдите scene > options, после чего переименуйте name prefix и level path в название локации
з) Делаете лоды. Заходите objects > objects library, там, где написано Preview, есть окошко. Нажмите туда, после чего в доп окошке Object Library перейдите в levels > marsh. Там нажмите на объект marsh_lod0000, после этого нажмите make lod (low quality), потом yes. Вылезет еще окошко - Select Library Objects, теперь опять levels > marsh и там плюсиками выберите все лоды локации. После этого - ок.
и) Добавьте на локацию какой-нибудь объект - например, автомат. Если этого не сделать, аивраппер потом будет капризничать.
к) Компилируете на низшем качестве - Make Game и Build.
л) Последний шаг - скомпилируйте геометрию. Создайте в папке level_editor батник
@start bins\compiler\xrLC.exe -f marsh
и дождитесь окончания.
Работа с аивраппером.
ВНИМАНИЕ: Спойлер!
Перед началом работы с авираппером, необходимо показать ему, с какими локами ему работать. Вам нужно править три файла: game_graphs.ltx, game_levels.ltx и games_maps_single.ltx. Все они лежат в папке level_editor\gamedata\config. Разберем содержимое каждого файла
----game_graphs.ltx
[location_0]
000 = "..."
001 = "l01_escape"
002 = "generators"
003 = "marsh"
<в секции location_0 необходимо составить список своих локаций. Остальное не трогаем>
[location_1]
000 = "..."
001 = "ограниченный доступ"
002 = "запрещенный доступ"
[location_2]
000 = "..."
001 = "не для игрока"
[location_3]
000 = "..."
----game_levels.ltx
[levels]
level01
level02
level03
<Записываете свои локации по такому образцу>
[level01]
name = L01_Escape
caption = "L01_Escape"
offset = 3000.0, 1000.0, 0.0
id = 01
[level02]
name = generators
caption = "generators"
offset = 1000.0, 1000.0, 6000.0
id = 02
[level03]
name = marsh
caption = "marsh"
offset = 2000.0, 1000.0, 0.0
id = 03
----game_maps_single.ltx
[level_maps_single]
L01_escape
generators
marsh
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[level_music_tracks]
music\amb01 = 0, 12, 0.5, 10,20
music\amb03 = 0, 12, 0.5, 10,15
music\amb07 = 12,24, 1.0, 5, 25
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[global_map]
texture = ui\ui_global_map --не трогаем!
bound_rect = 0.0,0.0, 1024, 2634.0 --не трогаем!
max_zoom = 6.0 --не трогаем!
[l01_escape]
texture = map\map_escape --путь к текстуре мини-карты для вашей локации
bound_rect = -317.164, -633.718, 404.880, 811.627 --координаты внутри локации в формате: минимальная X, минимальная Y, максимальная X, максимальная Y
global_rect = 355.0,2011.0, 576.0,2453.000000 --координаты локации на глобальной карте в формате: северо-западный угол - юго-восточный угол.
weathers = default --погодный пресет. Ставьте default, если не делали своего.
music_tracks = l01_escape_musics --амбиентные звуки на локации.
[generators]
texture = map\map_generators
bound_rect = -351.81, -639.389, 352.818, 65.245
global_rect = 300.0,500.0, 400.0,600.0
weathers = stancia
[marsh]
texture = map\map_marsh
global_rect = 22.0, 2113.0, 352.0, 2443.000000
bound_rect = -445.000000,-445.000000,755.000000,755.000000
weathers = boloto
С файлами разобрались. Теперь разберемся с аивраппером. Если ваша локация делалась с нуля в СДК, или вы работаете с локациями ЧН и ЗП, то для каждой из таких локаций нужно сначала просчитать АИ-сетку. В нашем случае это Болота. Создаем и запускаем такие батники в папке с аивраппером:
а) Сборка черновой сетки ИИ:
aiwrapper -draft -f marsh
После окончания работы аивраппера вы получите следующий файл: gamedata\levels\<имя_уровня>\level.ai.
б) Проверка связности сетки ИИ:
aiwrapper -verify marsh
в) Просчёт укрытий для сетки ИИ.
aiwrapper -f marsh
Вообще, этот шаг необязателен на ранних этапах тестирования карты.
г) Сборка ИИ-графа:
aiwrapper -g marsh
После окончания работы аивраппера вы получите следующий файл: gamedata\levels\<имя_уровня>\level.{graph|gct.raw}
Далее нужно соединить наши локации аивраппером в единое целое. Для этого создаем и запускаем такие батники в папке с аивраппером:
а) Склейка ИИ-графов карт в глобальный игровой граф:
> aiwrapper -m
На выходе: gamedata\game.graph и gamedata\levels\*\level.gct
б) Сборка all.spawn
> aiwrapper -s
На выходе: gamedata\spawns\all.spawn
Однако еще не все.
3. Пересборка all.spawn. Если вы не работаете с локами ЧН или ЗП - пропускайте этот шаг.
Аивраппер собрал нам all.spawn - это замечательно. Однако от локации ЧН или ЗП у нас в спавне только автомат, что мы воткнули в LE. Нет ламп и источников света, нет лестниц. Чтобы привести локацию в более-менее приличный вид, нужно пересобрать спавн.
а) Первым делом, распакуйте получившийся спавн. Для этого качаем отличную тулзу acdc и открываем файл acdc.pl. Там найдите подобную таблицу:
use constant levels_info => (
{ gvid0 => 600, },
{ gvid0 => 329, name => 'marsh' },
{ gvid0 => 252, name => 'generators' },
{ gvid0 => 0, name => 'l01_escape' },
);
Оставляете только те локации, что мы объединяем. Меняем параметр gvid0 на начальный геймвертекс вашей локации. Узнать эти вертексы просто - в папке с acdc должна быть тулза ggtool.pl. Берете получившийся при работе аивраппера game.graph (из папки level_editor\gamedata) и кидаете его в папку с ggtool.pl. После чего создаем и запускаем такой батник:
ggtool.pl game.graph >svyazi.txt
После окончания работы тулзы открываете появившийся файл svyazi.txt и там смотрите начальные вертексы. Верхнее ограничение по вертексам (gvid0 => 600) высчитывается примерно как вертекс от последней локи + 300-400 (возьмем с запасом).
После правки acdc.pl кидаете в папку с ним получившийся all.spawn (из папки level_editor\gamedata\spawns). После этого декомпилируете all.spawn. Открываете файл alife_marsh.ltx (наша ЧН-локация). Распакуйте оригинальный спавн той игры, откуда выдернули локацию (у нас ЧН), и открываете файл наше локации. Теперь основная задача - перенести из оригинального спавна в наш секции следующего типа:
section = climable_object (это лестницы)
section = lights_hanging_lamp (источники света)
Вообще, можете переносить хоть все - зависит от того, хотите ли вы получить чистую локацию или с оригинальным спавном. Единственный совет - не копируйте секции breakable_object и проверяйте визуал в секциях lights_hanging_lamp. Наличие breakable_object или ссылок на визуалы ламп, которых нет в ТЧ, приведет к вылетам Invalid vertex type for skinned object. Лечение пока не найдено.
Еще одно замечание - правьте game_vertex_id у переносимых секций. Значение гейм-вертекса должно соответствовать локации. В нашем примере, кордону соответствуют вертексы 0-252, генераторам - 252-329, болотам - больше 329 (смотрим acdc.pl).
На этом все. Если хотите, сделайте переходы между локациями. Компилируете all.spawn
----game_graphs.ltx
[location_0]
000 = "..."
001 = "l01_escape"
002 = "generators"
003 = "marsh"
<в секции location_0 необходимо составить список своих локаций. Остальное не трогаем>
[location_1]
000 = "..."
001 = "ограниченный доступ"
002 = "запрещенный доступ"
[location_2]
000 = "..."
001 = "не для игрока"
[location_3]
000 = "..."
----game_levels.ltx
[levels]
level01
level02
level03
<Записываете свои локации по такому образцу>
[level01]
name = L01_Escape
caption = "L01_Escape"
offset = 3000.0, 1000.0, 0.0
id = 01
[level02]
name = generators
caption = "generators"
offset = 1000.0, 1000.0, 6000.0
id = 02
[level03]
name = marsh
caption = "marsh"
offset = 2000.0, 1000.0, 0.0
id = 03
----game_maps_single.ltx
[level_maps_single]
L01_escape
generators
marsh
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[level_music_tracks]
music\amb01 = 0, 12, 0.5, 10,20
music\amb03 = 0, 12, 0.5, 10,15
music\amb07 = 12,24, 1.0, 5, 25
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[global_map]
texture = ui\ui_global_map --не трогаем!
bound_rect = 0.0,0.0, 1024, 2634.0 --не трогаем!
max_zoom = 6.0 --не трогаем!
[l01_escape]
texture = map\map_escape --путь к текстуре мини-карты для вашей локации
bound_rect = -317.164, -633.718, 404.880, 811.627 --координаты внутри локации в формате: минимальная X, минимальная Y, максимальная X, максимальная Y
global_rect = 355.0,2011.0, 576.0,2453.000000 --координаты локации на глобальной карте в формате: северо-западный угол - юго-восточный угол.
weathers = default --погодный пресет. Ставьте default, если не делали своего.
music_tracks = l01_escape_musics --амбиентные звуки на локации.
[generators]
texture = map\map_generators
bound_rect = -351.81, -639.389, 352.818, 65.245
global_rect = 300.0,500.0, 400.0,600.0
weathers = stancia
[marsh]
texture = map\map_marsh
global_rect = 22.0, 2113.0, 352.0, 2443.000000
bound_rect = -445.000000,-445.000000,755.000000,755.000000
weathers = boloto
С файлами разобрались. Теперь разберемся с аивраппером. Если ваша локация делалась с нуля в СДК, или вы работаете с локациями ЧН и ЗП, то для каждой из таких локаций нужно сначала просчитать АИ-сетку. В нашем случае это Болота. Создаем и запускаем такие батники в папке с аивраппером:
а) Сборка черновой сетки ИИ:
aiwrapper -draft -f marsh
После окончания работы аивраппера вы получите следующий файл: gamedata\levels\<имя_уровня>\level.ai.
б) Проверка связности сетки ИИ:
aiwrapper -verify marsh
в) Просчёт укрытий для сетки ИИ.
aiwrapper -f marsh
Вообще, этот шаг необязателен на ранних этапах тестирования карты.
г) Сборка ИИ-графа:
aiwrapper -g marsh
После окончания работы аивраппера вы получите следующий файл: gamedata\levels\<имя_уровня>\level.{graph|gct.raw}
Далее нужно соединить наши локации аивраппером в единое целое. Для этого создаем и запускаем такие батники в папке с аивраппером:
а) Склейка ИИ-графов карт в глобальный игровой граф:
> aiwrapper -m
На выходе: gamedata\game.graph и gamedata\levels\*\level.gct
б) Сборка all.spawn
> aiwrapper -s
На выходе: gamedata\spawns\all.spawn
Однако еще не все.
3. Пересборка all.spawn. Если вы не работаете с локами ЧН или ЗП - пропускайте этот шаг.
Аивраппер собрал нам all.spawn - это замечательно. Однако от локации ЧН или ЗП у нас в спавне только автомат, что мы воткнули в LE. Нет ламп и источников света, нет лестниц. Чтобы привести локацию в более-менее приличный вид, нужно пересобрать спавн.
а) Первым делом, распакуйте получившийся спавн. Для этого качаем отличную тулзу acdc и открываем файл acdc.pl. Там найдите подобную таблицу:
use constant levels_info => (
{ gvid0 => 600, },
{ gvid0 => 329, name => 'marsh' },
{ gvid0 => 252, name => 'generators' },
{ gvid0 => 0, name => 'l01_escape' },
);
Оставляете только те локации, что мы объединяем. Меняем параметр gvid0 на начальный геймвертекс вашей локации. Узнать эти вертексы просто - в папке с acdc должна быть тулза ggtool.pl. Берете получившийся при работе аивраппера game.graph (из папки level_editor\gamedata) и кидаете его в папку с ggtool.pl. После чего создаем и запускаем такой батник:
ggtool.pl game.graph >svyazi.txt
После окончания работы тулзы открываете появившийся файл svyazi.txt и там смотрите начальные вертексы. Верхнее ограничение по вертексам (gvid0 => 600) высчитывается примерно как вертекс от последней локи + 300-400 (возьмем с запасом).
После правки acdc.pl кидаете в папку с ним получившийся all.spawn (из папки level_editor\gamedata\spawns). После этого декомпилируете all.spawn. Открываете файл alife_marsh.ltx (наша ЧН-локация). Распакуйте оригинальный спавн той игры, откуда выдернули локацию (у нас ЧН), и открываете файл наше локации. Теперь основная задача - перенести из оригинального спавна в наш секции следующего типа:
section = climable_object (это лестницы)
section = lights_hanging_lamp (источники света)
Вообще, можете переносить хоть все - зависит от того, хотите ли вы получить чистую локацию или с оригинальным спавном. Единственный совет - не копируйте секции breakable_object и проверяйте визуал в секциях lights_hanging_lamp. Наличие breakable_object или ссылок на визуалы ламп, которых нет в ТЧ, приведет к вылетам Invalid vertex type for skinned object. Лечение пока не найдено.
Еще одно замечание - правьте game_vertex_id у переносимых секций. Значение гейм-вертекса должно соответствовать локации. В нашем примере, кордону соответствуют вертексы 0-252, генераторам - 252-329, болотам - больше 329 (смотрим acdc.pl).
На этом все. Если хотите, сделайте переходы между локациями. Компилируете all.spawn
Создание АИ-переходов.
ВНИМАНИЕ: Спойлер!
Поскольку сборку мы создаем для дальнейшего моддинга, нам необходимы АИ-переходы. Эти переходы позволяют неписям переходить с локи на локу. Даже если вы не собираетесь отправлять ваших квестовых неписей на другю локацию, без аи-переходов невозможен полноценный оффлайн-алайф. Поэтому сделаем их.
Делать Аи-переходы можно двумя способами. Первый - вместо aiwrapper -m сделать aiwrapper -m2 links.fixed. В файле links.fixed здесь указываются соединяемые вертексы разных локаций. Однако, я больше привык использовать второй способ - работать с утилиткой Колмогора - edge_add, ее и опишу.
Кладете свой game.graph в папку с edge_add.exe. Создаем батник, где прописываем следующее:
edge_add.exe game.graph 37 300
del game.graph
rename game.graph.new game.graph
edge_add.exe game.graph 45 400
del game.graph
rename game.graph.new game.graph
edge_add.exe game.graph 320 420
del game.graph
rename game.graph.new game.graph
Числа - это соединяемые вертексы локаций. Здесь написаны наобум, когда будете делать сами - выбирайте вертексы поближе к краям лок, там, где непись бы логично мог пройти.
После запуска и окончания работы утилитки получаем готовый game.graph
Делать Аи-переходы можно двумя способами. Первый - вместо aiwrapper -m сделать aiwrapper -m2 links.fixed. В файле links.fixed здесь указываются соединяемые вертексы разных локаций. Однако, я больше привык использовать второй способ - работать с утилиткой Колмогора - edge_add, ее и опишу.
Кладете свой game.graph в папку с edge_add.exe. Создаем батник, где прописываем следующее:
edge_add.exe game.graph 37 300
del game.graph
rename game.graph.new game.graph
edge_add.exe game.graph 45 400
del game.graph
rename game.graph.new game.graph
edge_add.exe game.graph 320 420
del game.graph
rename game.graph.new game.graph
Числа - это соединяемые вертексы локаций. Здесь написаны наобум, когда будете делать сами - выбирайте вертексы поближе к краям лок, там, где непись бы логично мог пройти.
После запуска и окончания работы утилитки получаем готовый game.graph
Правка карт освещения.
ВНИМАНИЕ: Спойлер!
Этот шаг выполняется только для локаций из ЧН или ЗП, и только в том случае, если вы брали локу из оригинальной игры. Если это ваш случай, начнем. А если брали из пака лок для ТЧ - делать шаг НЕ НАДО.
Открываете папку с локацией там, где вы ее брали. Находим такие файлы lmap*_1.dds и lmap*_2.dds. Наша задача - чтобы в r1 и r2 не было некрасивых жутко черных теней.
Работаем через программу paint.net (требует установленного .Net Framework v2.0), кто умеет, может делать через фотошоп.
В папке с уровнем будем редактировать лайтмапы:
lmap*_1.dds - снижаем контраст на 15 единиц и сохраняем в формате dxt5 без мипмапов, с ними все
lmap*_2.dds переделывать сложнее - задача сделать менее прозрачным. Пересохраняем как dds в формате R5G6B5, прозрачность исчезнет совсем. Открываем снова и меняем прозрачность с 255 до 30, затем снижаем контраст на 15 единиц и сохраняем в формате dxt5 без мипмапов.
Открываете папку с локацией там, где вы ее брали. Находим такие файлы lmap*_1.dds и lmap*_2.dds. Наша задача - чтобы в r1 и r2 не было некрасивых жутко черных теней.
Работаем через программу paint.net (требует установленного .Net Framework v2.0), кто умеет, может делать через фотошоп.
В папке с уровнем будем редактировать лайтмапы:
lmap*_1.dds - снижаем контраст на 15 единиц и сохраняем в формате dxt5 без мипмапов, с ними все
lmap*_2.dds переделывать сложнее - задача сделать менее прозрачным. Пересохраняем как dds в формате R5G6B5, прозрачность исчезнет совсем. Открываем снова и меняем прозрачность с 255 до 30, затем снижаем контраст на 15 единиц и сохраняем в формате dxt5 без мипмапов.
Вставка локаций в игру.
ВНИМАНИЕ: Спойлер!
Нам необходимы следующие файлы:
configs\game_graphs.ltx
configs\game_levels.ltx
configs\game_maps_single.ltx
levels\l01_escape\
levels\generators\
Копируйте эти файлы в геймдату игры из геймдаты СДК. Также нужны файлы game.graph и spawns\all.spawn, их берете оттуда, где с ними работали.
Мы пока не скопировали паку с болотами. У лок из ЧН или ЗП несколько другой порядок копирования в геймдату игры:
--Берете папку marsh из оригинала, где брали ее изначально. Если берете из оригинальной игры - проверьте, что сделали шаг 5.
--Копируете в геймдату игры в папку levels
--из папки level_editor\gamedata\levels\marsh копируете с заменой два файла - level.gct и level.ai - в папку marsh в геймдате игры.
Все, теперь все готово. Можете запускать игру. Могут быть вылеты по шейдерам или текстурам - это нормально. Просто вставьте в геймдату игры недостающие текстуры и добавьте недостающие шейдеры с помощью Shader Editor.
Маленький совет: если ваша локация уже есть в оригинальной игре (у нас кордон), для уменьшения веса сборки всю папку levels\l01_escape копировать необязательно. Достаточно лишь скопировать файл level.gct из папки кордона в СДК в папку levels\l01_escape.
При составлении данного тутора использовались туторы от KostyaV, D1m0n и HitmanNew, а также ридми к программам от Колмогора и Бардака.
configs\game_graphs.ltx
configs\game_levels.ltx
configs\game_maps_single.ltx
levels\l01_escape\
levels\generators\
Копируйте эти файлы в геймдату игры из геймдаты СДК. Также нужны файлы game.graph и spawns\all.spawn, их берете оттуда, где с ними работали.
Мы пока не скопировали паку с болотами. У лок из ЧН или ЗП несколько другой порядок копирования в геймдату игры:
--Берете папку marsh из оригинала, где брали ее изначально. Если берете из оригинальной игры - проверьте, что сделали шаг 5.
--Копируете в геймдату игры в папку levels
--из папки level_editor\gamedata\levels\marsh копируете с заменой два файла - level.gct и level.ai - в папку marsh в геймдате игры.
Все, теперь все готово. Можете запускать игру. Могут быть вылеты по шейдерам или текстурам - это нормально. Просто вставьте в геймдату игры недостающие текстуры и добавьте недостающие шейдеры с помощью Shader Editor.
Маленький совет: если ваша локация уже есть в оригинальной игре (у нас кордон), для уменьшения веса сборки всю папку levels\l01_escape копировать необязательно. Достаточно лишь скопировать файл level.gct из папки кордона в СДК в папку levels\l01_escape.
При составлении данного тутора использовались туторы от KostyaV, D1m0n и HitmanNew, а также ридми к программам от Колмогора и Бардака.
Спасибо сказали: Rat, udav-0, Гусар, Holy Sirius, клик
06 окт 2012 17:54
#2835
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Тоесть xray-sdk нерабочая прога? Чтоб её настроить нужна куча сторонних програм. Как её настроить не на диске С?
06 окт 2012 21:12
#2837
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Может кто подскажет как заставить работать тутор, у меня он не запускается чаще всего мигнет командная строка и все?
05 дек 2013 13:04
#36390
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
"4. Возьмите распакованную версию игры Сталкер ТЧ версии 1.0004 (gamedata) и поставьте с заменой в X-Ray SDK\level_editor. Это упростит работу в будущем."
Можно обойтись без копирования,просто заменить пути? И как это сделать? Просьба объяснить поподробней,а то наверчу фигни всякой.
Можно обойтись без копирования,просто заменить пути? И как это сделать? Просьба объяснить поподробней,а то наверчу фигни всякой.
02 фев 2014 14:57
#55051
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
А зачем тебе указывать путь у игре.Так будет не очень надежно,и при порче,придется переустанавливать игру.Но это можно сделать в папке(Если не ошибаюсь) X-Ray SDK/level_editor/fsgame.ltx Вот там укажешь пути к игре.В принципе,ты только усложняешь себе работу.Но дело твое,и я лезьт не стану
03 фев 2014 04:16
#55172
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Опять здрасте!
При запуске ActorEditor выдает такие ошибки:
Когда он всё-таки запускается,ничего в нем открыть не могу- при нажатии кнопок "загрузить","импорт" ничего не происходит. И вообще открывается только одна тестовая лока в LevelEditor. Что не так? Может,прогу кривую скачал?
Для чего всё это нужно? Хочу открывать объекты Сталкера в 3DS Max. Есть импортер из ОГФ в СМД, но это не совсем то,что нужно,так как в объектах теряется связь костей со скином. Нашел три скрипта для конвертации скин в физик - не один не работает. Стоит MAX 2009.
И вот еще какая шняга. Текстура кровососа не отображается при рендере,хотя во вьюпорте она есть! С другими моделями и текстурами все нормально,а сосыч серый. Что может быть?
Кароче: HELP!!
При запуске ActorEditor выдает такие ошибки:
Когда он всё-таки запускается,ничего в нем открыть не могу- при нажатии кнопок "загрузить","импорт" ничего не происходит. И вообще открывается только одна тестовая лока в LevelEditor. Что не так? Может,прогу кривую скачал?
Для чего всё это нужно? Хочу открывать объекты Сталкера в 3DS Max. Есть импортер из ОГФ в СМД, но это не совсем то,что нужно,так как в объектах теряется связь костей со скином. Нашел три скрипта для конвертации скин в физик - не один не работает. Стоит MAX 2009.
И вот еще какая шняга. Текстура кровососа не отображается при рендере,хотя во вьюпорте она есть! С другими моделями и текстурами все нормально,а сосыч серый. Что может быть?
Кароче: HELP!!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Возможно кривую скачал,я лично им не пользуюсь,и наверно не буду.Поэтому ничего не могу объсянить
05 фев 2014 12:19
#55636
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Ребят, я как то в xray sdk 0.4 наткнулся на эту опцию "отображение полигонов" или что то в этом духе, а щас найти никак не могу чтобы отключить ее. Кто знает как отрубить ее?
30 апр 2016 16:09
#198356
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Сталкеров в Зоне
|