MetroEX - универсальный инструмент для работы с ресурсами игр серии Метро |
Здравствуйте, гость ( Авторизация | Регистрация )
MetroEX - универсальный инструмент для работы с ресурсами игр серии Метро |
22.02.2019, 19:21
Сообщение
#121
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Регистрация: 30.03.2010 |
Комплексная программа для работы с ресурсами игр серии Metro (+ Arktika.1) от iOrange - MetroEX http://s.gameru.net/metro/MetroEX_v047.zip Github репозиторий - временно недоступен Чейнджлог по версиям: MetroEX v0.3 1) Исправлен зум моделей колесиком мышки на Windows 7/8 (автор - abramcumner) 2) Добавлена фильтрация дерева файлов (автор - slik) 3) Известные типы файлов теперь отображаются со своими иконками (автор - Shoker) 4) config.bin теперь можно раскрыть и просматривать / извлекать файлы находящиеся в нем (автор - Shoker) 5) Добавлена инфо-панель для текстур и моделей, которая показывает полезную информацию о выбранном файле 6) Экспорт модели вместе с ее анимациями в FBX! * 7) Возможность просмотра анимаций прямо в программе (данный функционал не до конца доработан, учтите) * При единичном экспорте в FBX модель всегда экспортируется с анимациями. При пакетном извлечении можно отключить экспорт анимаций. Экспорт с анимациями может занять некоторое время. Я постараюсь оптимизировать это, но похоже что проблема в FBX SDK. Так выглядит проигрывание анимации в программе: А так выглядит результат экспорта открытый в 3Ds Max: MetroEX v0.4 были добавлены доп. опции экспорта в FBX: * Export animations - определяет нужно ли вообще экспортировать анимации. Полезно если вам просто нужна модель в FBX, без анимаций * Animations to separate files - имеет смысл только в паре с предыдущей опцией, и при включении будет экспортировать анимационные треки в отдельные FBX файлы. Т.е. на выходе будет FBX файл с моделью и скелетом, и рядом с ним FBX файлы, по одному на анимацию. Попытка экспорта моделей с 11,000 анимаций все равно займет прилично времени, но при этом памяти будет потребляться не много, и даже при сбое - у вас останутся те файлы, что успели записаться. [1] Был доработан немного 3D просмотрщик моделей - теперь реализована "правильная" Arcball камера, так что вращать и рассматривать модели стало удобнее. Так же был добавлен режим отображения сетки полигонов поверх модели. [2] Добавлено окно отображения свойств модели. Там отображена вся информация о модели. Есть даже информация о том, кто и на каком компьютере создал эту модель, и имя оригинального файла. [3] Добавлено окно отображения свойств текстур, находящихся в текстурной базе. Полезно тем, что вы можете найти там дополнительные текстуры, которые на данный момент не экспортирует программа (бамп, детали...) [4] Добавлено окно настроек программы, настройки сохраняются в файл рядом в папку с программой. Пока там только настройки экспорта, но в будущем туда будут добавляться / выноситься больше настроек. [5] Реализована заргузка, отображение, и экспорт локализационных файлов. Экспорт производится в формат Excel 2003. [6] Добавлено меню инструментов, содержащее следующие тулзы: - [7] Конвертер текстур в формат Metro Exodus. Умеет конвертировать как одиночный файл, так и папку (с подпапками). - Конвертер локализационных файлов из формата Excel 2003 назад в формат Metro Exodus. - [8] Злополучная утилита для создания патч-архивов. Указываете где лежит папка content, куда сохранять результирующий архив, и жмете кнопку. Остально за вас сделает программа. Так же было переписано много кода, решались организационные вопросы, велись работы по функционалу, который войдет в v0.5, но об этом будет позже. Дальше прикладываю скриншоты к отмеченным изменениям: screenshots here MetroEX v0.41 В версии MetroEX v0.41 добавлены опции экспорта моделей Так же добавлена кнопка на панели для включения / выключения показа колизии (если таковая есть). примеры Ну и по традиции - небольшой бонус - теперь зажав правую кнопку мышки можно перемещать модель. Так же на панели инструментов появилась кнопка сброса камеры, для удобства. MetroEX v0.42 * Исправлен экспорт единичной модели в FBX (не всегда правильно реагировала на настройки) + Добавлена поддержка текстур и моделей Redux версий Метро (просмотр + экспорт) MetroEX v0.45 + Добавлена возможность модификации игровых архивов + Добавлено чтение шрифтовой базы * Исправлена конвертация игровых локализаций назад в формат игры MetroEX v0.45a + Переписана файловая система, теперь можно указать папку с игрой, и будут загружены абсолютно все игровые паки, включая патчи и ДЛЦ. Новые файлы будут заменять собой старые, так же как это делает игра. + Добавлен функционал экспорта набора текстур описывающих "поверхность" (альбедо, "бамп", карта нормалей, карта деталей) + Добавлена опция экспорта моделей для экспорта всех текстур "поверхности" MetroEX v0.46 + Добавлена возможность сохранить отдельную анимацию (by SkyLoader) + Добавлено отображение и экспортирование лодов у модели (если таковые имеются) (by SkyLoader) + Инструмент "Textures converter" был доработан и теперь может создавать текстуры для предыдущих версий Metro (обычные и Redux) + Сильно переработана подсистема чтения/записи игровых ресурсов (больше задел на будущее, но уже дает свои плоды) + Доработана файловая система (ФС). Теперь ФС правильно обрабатывает дубликаты файлов, а так же поддерживает архивы вплоть до последнего DLC. + Написан код позволяющий заменять файлы в файле config.bin, и сохранять измененный config.bin. + Добавлен инструмент для редактирования/замены/проверки шрифтов. MetroEX v0.46a * Исправлена загрузка всех архивов из папки игры (было поломано для старых версий игры) * Улучшено качество отрисовки шрифтов в Font Preview. MetroEX v0.47 + Добавлена поддержка всех версий игр Metro и Arktika.1 * Исправлен просмотр анимаций * Исправлен экспорт в OBJ (была неправильная настройка материалов) * Улучшения стабильности Программа предназначена только для личного пользования в ознакомительных целях! Распространение извлеченных файлов и их содержимого за пределы вашего личного ПК - нарушение лицензионного соглашения. Автор программы не несет ответственности за прямой или косвенный ущерб причиненный в результате неправомерного использования программы. Дополнительный/алтернативный софт: Программа для конвертирования текстур любых версий Метро от iOrange - MetroTC http://s.gameru.net/metro/MetroTC.zip Github репозиторий - Описание Встречайте MetroTC - комбайн-конвертер любых текстур всех версий Метро в одном флаконе. Ваша задача - указать где лежат текстуры (или одна текстура) и дать команду "Convert!", и программа сама найдет в указанном месте все текстуры Метро, обработает, и выдаст DDS читаемый любыми редакторами и утилитами. Отличительные особенности: 1) Поддержка всех версий игр серии Метро 2) Текстуры 512/1024/2048 (если присутствуют) собираются в один DDS со всем мипмапами и правильными свойствами 3) Программа умеет определять что текстура уже была сконвертированна, и потому ее можно "натравливать" на папки с частично конвертированными текстурами 4) Эксклюзив для Gameru.net 5) Программа залита на сайт gameru.net, а потому ссылка не умрет Распаковщик архивов Metro Exodus от abramcumner Конвертер для текстур эксодуса в .dds от Prodnik -------------------- Hello worlds!
|
 
