Вскрытие ресурсов Метро 2033 |
Здравствуйте, гость ( Авторизация | Регистрация )
Вскрытие ресурсов Метро 2033 |
18.03.2010, 10:28
Сообщение
#261
|
|
Почти Игрок Репутация: 18 Группа: Забанен Сообщений: 28 Регистрация: 22.10.2009 |
ПО для работы с ресурсами игры Обсуждение ПО для работы с ресурсами Мелкие моды и фиксы Моддинг. Общее обсуждение Советы и решения Работа с bump- и normalmaps (от iOrange) В альфе лежит бамп, а в зеленом канале (если я правильно понял) лежит Gloss-Map (регулирующая силу specular-бликов). Если Вам нужна normal-map, то бапм легко в нее превратить: 1) Качаем плагин nVidia для фотошопа (тыц) 2) Открываем в фотошопе интересующий бамп (например act\act_bab_body_bump.512.dds) 3) Выделяем все четыре канала (RGB + Alpha) 4) Жмем Filter->NVIDIA Tools->NormalMapFilter... 5) В появившемся окне в разделе Height Source выбираем Alpha Channel 6) Ставим нужный scale (я ставлю 10) 7) Жмем OK 8) Наслаждаемся результатом Сообщение отредактировал Deimos - 20.04.2010, 17:01 -------------------- забанen по собственному желанию
|
 
|
|
|
|
01.04.2010, 22:39
Сообщение
#262
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
Ты не прав - луа не используется как исполнитель, только как хранилище данных. действительно, "признаю свою вину. меру, степень, глубину..." Жесть А обратно как собрать? я бы ответил "разбирать неизвестный формат - увлекательное занятие, а вот собирать обратно - рутина", а рутиной ессно заниматься уже не интересно ;) |
 
|
|
01.04.2010, 22:46
Сообщение
#263
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
scynet - один из разработчиков движка. Ну то что он из 4A Games я вижу, и вроде ничего обидного ему не написал Просто видно он не все посты прочитал - вот я и сказал что у нас давно прогресс шагнул вперед. Цитата(Deimos) Так. Документацию на бочку. mad.gif таки веришь что дадут доки? -------------------- Hello worlds!
|
 
|
|
01.04.2010, 22:53
Сообщение
#264
|
|
Доктор Игровых Наук Репутация: 528 Группа: Забанен Сообщений: 3591 Награды: 2 Регистрация: 16.09.2009 |
таки веришь что дадут доки? Ну, если Прохоров обещал СДК... Обсуждение только по техническим аспектам (готовим почву для раздела модинга). Тема должна быть максимально скучной для всех остальных форумчан. Сообщение отредактировал Deimos - 01.04.2010, 22:54 -------------------- Забанен по собственному желанию
|
 
|
|
01.04.2010, 23:31
Сообщение
#265
|
|
Почти Игроман Репутация: 70 Группа: Забанен Сообщений: 631 Регистрация: 25.11.2009 |
Текстуры тут наложены, но из-за того что я неправильно настроил материал, выглядит это несколько странно. Материал создается и настраиваеися программно, как мне его изменить уже в максе никто не подскажет? код Код // ... Mtl* material; BitmapTex* texture; std::string mtName, nodName, txName; // ... texture = NewDefaultBitmapTex(); txName = path( pszName ) + texName( chunkHeader.stringArray, chunkHeader.length2 ); texture->SetMapName( txName.c_str() ); texture->SetAlphaAsMono( true ); texture->SetName( txName.c_str() ); material = NewDefaultStdMat(); mtName = nodeName( chunkHeader.stringArray, chunkHeader.length2, count ); material->SetName( mtName.c_str() ); material->SetSubTexmap( ID_DI, texture ); material->SetSubTexmap( ID_OP, texture ); material->SetActiveTexmap( texture ); material->SetMtlFlag(MTL_TEX_DISPLAY_ENABLED); node->GetINode()->SetMtl( material ); // ... Сообщение отредактировал surfer - 01.04.2010, 23:49 -------------------- забанен, нарушение правил, пп. 2.1 и 7.2
|
 
