Модостроение. Создание и редактирование локаций
|
|
denis2000 | Дата: Пн, 10.10.2011, 21:29 | Сообщение # 1 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Создание, редактирование, перенос локаций и добавление в игру Работа с SDK и дополнительными программами для создания, редактирования и добовления локаций Если у вас появились вопросы по созданию, редактированию, переносу локаций, а так же по добавлению их в игру. Задавайте их в этой теме - умные головы, модосторители и просто разбирающиеся в программировании люди вам ответят.
Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7
Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML [cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл: 1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R]) 2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx" 3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо) Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#" Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut]
[cut=Декомпиляция уровней в формат SDK. Спасибо VERvolF]Для декомпиляции игровых карт в формат LevelEditor'a используется консольная утилита converter.exe, входящая в пакет X-ray Game asset tools pack или X-ray Engine Tools (converter). Последнюю версию искать на сайте
Настройка Конвертера.
Открываем любым текстовым редакором файл converter.ini, в нем находим строки: Code ; 2947+ (финалка включая обновления) [2947_config]:2945_config $game_data$ = c:\temp\1\gamedata.3312\ $game_levels$ = c:\temp\1\gamedata.3312\levels\
; 3456+ (Clear Sky включая обновления) [3456_config]:2947_config $game_data$ = c:\temp\1\gamedata.3502\ $game_levels$ = c:\temp\1\gamedata.3502\levels\ fake_mu_gamemtls = 34xx_fake_mu_gamemtls fake_gamemtls = 34xx_fake_gamemtls Здесь $game_data$ - путь до папки gamedata с распаковаными ресурсами игры, $game_levels$ - до папки levels в gamedata соответственно. Необходимо указать полные пути.
В файле fsconverter.ltx находим следующую строку: Code $sdk_root$ = false| false| c:\program files\x-ray sdk\level_editor\ Здесь $sdk_root$ - путь до полного SDK (русифицированный не работает нормально с converter.exe). Правим путь на свой, не забывая поставить слэш в конце.
Более конкретная настройка СДК см. Ссылки.
Декомпиляция.
Конвертер полностью настроен, теперь нужно создать .bat-файл для конвертирования в формат SDK. Для этого создаем текстовой файл, пишем внутри команду и меняем формат файла с .txt на .bat: Code converter -level <имя_карты> -out <имя_сцены> -mode maya|le|le2 -with_lods pause Здесь <имя_карты> - имя папки с картой в каталоге gamedata\levels\, например l08_yantar (локация Янтарь из ТЧ), <имя_сцены> - имя карты после декомпиляции, можно не писать, в этом случае имя карты после декомпиляции не изменится. Далее выдержка из docs\converter.txt:
Quote Ключ -mode задаёт режим работы: maya - декомпилировать только геометрию карты. le - декомпилировать в формат LE. le2 - декомпилировать в формат LE (для l12_stancia_2). raw - декомпилировать в формат LE (отладочный режим).
Ключ -with_lods обрабатывается в зависимости от значения -mode. Если он задан совместно с -mode maya, программа выдаст ещё и MU-модели. С остальными режимами его наличие заставляет converter разбивать LOD-текстуры, что необходимо для полной пересборки. Также ключ ''-with_lods'' следует использовать если планируется дальнейшая перекомпиляция уровня.
Отладочные параметры: -dbgcfrm, -dbgmrg.
То есть команда для декомпиляции в формат SDK, например, уровня l08_yantar будет выглядеть так: Code converter -level l08_yantar -out l08_yantar_decompiled -mode le -with_lods Если все сделано правильно, то после запуска батника пойдет процесс декомпиляции.
Найти декомпилированную карту можно будет в каталоге $sdk_root$\maps (файл, читаемый SDK) и $sdk_root$\rawdata\objects\levels (обьекты, используемые данным уровнем). Ну а далее думаю всё и так понятно - в ЛЕ жмём File -> Open и открываем нашу карту. [/cut][cut=Создание LOD-текстур]Изначально в пакете SDK отсутствуют LOD'ы. Их придется создать самостоятельно. В свитке Scene Level Editor'a кликаем Objects-->Library Editor (Объекты-->Библиотека объектов). В открывшемся диалоговом окне выбираем нужный объект, ставим флажок Preview (Предпросмотр). Нажатием кнопки Make LOD (High Quality) или Make LOD (Low Quality) запускаем процесс создания LOD-текстур соответственно в высоком или низком качестве. Созданные LOD'ы можно найти в \rawdata\textures\lod\ (.tga) и \gamedata\textures\lod\ (.dds и .thm).
Если у объекта отсутствует .thm-файл с картинкой-превьюшкой, то можно создать его нажатием кнопки Make Thumbnail (Создать миниатюру), выбрав перед этим удобный ракурс для "съемки". [/cut]
[cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти? Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда. Для того чтоб найти LOG необходимо зайти вот сюда:
В Win хр лог находится:
C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs
Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.
В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs
Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка: ... $app_data_root$ = true | false| $fs_root$| users\(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx) ... $logs$ = true| false| $app_data_root$| logs\(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи) ... [/cut][cut=Получение более подробной информации о вылете (ХОВАН)] Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...) Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так: Code function abort(fmt, ...) local reason = string.format(fmt, ...) error_log(reason) end Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией
Первый: Code Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil) Второй: Code Expression : 0 Function : ErrorLog File : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp Line : 49 Description : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic' [/cut]
Перед тем, как задать вопрос в этой теме, прочтите все предыдущие страницы, статьи в wiki по ссылке из шапки и соседнюю тему "Курс молодого бойца", возможно Ваш вопрос уже рассматривался.
Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки. Помните чем подробнее вопрос, тем точнее ответ.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Орлан | Дата: Ср, 15.01.2014, 17:49 | Сообщение # 316 |
Отмычка
Пользователи
Сообщений: 26
| Цитата denis2000 ( ) настроен так: ggTool.pl section4.bin > parse_lvids.ltx. По сути он должен работать но не работает.Поздравляю команда ggTool.pl section4.bin > parse_lvids.ltx означает запустить ggTool.pl дать ему на обработку файл section4.bin и результат работы вместо консоли отправить в файл parse_lvids.ltx. Есть только одно НО в Win 7 и вероятно в Vista этот метод не работает из-за каких-то глюков командного процессора. Выход убрать > parse_lvids.ltx и читать вывод с консоли, а не из файла. Цитата denis2000 ( ) dmitry778, Консоль - это то черное окно (точнее виртуальная консоль - но это не важно) которое откроется после запуска программы, чтобы оно не закрылось после отработки программы в новой строке батника добавь pause когда то это помогало , но вот сейчас поставил ACDC декомпилировал все нормально ,но вот что смешно в этот раз не как не работает ggTool и ggEditor , первый ничего не ищет постоянно ошибка http://SSMaker.ru/bb2475e3/
Что еще можно предпринять ?
Можно попытаться получить не битый файл section4.bin. denis2000
Сообщение отредактировал Орлан - Чт, 16.01.2014, 16:06 |
|
|
Эти 0 пользователя(ей) поблагодарили Орлан за это полезное сообщение: |
|
|
gamer | Дата: Пт, 17.01.2014, 22:04 | Сообщение # 317 |
Новичок
Пользователи
Сообщений: 82
| Как правильно розчитать game vertex если записую результат ggeditor-а вылет Invalid vertex for object
А где исходные данные? А где постановка задачи? denis2000
Добавлено (17.01.2014, 22:04) --------------------------------------------- Исходное значение 472 ну если 934-472 =462 ну тогда спавн на Янове
Имеем 3 значения: [1] Начальный GVID подключаемой локации - допустим, 1000 [2] Конечный GVID из старого section4.bin - допустим, 6000 [3] GVID какого-то объекта на подключаемой локации - допустим, 1021 Тогда, к третьему значению ([3]) добавляем разницу между вторым ([2]) и первым значением ([1]), то есть: GVID какого-то объекта на ПОДКЛЮЧЕННОЙ локации будет уже: 1021 + (6000 - 1000) = 6021 Не забудьте проверить section4.bin - возможно вы используете старый, стандартный. XOBAH Спасибо.Перенёс так много чего рпботает )) Ещё один вопросик гейм вертексы way_локация СЧитаетсЯ точно также? L
Пожалуйста. Да. XOBAH
Сообщение отредактировал gamer - Сб, 18.01.2014, 08:25 |
|
|
Эти 0 пользователя(ей) поблагодарили gamer за это полезное сообщение: |
|
|
Орлан | Дата: Сб, 18.01.2014, 05:29 | Сообщение # 318 |
Отмычка
Пользователи
Сообщений: 26
| denis2000 там я разобрался битый Был Эдитор , скачал другой все работает , но вот почему то скачиваю новые версии ACDC 1,35 и 1,36 и они как не кручу не хотят декомпилировать те рекомендации что прописаны у вас я уже испробовал ?
1. Проверьте версию stkutils, последняя: http://yadi.sk/d/l6osH5PQF9ynj 2. Перед декомпиляцией проведите сканирование конфигов, для этого, сначала удалите sections.ini, иначе сканирования не будет. Далее выполняйте следующий батник: Код universal_acdc.pl -d all.spawn -out output -scan ../config/ -sort complex pause Где "../config/" является путем до ваших конфигов относительно батника. Т.е. запускаем батник из папки gamedata/spawns/ - читаться конфиги будут из папки gamedata/config/ (../ - переход на уровень выше, в gamedata/; /config/ - переход в папку config/ (gamedata/config/)) XOBAH
|
|
|
Эти 0 пользователя(ей) поблагодарили Орлан за это полезное сообщение: |
|
|
gamer | Дата: Пн, 20.01.2014, 14:53 | Сообщение # 319 |
Новичок
Пользователи
Сообщений: 82
| при компиляции all.spawn выдаёт лог Argument "" isn't numeric in pack at stkutils/data_packet.pm line 34 -какието не числовые обновления (all.spawn-при етом работает вылетов нету) .что означает етот лог?
интересно ошибка сама по себе пропала
Аргумент какого-то значения был пустым (""), хотя должен быть числовым. ACDC сам, скорее всего, привел его к нужному виду, подставив стандартное значение или 0. XOBAH
Сообщение отредактировал gamer - Пн, 20.01.2014, 15:57 |
|
|
Эти 0 пользователя(ей) поблагодарили gamer за это полезное сообщение: |
|
|
alex_xp_77 | Дата: Пт, 24.01.2014, 14:04 | Сообщение # 320 |
Научный сотрудник.
Ученые сталкеры
Сообщений: 242
| Люди добрые помогите пожалуста понять что просит у меня компилятор, при hiqh, это средняя по качеству компиляция, на драфте, без проблем, все работает, но как только ставлю на средние, билд проходит без ошибок, а как только компилирую, не доходя до финиша происходит вылет вот на этом месте : * New phase started: Resolving materials... | | model 'trees\new_trees\bush_2_01' - 2 subdivisions | Calculating materials/subdivs... | Perfroming subdivisions... | Removing empty subdivs... | Detaching subdivs... | | 218 subdivisions. | Isolating vertices... | | ::compact:: 394402 verts removed * New phase started: Build UV mapping... | Processing... | | ::compact:: 1407 verts removed подскажите люди добрые , уж не на ноды ли вылез лог??Это личное мнение, не знаю на что думать, заранее большое спасибо!! PS В сполер не смог засунуть лог, строчки путаются !!
Сообщение отредактировал alex_xp_77 - Пт, 24.01.2014, 14:07 |
|
|
Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение: |
|
|
denis2000 | Дата: Пт, 24.01.2014, 22:14 | Сообщение # 321 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| alex_xp_77, Все-же хотелось бы увидеть в логе сообщение об ошибке, раз имеет место вылет. А он происходит, если это конечно последняя фаза в логе, на этапе построения карты развертки текстуры.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
alex_xp_77 | Дата: Сб, 25.01.2014, 11:07 | Сообщение # 322 |
Научный сотрудник.
Ученые сталкеры
Сообщений: 242
| Да именно последняя фраза, опять сделал на драфте Денис, и опять все пошло, почему не хочет делаться на средних не понятно, вылета и лога нет, просто прекращение компиляции без сохранений данных, если понимаешь о чем я, ( в конце компиляции время конпиляции--клик оке---сохранение параметров!!)Этого нету, без лога, если продолжать далее делать уже авапером работу, то все пойдет до конца на средних, только игра не запуститься, причем опять же без лога!!хотел уже карту выпустить, она готова, только осталось сделать переход на другую локацию!!И вот столкнулся с непонятной проблемой??Может в компиляторе нужно прописать слово -hiqh,costom, в авапере прописываю на пример -draft!! МОжет компилятор не тот??вот сам компилятор http://SSMaker.ru/8bf0ea6c/ !! Помогите пожалуста, направьте на путь истинный, сам террейн просто на -drafte без шейдеров, сама текстура террейна http://SSMaker.ru/186794a9/
Сообщение отредактировал alex_xp_77 - Сб, 25.01.2014, 11:22 |
|
|
Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение: |
|
|
denis2000 | Дата: Сб, 25.01.2014, 15:21 | Сообщение # 323 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| alex_xp_77, Может просто памяти не хватает, вот и вылет без конкретного лога. Какая ось? Сколько физической памяти? Сколько свободно на момент запуска компилятора?
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
alex_xp_77 | Дата: Сб, 25.01.2014, 15:41 | Сообщение # 324 |
Научный сотрудник.
Ученые сталкеры
Сообщений: 242
| Вот общие параметры моего железа http://SSMaker.ru/1c2d670b/ Добавлено (25.01.2014, 15:41) --------------------------------------------- делаю на хр что бы на всех компах игра шла. Да для средних должна идти компиляция
|
|
|
Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение: |
|
|
denis2000 | Дата: Сб, 25.01.2014, 15:47 | Сообщение # 325 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| alex_xp_77, С такой конфигурацией можно компилировать на High карты либо совсем не большие* или только на Draft. * - Понятие "не большие", довольно не определенное: например на похожей конфигурации Агропром компилиться, а вот Кордон нет, хотя размеры карт отличаются не значительно.
Я бы рекомендовал 8Gb ОЗУ как минимум! А процессор - лучше меньше ядер, но каждое ядро как можно более производительное. Например я тестировал скорость компиляции на двух процессорах AMD и выиграл процессор с двумя быстрыми ядрами, а не с четырьмя более медленными (хотя совокупная производительность ядер этих процессоров была в пользу четырехядерного). Все потому что не на всех этапах компилятор грузит все ядра, на некоторых работает только один поток и как следствие одно ядро. Винда же должна быть естественно 64 битная (я рекомендую 7-ку, висту или ХР не предлагать), во первых потому что в 64 битной системе процесс может запросить у системы более 2 ГБ (то есть 2 в 16 степени страниц памяти по 64кБ), во вторых потому что 64 битная система способна адресовать более 3,24 ГБ физической памяти (у вас ведь физической наверняка 4 ГБ)
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
alex_xp_77 | Дата: Сб, 25.01.2014, 22:25 | Сообщение # 326 |
Научный сотрудник.
Ученые сталкеры
Сообщений: 242
| Хотя один раз сообщение было что не хватает физической памяти, Выделил еще в файл подкачки, думаю сейчас все будет оке!!Оно понятно, что игры создавать нужно железо что надо. И, да ты прав у меня 4 гб оперативы!! Но что тут сделать попробую еще раз !! Сама локация чуть больше Агропрома, возможно такая же !! 1.5км на 1.5 км
Добавлено (25.01.2014, 22:25) --------------------------------------------- Да, вылетает при разных ситуациях но на одной и той же теме, с этими словами: * New phase started: Build UV mapping... | Processing... ЛИбо вот так:
* New phase started: Build UV mapping... | Processing... | | ::compact:: 1407 verts removed
Если ничего сделать не получится , буду продолжать работы , пока не получится улучшить железо, просто как исправить на данном этапе, кроме как улучшить железо не знаю, но все же продолжу на драфте, работы хватит и на данном этапе!!Просто меня успокоило что это не ошибка !! И еще Денис такой вопрос, сам террейн на драфте он без шейдеров правильно?? некая серозеленная непонятная гладь, меня все же беспокоит что на -драфте, а террейн какой то бесцветный, следующая локация маленькая совсем поробую там на средних!!Жаль конечно!!
Сообщение отредактировал alex_xp_77 - Сб, 25.01.2014, 22:31 |
|
|
Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение: |
|
|
denis2000 | Дата: Сб, 25.01.2014, 22:46 | Сообщение # 327 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата alex_xp_77 ( ) И еще Денис такой вопрос, сам террейн на драфте он без шейдеров правильно?? некая серозеленная непонятная гладь, меня все же беспокоит что на -драфте, а террейн какой то бесцветный Да на драфте террейн должен быть без шейдеров, но с детал-текстурой (если прописали в textures.ltx). Серозеленая гладь? Но ведь совпадает с текстурой террейна.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
alex_xp_77 | Дата: Вс, 26.01.2014, 08:00 | Сообщение # 328 |
Научный сотрудник.
Ученые сталкеры
Сообщений: 242
| Цитата denis2000 ( ) Но ведь совпадает с текстурой террейна. Делал в фотошопе, с применением альфа-каналаЦитата denis2000 ( ) если прописали в textures.ltx я не прописывал ничего, единственно что я сделал это трогал скрипты game_maps_single,game_levels,game_graphs, сделал по урокам geniora, все пашет работает, без лагов и глюков!!Только смущает текстура самого террейна без шейдеров!! А по рисунку не глядел, когда експортировал с макса в ае все подошло, сработало как говорится на 10 из 10!!
|
|
|
Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение: |
|
|
denis2000 | Дата: Вс, 26.01.2014, 14:39 | Сообщение # 329 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата alex_xp_77 ( ) смущает текстура самого террейна без шейдеров! На драфте их нет!!! Весь террейн залит подложкой из детал-текстуры, которая назначена в файле textures.ltx (ТЧ) или *.thm (ЧН, ЗП), а если и этого нет, то получается нечтомутно-пятнистое на террейне.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
alex_xp_77 | Дата: Вс, 26.01.2014, 14:58 | Сообщение # 330 |
Научный сотрудник.
Ученые сталкеры
Сообщений: 242
| Именно так Денис!!Я просто не сталкивался с этим скриптом, по этому как править не знаю!!Если вы знаете как, хоть как то исправит (нечто мутно-пятнистое), поделитесь пожалуста опытом!!Буду очень благодарен!!
|
|
|
Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение: |
|
|
|