SDK для 4A Engine своими руками |
Здравствуйте, гость ( Авторизация | Регистрация )
SDK для 4A Engine своими руками |
01.03.2019, 00:36
Сообщение
#521
|
|
. Репутация: 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 |
 
|
|
|
|
19.03.2020, 00:15
Сообщение
#522
|
|
Продвинутый геймер Репутация: 17 Группа: Участник Сообщений: 277 Регистрация: 18.08.2017 |
А что остальные? Как будто после прогонки через макс или майю получится что-то кроме статической геометрии. Нет не получится, я просто грешным делом подумал, что ты таким образом собираешся экспортировать в редактор всю сцену. Я обычно так и делаю, когда нужно перенести исходники, например из СДК ТЧ в СДК ЗП. Нет не проще. Уровни в метро тяжеленные, я новосиб экспортировал в FBX, получался файл размером 900 МБ с копейками. 3д редакторы его еле тянут, как с ним какие-то манипуляции производить я слабо представляю. Сталкерский LE может вообще не переварить, там как бы совсем всё плохо, он 32-битный и ничего с этим не поделаешь. Да тяжеловатые, редакторам напряжно, но можно облегчить им работу скрывая не нужные участки, оставляя только те с которыми работаешь. В конце концов, можно и разбить весь уровень на части и загружать только те с которыми работаешь, а по завершению, собрать все обратно. Геморно, а что делать? Кому сейчас легко? Не понял каким образом было сделано такое умозаключение, редактор сталкера конечно оставляет желать лучшего, но его возможностей достаточно для того чтобы сделать дно и воду более чем. А вот тут мне интересно, каким образом? Редактор позволяет только перемещать, вращать, маштабировать, но не редактировать геометрию. И опять же, ты сам пишешь, что Сталкерский редактор может не переварить уровни из Эксодуса, что он 32х битный. И скорее всего без оптимизации и редактирования их в 3D редакторе, он их и не переварит. А так, можно подредактировать, оптимизировать, настроить материалы и отправить в СДК уже практически готовый уровень. Хотел экспортнуть только один столб, но чет подзабыл как это делать, экспортнулся весь уровень. Процес импорта в Макс можно промотать на 3:40. Сообщение отредактировал WolfHeart - 19.03.2020, 00:24 |
 
|
|
19.03.2020, 01:13
Сообщение
#523
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 100 Регистрация: 02.03.2019 |
Нет не проще. Уровни в метро тяжеленные, я новосиб экспортировал в FBX, получался файл размером 900 МБ с копейками. 3д редакторы его еле тянут, как с ним какие-то манипуляции производить я слабо представляю. Сталкерский LE может вообще не переварить, там как бы совсем всё плохо, он 32-битный и ничего с этим не поделаешь. Да тяжеловатые, редакторам напряжно, но можно облегчить им работу скрывая не нужные участки, оставляя только те с которыми работаешь. В конце концов, можно и разбить весь уровень на части и загружать только те с которыми работаешь, а по завершению, собрать все обратно. Геморно, а что делать? Кому сейчас легко? Modera, можно как вариант сделать выгрузку уровня не полностью, а частично, например в вашем редакторе добавить вкладочку: выгрузить только суперстатику, только все статические объект, только все динамические), а потом это все по очереди собрать. Сообщение отредактировал Thekello - 19.03.2020, 01:16 |
 