|
|
02.04.2010, 00:59
Сообщение
#266
|
|
Почти Игроман Репутация: 70 Группа: Забанен Сообщений: 631 Регистрация: 25.11.2009 |
Вобщем текстурные координаты почему-то не присваиваются мешу в максе. Но сами UV координаты верные, я проверял, когда конвертировал модель в формат Ogre, огр отображает затекстуренную модель правильно.
Сообщение отредактировал surfer - 02.04.2010, 01:00 -------------------- забанен, нарушение правил, пп. 2.1 и 7.2
|
 
|
|
02.04.2010, 01:39
Сообщение
#267
|
|
Игроман Репутация: 291 Группа: Участник Сообщений: 852 Награды: 6 Регистрация: 08.07.2009 |
scynet, она менялась несколько раз, последняя так выглядит: Код typedef struct { float x, y, z, w; // координаты вершины unsigned a, b; // наверное diffuse и specular float u, v; // текстурные координаты } VERTEX_FORMAT; первые три значения - точно вершинные координаты, насчет остального не уверен, но если и так, все они имеют длинну 4 - байта, стало быть размер и выравнивание структуры в норме. Кстати, да - ты прав. Это я тормознул - чего-то насчитал, что у тя 36 байт. Потому и удивился - как у тебя 32-байтная декларация распаковалась с 36-байтным шагом... Точно не помню, но, думаю, a, b - это нормаль и что-то ещё Тема должна быть максимально скучной для всех остальных форумчан. Тю, самая интересная тема Текстуры тут наложены, но из-за того что я неправильно настроил материал, выглядит это несколько странно. А что тебя смущает? Судя по скрину, проблемы с развёрткой. Вобщем текстурные координаты почему-то не присваиваются мешу в максе. Но сами UV координаты верные, я проверял, когда конвертировал модель в формат Ogre, огр отображает затекстуренную модель правильно. О! Опередил. |
 
|
|
02.04.2010, 06:35
Сообщение
#268
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
Вобщем текстурные координаты почему-то не присваиваются мешу в максе. Но сами UV координаты верные, я проверял, когда конвертировал модель в формат Ogre, огр отображает затекстуренную модель правильно. Привет! Ты наверное забыл установить текстурные индексы Код mesh->setNumTVFaces(numFaces);
mesh->tvFace[i].setTVerts(a, b, c); -------------------- Hello worlds!
|
 
|
|
02.04.2010, 06:43
Сообщение
#269
|
|
Почти Мастер Репутация: 250 Группа: Забанен Сообщений: 1131 Награды: 1 Регистрация: 25.01.2010 |
Изините, может тогда и для Milkshape 3D импортер сделаете СДК для него можно сачать здесь http://chumbalum.swissquake.ch/ms3d/download.html
В нём работать со статикой гораздо удобней -------------------- До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина |
 
|
|
02.04.2010, 08:00
Сообщение
#270
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
Обновление плагина - добавлены текстурные координаты.
Добавил в черновом виде материалы (спасибо за идею surfer-у) Добавил нормали. Нормали таки в a запакованы. Код __forceinline Point3 PointFromDword(DWORD dw) { return Point3(float((dw & 0x00ff0000) >> 16) / 255.0f, float((dw & 0x0000ff00) >> 8) / 255.0f, float((dw & 0x000000ff) >> 0) / 255.0f); } mesh->setNormal(a, PointFromDword(svb[a].norm).Normalize()); mesh->setNormal(b, PointFromDword(svb[b].norm).Normalize()); mesh->setNormal(c, PointFromDword(svb[c].norm).Normalize()); осталось только их правильно по SM-группам рассовать. А пока придется вручную - сначала Weld по вершинам с трешхолдом = 0,001 затем в режиме Face делаем назначаем SM-группу. Чесслово сделаю это в плагине, а пока убегаю на работу. Сообщение отредактировал Deimos - 02.04.2010, 09:00
Прикрепленные файлы
Metro2033MeshImport_max2010.zip ( 10,24 килобайт )
Кол-во скачиваний: 92
Metro2033MeshImport_max2009.zip ( 10,1 килобайт ) Кол-во скачиваний: 83 Metro2033MeshImport_max2008.zip ( 10,11 килобайт ) Кол-во скачиваний: 79 Metro2033MeshImport_max9.zip ( 10,09 килобайт ) Кол-во скачиваний: 104 Metro2033MeshImport_max9x64.zip ( 10,9 килобайт ) Кол-во скачиваний: 71 -------------------- Hello worlds!
|
 
|
|
02.04.2010, 11:20
Сообщение
#271
|
|
Почти Мастер Репутация: 250 Группа: Забанен Сообщений: 1131 Награды: 1 Регистрация: 25.01.2010 |
похоже, что пока текстура неверно накладывается?!
Сообщение отредактировал Veresk - 02.04.2010, 11:20 -------------------- До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина |
 
|
|
02.04.2010, 11:28
Сообщение
#272
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
похоже, что пока текстура неверно накладывается?! А ведь точно! Забыл что в Максе нада по Y инвертировать текстурные координаты Вечером пофикшу. Сорри. (Временное решение - флипануть текстуру по вертикали) Сообщение отредактировал iOrange - 02.04.2010, 11:29 -------------------- Hello worlds!
|
 
|
|
02.04.2010, 15:07
Сообщение
#273
|
|
Почти Игроман Репутация: 70 Группа: Забанен Сообщений: 631 Регистрация: 25.11.2009 |
Ты наверное забыл установить текстурные индексы Да, действительно Я вот думаю, как в 4А Engine координатные оси направлены? Если судить по рипу Veresk'а, то жмурик должен быть такой: скрин Осталось только определить спереди этот вид должен быть в максе или сзади. Если спереди, то индексы вершин в обратном порядке должны следовать, если порядок не менять - то это вид сзади. -------------------- забанен, нарушение правил, пп. 2.1 и 7.2
|
 
|
|
02.04.2010, 16:35
Сообщение
#274
|
|
Почти Мастер Репутация: 250 Группа: Забанен Сообщений: 1131 Награды: 1 Регистрация: 25.01.2010 |
на мои пятна крови наверно не обращайте внимание, я подставил первую попавшуюся кровяную тектуру. Если надо могу наложить правильную, что-бы было с чем сравнивать
-------------------- До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина |
 
|
|
02.04.2010, 16:37
Сообщение
#275
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
Я вот думаю, как в 4А Engine координатные оси направлены? Я думаю что они использовали систему координат принятую в Direct3D - левостороннюю а в 3DSMax'е используется левосторонняя, да еще и на бок завалена. Думаю исправить это, текстурные координаты и SM-группы сегодня вечером/ночью, и приступить к анимации. Цитата(Veresk) на мои пятна крови наверно не обращайте внимание, я подставил первую попавшуюся кровяную тектуру. Если надо могу наложить правильную, что-бы было с чем сравнивать Да нет, все нормально, сегодня доделаю плагин и расскажу как сделать чтобы текстуры автоматом цеплялись на импортированые меши. Сообщение отредактировал iOrange - 02.04.2010, 16:39 -------------------- Hello worlds!
|
 
|
|
02.04.2010, 16:44
Сообщение
#276
|
|
Почти Игроман Репутация: 70 Группа: Забанен Сообщений: 631 Регистрация: 25.11.2009 |
Просто у рипнутого жмурика левые конечности отсутствуют (если он конечно правильно рипнут), а в максе, если порядок следования вершин не менять - правые.
-------------------- забанен, нарушение правил, пп. 2.1 и 7.2
|
 
|
|
02.04.2010, 16:51
Сообщение
#277
|
|
Почти Мастер Репутация: 250 Группа: Забанен Сообщений: 1131 Награды: 1 Регистрация: 25.01.2010 |
я думаю, что для игры (для создания "разнообразия") просто отзеркалили модель. Я рипнул одну, вы открываете другую. Могу показать скрин того места где он сидит имено так как у меня (т.е. голова наклонена налево)
Сообщение отредактировал Veresk - 02.04.2010, 16:58 -------------------- До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина |
 
|
|
03.04.2010, 02:37
Сообщение
#278
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
Закончив со статикой я перейду на анимацию.
Всем привет. Небольшой changelog: * пофикшены текстурные координаты * пофикшено расположение меша (конвертирование из координат игры в систему координат макса) * пофикшены нормали + добавлено автоматическое распределение по SM-группам + автоматическая привязка текстур к материалам на стадии импорта Итак, что нам понадобится: распакуйте content.vfs0 и textures.vfs0 в одну папку пройдитесь по текстурам моей утилитой (я всего лишь доработал утилиту surfer'а, так что конфеты ему) и она сконвертирует текстуры в DDS. Теперь импортируйте статику в макс - модель будет красиво располагаться в максе с настроенными материалами и нацепленными текстурами. Интерфейс моей утилиты: 1 - путь к папке textures (у меня это E:\Metro2033\res\content\textures\), проще воспользоваться кнопкой Browse 2 - если включить этот чекбокс - то исходные файлы будут затерты новыми 3 - жмем кнопку и ждем окончания конвертирования Прогресс-бар не работает, так что ждите пока появится надпись "Fixing finished successfully !" Сообщение отредактировал Deimos - 03.04.2010, 08:07
Прикрепленные файлы
M2033DDSFixer.zip ( 45,65 килобайт )
Кол-во скачиваний: 2739
Metro2033MeshImport_max2010.zip ( 11,43 килобайт ) Кол-во скачиваний: 107 Metro2033MeshImport_max2009.zip ( 11,34 килобайт ) Кол-во скачиваний: 99 Metro2033MeshImport_max2008.zip ( 11,33 килобайт ) Кол-во скачиваний: 83 Metro2033MeshImport_max9.zip ( 11,33 килобайт ) Кол-во скачиваний: 88 Metro2033MeshImport_max9x64.zip ( 12,02 килобайт ) Кол-во скачиваний: 76 -------------------- Hello worlds!
|
 
|
|
03.04.2010, 09:42
Сообщение
#279
|
|
Почти Мастер Репутация: 250 Группа: Забанен Сообщений: 1131 Награды: 1 Регистрация: 25.01.2010 |
-------------------- До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина |
 
|
|
03.04.2010, 12:43
Сообщение
#280
|
|
Lo Res Chairman Репутация: 452 Группа: Участник Сообщений: 1796 Награды: 6 Регистрация: 09.09.2007 |
Что с конвертацией бампов? В .dds только зеленый и альфа-каналы, полноценный рельеф из этого не строится же 0_о
|
 
|
|
03.04.2010, 14:57
Сообщение
#281
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Куратор темы Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
Что с конвертацией бампов? В .dds только зеленый и альфа-каналы, полноценный рельеф из этого не строится же 0_о Ну в альфе лежит бамп, а в зеленом канале (если я правильно понял) лежит Gloss-Map (регулирующая силу specular-бликов). Если Вам нужна normal-map, то бапм легко в нее превратить: 1) Качаем плагин nVidia для фотошопа (тыц) 2) Открываем в фотошопе интересующий бамп (например act\act_bab_body_bump.512.dds) 3) Выделяем все четыре канала (RGB + Alpha) 4) Жмем Filter->NVIDIA Tools->NormalMapFilter... 5) В появившемся окне в разделе Height Source выбираем Alpha Channel 6) Ставим нужный scale (я ставлю 10) 7) Жмем OK 8) Наслаждаемся результатом Сообщение отредактировал iOrange - 03.04.2010, 14:58 -------------------- Hello worlds!
|
 
|
|
Текстовая версия | Сейчас: 30.04.2024, 03:23 |