|
|
|
|
27.02.2019, 17:41
Сообщение
#122
|
|
Новичок Репутация: 1 Группа: Участник Сообщений: 11 Регистрация: 23.02.2019 |
|
 
|
|
27.02.2019, 17:48
Сообщение
#123
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Регистрация: 30.03.2010 |
всё-таки смог из level.bin достать информацию о объектах Прикольно. Я еще level.bin не смотрел. Я пока уровни сильно не копал, у меня приоритет на анимации. Локации не переносятся в OBJ А я и не обещал. Приоритер для версии v0.3 - анимации. Локациями буду заниматься после этого. мне срочно нужно вытянуть локации А в чем срочность, если не секрет? -------------------- Hello worlds!
|
 
|
|
27.02.2019, 17:55
Сообщение
#124
|
|
Новичок Репутация: 1 Группа: Участник Сообщений: 11 Регистрация: 23.02.2019 |
всё-таки смог из level.bin достать информацию о объектах Прикольно. Я еще level.bin не смотрел. Я пока уровни сильно не копал, у меня приоритет на анимации. Локации не переносятся в OBJ А я и не обещал. Приоритер для версии v0.3 - анимации. Локациями буду заниматься после этого. мне срочно нужно вытянуть локации А в чем срочность, если не секрет? Лс чекай |
 
