SDK для 4A Engine своими руками |
Здравствуйте, гость ( Авторизация | Регистрация )
SDK для 4A Engine своими руками |
01.03.2019, 00:36
Сообщение
#601
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Мне тут предложили создать отдельную тему по поводу редактора уровней который я показывал в теме "Вскрытие ресурсов Метро 2033", так что теперь все новости и прочее будет здесь.
Скачать актуальную версию можно тут: Скачать последнюю тестовую версию можно тут: Чейнджлог Версия от 28 февраля 2019:
Версия от 17 марта 2019:
Версия от 23 марта 2019:
Версия от 30 апреля 2019:
Версия от 18 августа 2019:
Версия от 25 августа 2019:
Версия от 20 января 2020:
Версия от 30 марта 2020:
Версия от 28 июня 2021:
Версия от 20 сентября 2021:
Версия от 4 ноября 2021:
Версия от 18 ноября 2021:
Версия от 6 февраля 2022:
Консольные утилиты Полноценный распаковщик и запаковщик для Last Light, readme в архиве Программы для работы с конфигами и конвертер моделей Исходники можно найти в исходниках level_editor'а. В архиве содержится три программы: split.exe, binunp.exe и model.exe. Первая split.exe, предназначена для разбития scripts.bin на отдельные файлы и сборки обратно. Для разбития поместить файл scripts.bin в рабочей папке и запустить без параметров или с одним параметром -d(без разницы). Код split.exe Если всё прошло хорошо должна появится папка scripts с большим количеством .bin файлов в ней. Для обратной сборки запустить с ключом -c: Код split.exe -c Скрипты при сборке опять таки берутся из папки scripts в рабочей папке. Вторая binunp.exe, предназначена для конвертирования .bin конфигов(файлы добытые из scripts.bin, level.bin и некоторые другие) в человеко-читаемый формат и обратно. Именно на её основе строится редактор уровней. Что умеет:
Распаковка level.bin осуществляется следующим образом: Код binunp.exe -l -d level.bin level.txt Где level.bin - имя файла для распаковки. Где level.txt - имя распакованного текстового файла. Запаковка level.bin: Код binunp.exe -l [-k N] -c level.txt level.bin Где level.txt - имя текстового файла для запаковки. Где level.bin - имя нового двоичного файла. Параметр -k необязательный, на месте N указывается тип .bin файла, по умолчанию 5. В 2033 используется 5, в last light 4, в следующих играх 36. Распаковка конфигов с отладочной инфой: Код binunp.exe -l -d file.bin file.txt Где file.bin - имя файла для распаковки. Где file.txt - имя распакованного текстового файла. При попытке распаковать таким образом конфиг без отладочной информации будет выведено сообщение об ошибке следующего вида: Код Exception: Cannot decompile config with kind=4 Распаковка конфигов без отладочной инфы(при помощи скрипта): Код binunp [-v] -s js\script.js file.bin file.txt Где js\script.js - имя скрипта в папке js используемого для разбора конфига. Где file.bin - имя файла для распаковки. Где file.txt - имя распакованного текстового файла. Параметр -v необязательный, если указать то будет выводиться предупреждение в том случае если данные были прочитаны не до конца. Есть специальный случай, если имя файла для распаковки textures.bin, то скрипт не используется, вместо него нужно указать пустую строчку. Код binunp -s "" textures.bin textures.txt Запаковка конфигов: Код binunp.exe [-k N] -c file.txt file.bin Где file.txt - имя текстового файла для запаковки. Где file.bin - имя нового двоичного файла. Параметр -k необязательный, на месте N указывается тип .bin файла, по умолчанию 5. Желательно указывать такой же какой был показан при распаковке. Последняя model.exe, конвертер моделей. Умеет следующее:
Краткая справка доступна при запуске без параметров. Эта инструкция будет дописываться. Сторонние утилиты Сообщение отредактировал Modera - 06.02.2022, 08:21 |
 
|
|
|
|
31.05.2020, 19:28
Сообщение
#602
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
|
 
|
|
03.06.2020, 01:51
Сообщение
#603
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Я разобрался с пальцем, можно пилить анимации дальше.
action002.zip ( 1,16 килобайт )
Кол-во скачиваний: 123
Если кому интересно, вот в чём было дело. Чуть выше я писал что кватернионы в метро-анимациях хранятся как три компонента X, Y, Z, а четвёртый W восстанавливается их условия нормальности кватерниона, то есть W = sqrt(1 - (X*X + Y*Y + Z*Z)). Естественно так может получится только положительное число, и если попадается кватернион с W меньше нуля его необходимо вывернуть, поменяв знак всем четырём компонентам. В этой анимации, удивительно, только у одной кости большого пальца правой руки оказался такой кватернион. Сообщение отредактировал Modera - 03.06.2020, 01:56 |
 