|
|
19.03.2020, 01:18
Сообщение
#524
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Да тяжеловатые, редакторам напряжно, но можно облегчить им работу скрывая не нужные участки, оставляя только те с которыми работаешь. В конце концов, можно и разбить весь уровень на части и загружать только те с которыми работаешь, а по завершению, собрать все обратно. Геморно, а что делать? Кому сейчас легко? Легко тем кто подходит к решению задач с умом, а не абы как. Вот мы уже подходим к соглашению что метод с экспортом уровня целиком геморный и не катит... А вот тут мне интересно, каким образом? Редактор позволяет только перемещать, вращать, маштабировать, но не редактировать геометрию. Взять невидимую плоскость с коллизией, поставить её чуть ниже уровня воды, растянуть на весь уровень. Вот и дно готово, 3д редактор не нужен. А если всё-таки нужен в сталкерском СДК есть экспорт сцены в OBJ, не вижу смысла у себя этот функционал дублировать. :wink: И опять же, ты сам пишешь, что Сталкерский редактор может не переварить уровни из Эксодуса, что он 32х битный. И скорее всего без оптимизации и редактирования их в 3D редакторе, он их и не переварит. А так, можно подредактировать, оптимизировать, настроить материалы и отправить в СДК уже практически готовый уровень. Как раз при экспорте уровня целиком у нас напрочь теряется очень важная оптимизация - инстансинг. Каждый объект становится уникальным. А в метро одни и те же модели могут использоваться много раз, за счёт чего очень значительно экономится память. Сталкер тоже это умеет, там это называется MU объекты. При умном экспорте уровня использование MU становится возможным, как это реализовать при экспорте целиком я не представляю. Хотел экспортнуть только один столб, но чет подзабыл как это делать, экспортнулся весь уровень. Процес импорта в Макс можно промотать на 3:40. Экспорт выделения - галочка Selection Only. И загрузка уровня по 3 минуты это конечно круто, а особенно круто будет во Владивостоке, в котором геометрии побольше чем в уровне-заставке. |
 
|
|
19.03.2020, 01:56
Сообщение
#525
|
|
Продвинутый геймер Репутация: 17 Группа: Участник Сообщений: 277 Регистрация: 18.08.2017 |
Вот мы уже подходим к соглашению что метод с экспортом уровня целиком геморный и не катит... Тут можно и согласится и поспорить. Было бы замечательно иметь оба варианта, но думаю такая идея тебе не понравится. Взять невидимую плоскость с коллизией, поставить её чуть ниже уровня воды, растянуть на весь уровень. Вот и дно готово, 3д редактор не нужен. Ну опять начинается... Крышки от кастрюли на трубы лепить, дыры в террейне камнями затыкать, то от чего все нормальные модеры начиная с 2007 по настоящее время стремились избавится, ты предлагаешь вернуть, повернуть эволюцию модинга вспять, деградировать так сказать. Как раз при экспорте уровня целиком у нас напрочь теряется очень важная оптимизация - инстансинг. Каждый объект становится уникальным. А в метро одни и те же модели могут использоваться много раз, за счёт чего очень значительно экономится память. Сталкер тоже это умеет, там это называется MU объекты. При умном экспорте уровня использование MU становится возможным, как это реализовать при экспорте целиком я не представляю. За реализацию при экспорте ничего не скажу, но компиляция разве этого не делает? Экспорт выделения - галочка Selection Only Спасибо! И загрузка уровня по 3 минуты это конечно круто, а особенно круто будет во Владивостоке, в котором геометрии побольше чем в уровне-заставке. А ты знаешь сколько времени занимает импорт декомпелированного уровня скриптами Ден Сташа в Макс? Так что, нас этим не напугаешь. Modera, Не знаю, тебе со своей "Колокольни" наверное виднее, но ты предложил обсудить и мое мнение... Точнее, я бы предпочел все же экспорт в 3D редактор, а уж потом в СДК, а не сразу на прямую в СДК. Но я не откажусь и опробовать вариант прямого экспорта в СДК, вполне возможно он окажется лучше и тогда я Ты мое мнение услышал, выбор за тобой. В любом случае мы ждем этого. Сообщение отредактировал WolfHeart - 19.03.2020, 02:02 |
 
|
|
19.03.2020, 14:17
Сообщение
#526
|
|
Почти Игроман Репутация: 153 Группа: Участник Сообщений: 614 Награды: 4 Регистрация: 03.05.2012 |
Как раз при экспорте уровня целиком у нас напрочь теряется очень важная оптимизация - инстансинг. Сталкер не умеет в инстансинг Даже при множественных копиях одной модели рендерится это всё последовательно. Сталкер умеет только в батчинг спрайтов MU объектов. MU был бы неплох для флоры, но в таком случае надо все подобные объекты перегонять в .object, что выйдет довольно муторно. Все статические пропы в MU перегнать не получится, так как сдк поддерживает экспорт атласа MU спрайтов только размером не больше 2к (или 4к, не помню точно), если выйдет больше - вылет. Мне кажется, стоит начать с целого уровня в одной модели. Можно вообще разбить экспорт уровня по 100-200 объектов на модель, чтобы потом в редакторе это всё объединить. Если получится экспортировать, то потом можно подумать об оптимизации. Заморочиться расстановкой окклюдеров и разделением объектов для создания секторов и порталов и тд. Сообщение отредактировал SkyLoader - 19.03.2020, 14:18 |
 