|
|
27.02.2019, 19:46
Сообщение
#125
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Регистрация: 30.03.2010 |
Напоминаю, что программа предназначена только для личного пользования в ознакомительных целях!
Распространение извлеченных файлов и их содержимого за пределы вашего личного ПК - нарушение лицензионного соглашения. Автор программы не несет ответственности за прямой или косвенный ущерб причиненный в результате неправомерного использования программы. -------------------- Hello worlds!
|
 
|
|
27.02.2019, 19:53
Сообщение
#126
|
|
Новичок Репутация: 0 Группа: Участник Сообщений: 11 Регистрация: 26.02.2019 |
Modera, Напиши.
|
 
|
|
27.02.2019, 21:31
Сообщение
#127
|
|
Репутация: 0 Группа: Участник Сообщений: 1 Регистрация: 24.02.2019 |
iOrange, при экспортировании пачкой - не экспортируются текстуры. В 0.3 норм будет?
|
 
|
|
27.02.2019, 21:41
Сообщение
#128
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Регистрация: 30.03.2010 |
iOrange, при экспортировании пачкой - не экспортируются текстуры. В 0.3 норм будет? Тут вот какое дело - когда экспортируешь одну модель, то понятно куда класть текстуры. Когда папку целиком - уже не совсем. Я пока в раздумьях как правильно сделать. Скорее всего добавится настроек в окно экспорта. -------------------- Hello worlds!
|
 
|
|
27.02.2019, 23:26
Сообщение
#129
|
|
Новичок Репутация: 0 Группа: Участник Сообщений: 3 Регистрация: 23.02.2019 |
Для начала хочу поблагодарить iOrange за оперативность, за то, что выпустил такой удобный конвертер моделей и теперь я могу если хоть не поиграть, то хоть глянуть на модельки так.
Присоединюсь и я к пожеланиям: 1. Хочется в версии 0.3 иметь возможность открывать динамические модели. Хочу посмотреть, как сделаны динамические элементы "Авроры", сколько полигонов и т.д. Я сам занимаюсь 3D-моделированием и мне интересно было бы увидеть полигональную сетку этих моделей. Особенно интересует пассажирский вагон с купе, его проработка. 2. Ещё бы просмотрщик локаций, но уже будет отлично, если хотя бы динамику можно будет открывать. И да, если что, у меня игра жутко тормозит, играть невозможно, потому очень хотелось бы просмотрщик локаций какой-то. Но игра достойная вышла! Посмотрел летсплеи по ней. Мне очень понравилась. Сообщение отредактировал Yurii2033 - 27.02.2019, 23:32 |
 
|
|
27.02.2019, 23:38
Сообщение
#130
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Регистрация: 30.03.2010 |
Хочется в версии 0.3 иметь возможность открывать динамические модели. Это уже можно делать в версии v0.25 И экспортировать в OBJ. Чего нет - так это скелета и анимаций. Но сетка есть. Ещё бы просмотрщик локаций Это в планах. Товарищь Modera владеет секретным редактором уровней, так что если что - попробуй его уломать поделиться )) -------------------- Hello worlds!
|
 