|
|
03.06.2020, 06:16
Сообщение
#604
|
|
Геймер Репутация: 7 Группа: Участник Сообщений: 110 Регистрация: 08.08.2019 |
Я разобрался с пальцем, можно пилить анимации дальше.
action002.zip ( 1,16 килобайт )
Кол-во скачиваний: 123 Если кому интересно, вот в чём было дело. Чуть выше я писал что кватернионы в метро-анимациях хранятся как три компонента X, Y, Z, а четвёртый W восстанавливается их условия нормальности кватерниона, то есть W = sqrt(1 - (X*X + Y*Y + Z*Z)). Естественно так может получится только положительное число, и если попадается кватернион с W меньше нуля его необходимо вывернуть, поменяв знак всем четырём компонентам. В этой анимации, удивительно, только у одной кости большого пальца правой руки оказался такой кватернион. О крута ждём порта анимаций. Модера а ты не можешь глянуть у нас почему что environments.bin не запаковывается , распаковывает норм а при запаковке вот это: An unhandled exception occurred at $0000000100027264: Exception: 8:39: unknown type 'shader, str_shared' $0000000100027264 $000000010002C56E $000000010002C643 $000000010002C643 $000000010002D25C $000000010002D428 $0000000100001AC6 $00000001000023FE $00000001000024C6 $00000001000106D3 $00000001000111D1 $00007FFF0C794034 $00007FFF0D883691 |
 
|
|
03.06.2020, 12:44
Сообщение
#605
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Vladimiov, поправил
|
 
|
|
16.07.2020, 15:53
Сообщение
#606
|
|
Новичок Репутация: 2 Группа: Участник Сообщений: 8 Регистрация: 21.06.2020 |
|
 
|
|
17.07.2020, 16:13
Сообщение
#607
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Как ты расшифровал этот файл .motion? Как он, тип, зашифрован? Привет. Видел твои сообщения в других темах, я сейчас не могу помочь с запаковкой, т.к. мне пришлось оставить мой компьютер и пересесть на древнючий селерон с 512 озу и видеокартой FX 5200. Тут всё торомзит безбожно, я из под Links форум читаю, о запуске метрошки не может быть и речи. Файлы эти не зашифорваны, просто фомат(читай какие данные и в каком порядке там записаны) их неизвестен. Разбор форматов это очень обширная тема, я лично очень долго и въедливо рассматриваю фалйы в HEX-редакторе, ищу там закономерности, пока не придёт примерное понимание что к чему. После этого можно начинать ставить опыты, пробовать что-то в файлах изменять и смотреть верны мои догадки или нет. Можно так-же изучать под отладчиком программу которая с файлами работает, некоторые люди сразу с этого начинают, я прибегаю к такому только если не могу разобраться вышеописанным методом. В случае с метро ещё помогает наличие движка иксрей и огромного количества информации по нему. Движок создан теми же людьми, и многие инженерные решения там схожи, форматы в том числе. |
 
|
|
18.08.2020, 15:02
Сообщение
#608
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Я доделал импорт анимаций для 2033! Тестовая версия с ним:
Исходники и две точно рабочих анимации для примера в комплекте. Первая анимация это показывание фака для рук, вторая для модели гермозатвора, перемещение по треугольнику. Импорт делается в Model Editor'е через меню File -> Import Motion. Перед этим нужно открыть модель со скелетом для которого сделана анимация. Вчера весь день с этим провозился. Не лучшим образом сказывается то что опыт анимирования у меня был только в майе 2009, FBXы от которой не читаются библиотекой assimp(короче формат FBX - отстой с кучей не совместимых версий), пришлось использовать блендер в котором я нифига не знаю. Часа два протупил из за того что я поставил ключи в Object Mode, а не в Pose Mode. В блендере такие анимации работают как надо, но в FBX не экспортируются. Потом я переставил ключи в режиме Pose Mode, сделал Bake Action и у меня получился FBX файл с тремя анимациями, из которых только одна содержит то что я сделал. Звиздец. Насчёт того будут ли новые анимации работать для НПСов я не знаю, надеюсь вы это сами проверите. Оригинальные содержат ещё анимации локаторов и два каких-то чанка неизвестного назначения. На данный момент при импорте ничего этого не записывается. Ну и другие изменения в этой версии (за май-июнь): Цитата В окно выбора моделей добавлена возможность выбирать пресеты (по даблклику на модельку)
Использование лодов редактором уровней Починена поддержка Windows XP (в прошлой версии было сломано) Исправлено выворачивание бинормалей на импортированных моделях Генератор ID теперь не забивает первые 256 объектов, в оригинальной игре так |
 