|
|
19.03.2020, 20:51
Сообщение
#527
|
|
Продвинутый геймер Репутация: 17 Группа: Участник Сообщений: 277 Регистрация: 18.08.2017 |
Modera, Ну ты бы хоть чирканул пару строк, какое твое окончательное решение? Чего нам ожидать?
|
 
|
|
20.03.2020, 15:00
Сообщение
#528
|
|
Новичок Репутация: 0 Группа: Участник Сообщений: 11 Регистрация: 09.01.2020 |
Имеется вопрос касательно того стоит ли чинить экспорт и делать поддержку исхода... Есть кто-нибудь кто готов портировать уровень Владивосток в сталкер чтобы обладатель днище-компа 2011 года мог побегать? Modera, стоит, ещё как стоит, многие вам скажут спасибо. Добавьте, пожалуйста, поддержку исхода. |
 
|
|
28.03.2020, 04:29
Сообщение
#529
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Извиняюсь за своё долгое отсутствие, я всё-таки решил сделать экспорт уровня сразу в сталкер СДК и был крайне занят его запиливанием.
В результате у меня за пару дней ненапряжённой работы уже есть целый уровень зима, с настроенными шейдерами и использованием MU для растительности. Единственная проблема что я с дуру сделал его под 1850 билд, а для 32-битного компилятора уровень оказался тяжеловат, так что пока не скомпилировал. Учитывая то что ещё год назад я просил перенести куда-либо какой-либо уровень, и за это время был перенесён один столб... Нет, не убедили. Вариант с экспортом целиком в 3д редактор не работает. Даже у Егорича УЕ 4 не смог справится с весной вытащенной таким образом. Куда уж сталкерскому СДК то? С Владивостоком тоже кое-какие подвижки есть, но ЛЕ трещит по швам от него. Очень сомневаюсь что оно сбилдится. Террейн так же получилось вытащить, но до кучи ещё не собрал. |
 
|
|
28.03.2020, 09:38
Сообщение
#530
|
|
Ветеран Репутация: 10 Группа: Участник Сообщений: 99 Регистрация: 28.11.2018 |
Это потрясно.
А когда вы поделитесь "рецептиком" конвертации персонажей в Metro 2033? У вас же получилось загнать туда думгая. -------------------- |
 
|
|
28.03.2020, 14:59
Сообщение
#531
|
|
Почти Игроман Репутация: 153 Группа: Участник Сообщений: 614 Награды: 4 Регистрация: 03.05.2012 |
|
 
|
|
28.03.2020, 16:04
Сообщение
#532
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
А когда вы поделитесь "рецептиком" конвертации персонажей в Metro 2033? У вас же получилось загнать туда думгая. Если очень хочется - то могу прямо сейчас. Как это работает: 1. Открыть модель из оригинальной игры которая использует нужный скелет 2. Нажать в меню File -> Import dynamic, выбрать FBX файл содержащий точно такой-же скелет и привязанные к нему модели. 3. Сохранить .mesh файл. Что потому делать с .mesh файлом? Можно заменить им какой-либо из уже существующих. Можно не заменять, а скопировать файл .model и поменять в нём ссылки на .mesh в HEX редакторе. Получить скелет можно экспортировав модель в FBX. А самое главное - чего тут не хватает: 1. Рассчёта баунд-боксов костей 2. Рассчёта AO 3. Возможности настраивать материалы в .mesh файлах 4. Редактирования и сохранения .model файлов. |
 
|
|
28.03.2020, 19:30
Сообщение
#533
|
|
Новичок Репутация: 0 Группа: Участник Сообщений: 13 Регистрация: 16.08.2019 |
|
 