|
|
28.02.2019, 03:03
Сообщение
#131
|
|
Новичок Репутация: 0 Группа: Участник Сообщений: 8 Регистрация: 02.06.2018 |
iOrange, сделайте,чтобы, при сохранении модели, текстуры все экспортировались, не только дифуз, а ещё бампы. И уберите зеркальное отображение. Спасибо
Сообщение отредактировал alexsimm - 28.02.2019, 03:05 |
 
|
|
28.02.2019, 03:32
Сообщение
#132
|
|
. Репутация: 750 Группа: Участник Сообщений: 7072 Награды: 4 Регистрация: 30.07.2010 |
Modera, Напиши. Вот программа на С которая пишет все статические объекты из level.bin. Спойлер Код #include <stdio.h> #include <stdlib.h> #include <string.h> void error(const char *message) { fprintf(stderr, "%s\n", message); exit(-1); } int r_int(FILE *f) { int i; fread(&i, sizeof(i), 1, f); return i; } float r_float(FILE *f) { float fl; fread(&fl, sizeof(fl), 1, f); return fl; } short r_word(FILE *f) { short s; fread(&s, sizeof(s), 1, f); return s; } char r_byte(FILE *f) { char b; fread(&b, sizeof(b), 1, f); return b; } int r_chunk(FILE *f, int id) { if(r_int(f) == id) return r_int(f); // size else { fprintf(stderr, "%d ", id); error("can't open chunk"); return 0; } } int dictlen; char *dictionary; char *dictword(int n) { char *ptr; if(n >= dictlen) error("word index out of range"); ptr = dictionary; while(n--) ptr = strchr(ptr, '\0')+1; return ptr; } int main(int argc, char *argv[]) { int magic, datapos, datasize, dictsize; FILE *f; int temp, start; int entsize, entcount; int counter; int classcrc; f = fopen("level.bin", "rb"); if(!f) error("can't open file!"); magic = r_int(f); if(magic != 0x6C76656C) error("this is not level.bin file!"); r_byte(f); // skip flags // remember data pos because we need load dictionary before parsing datasize = r_chunk(f, 1); datapos = ftell(f); fseek(f, datasize, SEEK_CUR); // load dictionary dictsize = r_chunk(f, 2); dictlen = r_int(f); dictionary = malloc(dictsize-4); fread(dictionary, dictsize-4, 1, f); // parse data fseek(f, datapos, SEEK_SET); r_chunk(f, 0xD44B11A9); // unknown section containing all others temp = r_chunk(f, 0xE48E50F6); // "startup" section fseek(f, temp, SEEK_CUR); // skip it temp = r_chunk(f, 0x922908F0); // unknown section fseek(f, temp, SEEK_CUR); // also skip entsize = r_chunk(f, 0x50EC64E5); // "entities" section start = ftell(f); entcount = r_int(f); counter = 0; while(ftell(f) < start+entsize) { temp = r_chunk(f, 0); classcrc = r_int(f); if(classcrc == 0x2301C4EF) // STATICPROP { printf("entity_%d = begin\n", counter++); r_int(f); // skip static data key printf("\tatt_bone_id : stringz = \"%s\"\n", dictword(r_int(f))); printf("\tid : u16 = %hu\n", r_word(f)); printf("\tparent_id : u16 = %hu\n", r_word(f)); printf("\tatt_offset : 'pose, matrix_43T' = [\n"); printf("\t\t%f, %f, %f,\n", r_float(f), r_float(f), r_float(f)); printf("\t\t%f, %f, %f,\n", r_float(f), r_float(f), r_float(f)); printf("\t\t%f, %f, %f,\n", r_float(f), r_float(f), r_float(f)); printf("\t\t%f, %f, %f,\n", r_float(f), r_float(f), r_float(f)); printf("\t]\n"); printf("\tatt_root : bool = %s\n", r_byte(f) ? "True" : "False"); printf("\tname : stringz = \"%s\"\n", dictword(r_int(f))); r_int(f); // unknown 1 r_word(f); // unknown 2 printf("\txform : 'pose, matrix_43T' = [\n"); printf("\t\t%f, %f, %f,\n", r_float(f), r_float(f), r_float(f)); printf("\t\t%f, %f, %f,\n", r_float(f), r_float(f), r_float(f)); printf("\t\t%f, %f, %f,\n", r_float(f), r_float(f), r_float(f)); printf("\t\t%f, %f, %f,\n", r_float(f), r_float(f), r_float(f)); printf("\t]\n"); printf("\tvisual : stringz = \"%s\"\n", dictword(r_int(f))); printf("end;\n\n"); fseek(f, temp-127, SEEK_CUR); // skip rest of section } else fseek(f, temp-4, SEEK_CUR); // not STATICPROP, skip } free(dictionary); fclose(f); return 0; } Надеюсь достаточно наглядно. то в планах. Товарищь Modera владеет секретным редактором уровней, так что если что - попробуй его уломать поделиться )) Мой редактор уровней тормозит не хуже игры на данный момент. |
 