|
|
18.08.2020, 15:17
Сообщение
#609
|
|
Игрок Репутация: 7 Группа: Участник Сообщений: 46 Регистрация: 10.10.2018 |
Я доделал импорт анимаций для 2033! Тестовая версия с ним: Исходники и две точно рабочих анимации для примера в комплекте. Первая анимация это показывание фака для рук, вторая для модели гермозатвора, перемещение по треугольнику. Импорт делается в Model Editor'е через меню File -> Import Motion. Перед этим нужно открыть модель со скелетом для которого сделана анимация. Вчера весь день с этим провозился. Не лучшим образом сказывается то что опыт анимирования у меня был только в майе 2009, FBXы от которой не читаются библиотекой assimp(короче формат FBX - отстой с кучей не совместимых версий), пришлось использовать блендер в котором я нифига не знаю. Часа два протупил из за того что я поставил ключи в Object Mode, а не в Pose Mode. В блендере такие анимации работают как надо, но в FBX не экспортируются. Потом я переставил ключи в режиме Pose Mode, сделал Bake Action и у меня получился FBX файл с тремя анимациями, из которых только одна содержит то что я сделал. Звиздец. Насчёт того будут ли новые анимации работать для НПСов я не знаю, надеюсь вы это сами проверите. Оригинальные содержат ещё анимации локаторов и два каких-то чанка неизвестного назначения. На данный момент при импорте ничего этого не записывается. Ну и другие изменения в этой версии (за май-июнь): Цитата В окно выбора моделей добавлена возможность выбирать пресеты (по даблклику на модельку) Использование лодов редактором уровней Починена поддержка Windows XP (в прошлой версии было сломано) Исправлено выворачивание бинормалей на импортированных моделях Генератор ID теперь не забивает первые 256 объектов, в оригинальной игре так БОЖЕ, СПАСИБО! МОДЕРА Я ТЕБЯ ЛЮБЛЮ!!!!! -------------------- |
 
|
|
18.08.2020, 15:18
Сообщение
#610
|
|
Ветеран Репутация: 10 Группа: Участник Сообщений: 99 Регистрация: 28.11.2018 |
Я доделал импорт анимаций для 2033! Тестовая версия с ним: Исходники и две точно рабочих анимации для примера в комплекте. Первая анимация это показывание фака для рук, вторая для модели гермозатвора, перемещение по треугольнику. Импорт делается в Model Editor'е через меню File -> Import Motion. Перед этим нужно открыть модель со скелетом для которого сделана анимация. Вчера весь день с этим провозился. Не лучшим образом сказывается то что опыт анимирования у меня был только в майе 2009, FBXы от которой не читаются библиотекой assimp(короче формат FBX - отстой с кучей не совместимых версий), пришлось использовать блендер в котором я нифига не знаю. Часа два протупил из за того что я поставил ключи в Object Mode, а не в Pose Mode. В блендере такие анимации работают как надо, но в FBX не экспортируются. Потом я переставил ключи в режиме Pose Mode, сделал Bake Action и у меня получился FBX файл с тремя анимациями, из которых только одна содержит то что я сделал. Звиздец. Насчёт того будут ли новые анимации работать для НПСов я не знаю, надеюсь вы это сами проверите. Оригинальные содержат ещё анимации локаторов и два каких-то чанка неизвестного назначения. На данный момент при импорте ничего этого не записывается. Ну и другие изменения в этой версии (за май-июнь): Цитата В окно выбора моделей добавлена возможность выбирать пресеты (по даблклику на модельку) Использование лодов редактором уровней Починена поддержка Windows XP (в прошлой версии было сломано) Исправлено выворачивание бинормалей на импортированных моделях Генератор ID теперь не забивает первые 256 объектов, в оригинальной игре так Превосходно! -------------------- |
 
|
|
18.08.2020, 15:52
Сообщение
#611
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
UPD: забыл папку js в архив добавить, перезалил. Ссылка та же.
|
 