|
|
28.03.2020, 20:44
Сообщение
#534
|
|
Ветеран Репутация: 10 Группа: Участник Сообщений: 99 Регистрация: 28.11.2018 |
А когда вы поделитесь "рецептиком" конвертации персонажей в Metro 2033? У вас же получилось загнать туда думгая. Если очень хочется - то могу прямо сейчас. Как это работает: 1. Открыть модель из оригинальной игры которая использует нужный скелет 2. Нажать в меню File -> Import dynamic, выбрать FBX файл содержащий точно такой-же скелет и привязанные к нему модели. 3. Сохранить .mesh файл. Что потому делать с .mesh файлом? Можно заменить им какой-либо из уже существующих. Можно не заменять, а скопировать файл .model и поменять в нём ссылки на .mesh в HEX редакторе. Получить скелет можно экспортировав модель в FBX. А самое главное - чего тут не хватает: 1. Рассчёта баунд-боксов костей 2. Рассчёта AO 3. Возможности настраивать материалы в .mesh файлах 4. Редактирования и сохранения .model файлов. Оо, спасибо! Протестирую. -------------------- |
 
|
|
28.03.2020, 21:09
Сообщение
#535
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
|
 
|
|
28.03.2020, 21:33
Сообщение
#536
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 100 Регистрация: 02.03.2019 |
|
 
|
|
28.03.2020, 23:16
Сообщение
#537
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Я не понимаю, почему ноль? Ну я за год так и не увидел чтобы эту функцию хоть как-то применяли, даже пытаться карты выдёргивать в другие движки никто не стал. Для разработчиков модов экспорт сцены функция ну очень нишевая (может пригодится если нужно вмоделить нечто в готовый уровень собранный в редакторе), да и без возможности сохранить изменения обратно в игру в любом случае это не имеет смысла. Так что не тратьте зря моё и своё время, я лучше чем нибудь действительно полезным займусь. поддержку исхода, вы тоже не будете добавлять? Поддержку исхода хотелось бы, но и сроках говорить ничего не буду. |
 
|
|
28.03.2020, 23:44
Сообщение
#538
|
|
Новичок Репутация: 0 Группа: Участник Сообщений: 13 Регистрация: 16.08.2019 |
я всё-таки решил сделать экспорт уровня А будет ли доступно для простых смертных? Нет, делать и выкладывать всякие там "выгрузки" я больше не буду. Из за них слишком много флуда в теме, а результата ноль. Ну так люди ради этого суда и пришли, я допустим в ЛС уже объяснял что хочу сделать, и да ответ я помню Может если будет выгрузка какие то мододелы на анриал прикрутят, такого варианта тоже исключать нельзя Много же возможностей у людей будет с вашим софтом тогда Сообщение отредактировал LeatherMen - 28.03.2020, 23:43 |
 
|
|
29.03.2020, 00:09
Сообщение
#539
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
LeatherMen,
я допустим в ЛС уже объяснял что хочу сделать Ну тк, имеющегося функционала достаточно для того чтобы начать реализовывать то что было описано в ЛС. И это стоит сделать чтобы я не чувствовал бесполезность функции экспорта. А лясы точить все мы мастера. |
 
|
|
29.03.2020, 00:23
Сообщение
#540
|
|
Продвинутый геймер Репутация: 17 Группа: Участник Сообщений: 277 Регистрация: 18.08.2017 |
Нет, делать и выкладывать всякие там "выгрузки" я больше не буду. Из за них слишком много флуда в теме, а результата ноль. Я что-то пропустил, или есть полноценная выгрузка уровней? Я не имею в виду, частично в Блендер, частично плагином в Мах 2011 и только потом, в 2019 -2020 Мах. Ну я за год так и не увидел чтобы эту функцию хоть как-то применяли, даже пытаться карты выдёргивать в другие движки никто не стал. С чего ты взял, что никто не пытается? Работаем, работаем. Да готового результата пока нет, но и трудностей то хватает. Нет полноценной выгрузки уровней без Главное ты не бросай то, что начал. А то ведь получится, что все зря, и твой труд и наш то-же. Мы на тебя надеемся, |
 
|
|
29.03.2020, 00:43
Сообщение
#541
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 100 Регистрация: 02.03.2019 |
Ну я за год так и не увидел чтобы эту функцию хоть как-то применяли, даже пытаться карты выдёргивать в другие движки никто не стал. Всему своё время, выгрузка уровней у вас ведь не доделана, поэтому ни кто пока не берётся переносить уровни(тот же уровень Ямантау открывается только суперстатика. ). Многие мододелы забредут на форум в поисках уровней, это всё как снежный ком. |
 
|
|
Текстовая версия | Сейчас: 06.05.2024, 18:42 |