|
|
28.02.2019, 05:17
Сообщение
#133
|
|
Продвинутый геймер Репутация: 17 Группа: Участник Сообщений: 277 Регистрация: 18.08.2017 |
|
 
|
|
28.02.2019, 06:13
Сообщение
#134
|
|
Новичок Репутация: 0 Группа: Участник Сообщений: 8 Регистрация: 02.06.2018 |
|
 
|
|
28.02.2019, 09:48
Сообщение
#135
|
|
Новичок Репутация: 2 Группа: Участник Сообщений: 10 Регистрация: 24.02.2019 |
iOrange any plans on making your tool be able to re-pack \ import the modified files?
|
 
|
|
28.02.2019, 12:44
Сообщение
#136
|
|
Новичок Репутация: 0 Группа: Участник Сообщений: 11 Регистрация: 26.02.2019 |
Modera, Шутку оценил
|
 
|
|
28.02.2019, 15:50
Сообщение
#137
|
|
Новичок Репутация: 0 Группа: Участник Сообщений: 7 Регистрация: 23.12.2017 |
iOrange, ты там что-то говорил про то, что вскоре модели будут открываться с текстурами, это в 0.3 будет реализовано?
|
 
|
|
28.02.2019, 17:40
Сообщение
#138
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Регистрация: 30.03.2010 |
iOrange, ты там что-то говорил про то, что вскоре модели будут открываться с текстурами, это в 0.3 будет реализовано? Да iOrange any plans on making your tool be able to re-pack \ import the modified files? Yes iOrange, сделайте,чтобы, при сохранении модели, текстуры все экспортировались, не только дифуз, а ещё бампы. И уберите зеркальное отображение. Спасибо Уже чуть раньше обсуждалось - будет сделано. Вчера и позавчера ничего не делал, отдыхал и играл в Метро ))) Но работа над версией v0.3 ведется, не переживайте. -------------------- Hello worlds!
|
 
|
|
28.02.2019, 17:55
Сообщение
#139
|
|
Продвинутый геймер Репутация: 17 Группа: Участник Сообщений: 277 Регистрация: 18.08.2017 |
А ты подними циферки шейдер, посмотрим как твой СУ-57 начнёт тормозить... Куда-ж еще выше то? Выше уже некуда. |
 
|
|
28.02.2019, 19:03
Сообщение
#140
|
|
Репутация: 0 Группа: Участник Сообщений: 2 Регистрация: 28.02.2019 |
Доброго времени суток!
Кто-нибудь может выложить модель часов (или самого браслета) из игры в формате obj. Также буду благодарен за текстуры часов) |
 
|
|
28.02.2019, 19:13
Сообщение
#141
|
|
Опытный Игрок Репутация: 5 Группа: Участник Сообщений: 53 Регистрация: 05.02.2017 |
Вчера и позавчера ничего не делал, отдыхал и играл в Метро ))) Но работа над версией v0.3 ведется, не переживайте. Куда скинуть на бутылочку пива? -------------------- |
 
|
|
Текстовая версия | Сейчас: 25.04.2024, 09:30 |