|
|
21.08.2020, 12:29
Сообщение
#612
|
|
Pro gamer
Почти Игроман Репутация: 72 Группа: Участник Сообщений: 622 Регистрация: 05.11.2017 |
Modera, есть предложение сортировать шейпы по параметру obstacle. Т.е. вместо Shapes добавить Obstacles и Zones
|
 
|
|
21.08.2020, 12:54
Сообщение
#613
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
atanda, я подумаю над этим. Тогда наврено неплохо их и другим цветом отображать.
|
 
|
|
09.09.2020, 11:41
Сообщение
#614
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Короче мне надоело смотреть на скучные модели с накамерным светом на голубом фоне, поэтому в следующей версии редактора будет погода. Картинка конечно далека от игровой, это больше для того чтобы у мапперов депрессия не развивалась.
Ещё по поводу того бага со слишком сильными тенями. Я допилил конвертер уровней из сталкерского формата, теперь он конвертирует ещё и лайтмапы. Вот как выглядит освещение без лайтпамов: И с лайтмапами: |
 
|
|
09.09.2020, 21:09
Сообщение
#615
|
|
Игрок Репутация: 7 Группа: Участник Сообщений: 46 Регистрация: 10.10.2018 |
Короче мне надоело смотреть на скучные модели с накамерным светом на голубом фоне, поэтому в следующей версии редактора будет погода. Картинка конечно далека от игровой, это больше для того чтобы у мапперов депрессия не развивалась. Ещё по поводу того бага со слишком сильными тенями. Я допилил конвертер уровней из сталкерского формата, теперь он конвертирует ещё и лайтмапы. Вот как выглядит освещение без лайтпамов: И с лайтмапами: Топ -------------------- |
 
|
|
14.09.2020, 23:14
Сообщение
#616
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Короче новая тестовая версия, вместе с консольными утилитами:
Тут помимо всего прочего добавилась поддержка Redux версии (нормальная, а не такая как раньше была), теперь редактором можно открывать и сохранять, по идее, любой уровень из редакса, как 2033 так и ЛЛ. Правда редакс изменённые файлы уровней из патч-архивов от существующих запаковщиков не воспринимает почему-то, это изначальная причина почему я не торопился его поддержку делать, но я вручную хексом заменял файл в архиве и вроде как всё сохраняется правильно и уровни редачить можно. Эту проблему я оставляю вам, разбирайтесь как хотите, а я пока ухожу в отпуск. Ну и полный список изменений в этой версии, относительно версии за 30 марта: Цитата В окно выбора моделей добавлена возможность выбирать пресеты (по даблклику на модельку)
Использование лодов редактором уровней Починена поддержка Windows XP (в прошлой версии было сломано) Исправлено выворачивание бинормалей на импортированных моделях Генератор ID теперь не забивает первые 256 объектов, в оригинальной игре так Начальная реализация импорта анимаций Пофикшена проблема с нормалями MU объектов на картах конвертированных из сталкера Полная поддержка уровней из Redux версии игры Возможность конвертировать карту из сталкера с лайтмапами (ключ -lmap), карта должна быть для ТЧ (X-Ray SDK 0.4 версии), т.к. в ЧН и дальше строение лайтмапов отличается Добавлен скрипт разбора параметров карты от Last Light, автор - Arkyt Погода в редакторе уровней Добавлено отображение позиции камеры, рядом с количеством выделенных объектов |
 
|
|
15.09.2020, 03:13
Сообщение
#617
|
|
Геймер Репутация: 7 Группа: Участник Сообщений: 110 Регистрация: 08.08.2019 |
Короче новая тестовая версия, вместе с консольными утилитами: Тут помимо всего прочего добавилась поддержка Redux версии (нормальная, а не такая как раньше была), теперь редактором можно открывать и сохранять, по идее, любой уровень из редакса, как 2033 так и ЛЛ. Правда редакс изменённые файлы уровней из патч-архивов от существующих запаковщиков не воспринимает почему-то, это изначальная причина почему я не торопился его поддержку делать, но я вручную хексом заменял файл в архиве и вроде как всё сохраняется правильно и уровни редачить можно. Эту проблему я оставляю вам, разбирайтесь как хотите, а я пока ухожу в отпуск. Ну и полный список изменений в этой версии, относительно версии за 30 марта: Цитата В окно выбора моделей добавлена возможность выбирать пресеты (по даблклику на модельку) Использование лодов редактором уровней Починена поддержка Windows XP (в прошлой версии было сломано) Исправлено выворачивание бинормалей на импортированных моделях Генератор ID теперь не забивает первые 256 объектов, в оригинальной игре так Начальная реализация импорта анимаций Пофикшена проблема с нормалями MU объектов на картах конвертированных из сталкера Полная поддержка уровней из Redux версии игры Возможность конвертировать карту из сталкера с лайтмапами (ключ -lmap), карта должна быть для ТЧ (X-Ray SDK 0.4 версии), т.к. в ЧН и дальше строение лайтмапов отличается Добавлен скрипт разбора параметров карты от Last Light, автор - Arkyt Погода в редакторе уровней Добавлено отображение позиции камеры, рядом с количеством выделенных объектов Круто .Проверил REDUX вроде работает тока почему то у меня рандомный уровень грузится после запаковки metroexом.Будем ждать тебя мадера. |
 
|
|
15.09.2020, 11:36
Сообщение
#618
|
|
Ветеран Репутация: 10 Группа: Участник Сообщений: 99 Регистрация: 28.11.2018 |
Цитата Возможность конвертировать карту из сталкера с лайтмапами (ключ -lmap), карта должна быть для ТЧ (X-Ray SDK 0.4 версии), т.к. в ЧН и дальше строение лайтмапов отличается Ах ты ж елки палки. Я с X-Ray SDK 0.7 работал до сей поры. Придется от ТЧ теперь скачивать... -------------------- |
 
|
|
15.09.2020, 12:46
Сообщение
#619
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Ну эт не сложно переделать. Не буду вас мучить, учитывая что 0.4 СДК на виндах после XP без танцев с бубном нормально не работает. А ещё я забыл DLLку FreeImage.
|
 
|
|
16.09.2020, 22:10
Сообщение
#620
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Год назад я подумывал создать репозиторий этого проэкта, но не стал, потому что гит говно, а бесплатных хостингов для других систем контроля версий я не знаю, однако жизнь складывается таким образом что мне сейчас всё-таки приходится использовать ГИТ в другом проэкте, и никуда от него не денешься, поэтому для тех кто ждал репозиторий, го, я создал:
Но не надейтесь там увидеть внятных коммитов на каждое изменение, коммитить я буду когда захочу и как хочу, и пофигу мне, ибо СКВ не нужны потому что. Сообщение отредактировал Modera - 16.09.2020, 22:36 |
 
|
|
21.10.2020, 11:45
Сообщение
#621
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Привет мальчики, у меня тут новая тестовая версия!
Из нового, во первых тут появились такие функции как Undo, Redo и File->Reopen, которая откатывает уровень до состояния которое сохранено на диске. Во вторых мне надоело смотреть на унылый вид редактора с классическим оформлением и я добавил маняфест файлы, так что он теперь использует визуальные стили от Windows XP/Vista/7/8/10. Но я этим не ограничился, ещё я заменил скучные обычные кнопки для переключения инструментов и погоды на такие вот няшные плоские кнопочки с картиночками а-ля .NET. Обратите внимание что иконки инструментов используются из редактора сталкер2, что в нашу современность актуальненько. Дерево со списком объектов так-же потерпело изменения в сторону кавайности, иконки жёлтых папок из 1995 года заменены на синие папочки, напротив одиночных объектов теперь показывается кубик, а напротив групп - иконка с маленькими кунусиком, цилиндриком и квадратиком. Далее я наконец-то доделал редактор звуковых зон. Тут всё так-же просто - можно создавать на Ctrl, трансформировать обычными инструментами, удалять на Delete. Звуковые зоны так-же можно скреплять вместе и удалять у них отдельные квадраты подобно шейпам, на Ctrl+Z и Ctrl+X. Звуковые зоны с более чем одним квадратом начали появляется в DLC ласт лайта, и работоспособность в более старых версиях я не проверял. Кнопки Add layer и Remove Layer добавляют и удаляют слои, в которых указываются фоновые звуки, слои можно переключать скриптами. Ещё я добавил вкладку Weather, в которой можно изменять погоду. Кнопки Apply! и Reset нужны для записи выбранной погоды в параметры уровня и для восстановления погоды указанной там. Выбор погоды в списке сам по себе ничего не меняет в настройках уровня. Что интересно, в 2033 есть погода с названием underwater_deep6. Я это давно заметил, ещё когда разбирал конфиги, и вспомнил что это название я уже где-то встречал. И точно, это был отменённый проект 4A Games про инопланетян и концлагеря на дне океана. Интересно, остались ли где-нибудь его билды... |
 
|
|
Текстовая версия | Сейчас: 20.04.2024, 06:13 |