Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!
> Вскрытие ресурсов Метро 2033
Panisher
сообщение 18.03.2010, 10:28
Сообщение #261


Почти Игрок
**

Репутация:   18  
Группа: Забанен
Сообщений: 28
Регистрация: 22.10.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


ЭкшнШутерПостапокалипсис
93 %
81/100
Разработчик: 4A Games
Дата выхода: 16 марта 2010
Здесь технический разговор между создателями ПО на тему ресурсов игры.

ПО для работы с ресурсами игры

Обсуждение ПО для работы с ресурсами

Мелкие моды и фиксы

Моддинг. Общее обсуждение

Советы и решения

Работа с 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 по собственному желанию
Перейти в начало страницы
 
28 страниц V  « < 12 13 14 15 16 > »   
Начать новую тему
Ответов
HikeR
сообщение 01.04.2010, 22:39
Сообщение #262


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(scynet @ 01.04.2010, 23:14) *
Ты не прав - луа не используется как исполнитель, только как хранилище данных.

действительно, "признаю свою вину. меру, степень, глубину..."
Цитата(Shoкer @ 01.04.2010, 23:04) *
Жесть
А обратно как собрать?

я бы ответил "разбирать неизвестный формат - увлекательное занятие, а вот собирать обратно - рутина", а рутиной ессно заниматься уже не интересно ;)
Перейти в начало страницы
 
iOrange
сообщение 01.04.2010, 22:46
Сообщение #263
BFG9000 owner

Половина землекопа
**************

Репутация:   247  
Куратор темы
Сообщений: 1813
Награды: 3
Регистрация: 30.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Deimos @ 01.04.2010, 22:29) *
scynet - один из разработчиков движка.

Ну то что он из 4A Games я вижу, и вроде ничего обидного ему не написал unsure.gif
Просто видно он не все посты прочитал - вот я и сказал что у нас давно прогресс шагнул вперед.

Цитата(Deimos)
Так. Документацию на бочку. mad.gif

таки веришь что дадут доки? wink.gif


--------------------
Hello worlds!
Перейти в начало страницы
 
Deimos
сообщение 01.04.2010, 22:53
Сообщение #264


Доктор Игровых Наук
*******************

Репутация:   528  
Группа: Забанен
Сообщений: 3591
Награды: 2
Регистрация: 16.09.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(iOrange @ 01.04.2010, 22:46) *
таки веришь что дадут доки?

Ну, если Прохоров обещал СДК...

Обсуждение только по техническим аспектам (готовим почву для раздела модинга). Тема должна быть максимально скучной для всех остальных форумчан.

Сообщение отредактировал Deimos - 01.04.2010, 22:54


--------------------
Забанен по собственному желанию
Перейти в начало страницы
 
surfer
сообщение 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
Перейти в начало страницы
 
surfer
сообщение 02.04.2010, 00:59
Сообщение #266


Почти Игроман
*********

Репутация:   70  
Группа: Забанен
Сообщений: 631
Регистрация: 25.11.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Вобщем текстурные координаты почему-то не присваиваются мешу в максе. Но сами UV координаты верные, я проверял, когда конвертировал модель в формат Ogre, огр отображает затекстуренную модель правильно.

Сообщение отредактировал surfer - 02.04.2010, 01:00


--------------------
забанен, нарушение правил, пп. 2.1 и 7.2
Перейти в начало страницы
 
scynet
сообщение 02.04.2010, 01:39
Сообщение #267


Игроман
**********

Репутация:   291  
Группа: Участник
Сообщений: 852
Награды: 6
Регистрация: 08.07.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(surfer @ 01.04.2010, 22:20) *
scynet, она менялась несколько раз, последняя так выглядит:
Код
typedef struct
{
    float x, y, z, w;            // координаты вершины
    unsigned a, b;                // наверное diffuse и specular
    float u, v;                    // текстурные координаты
}    VERTEX_FORMAT;

первые три значения - точно вершинные координаты, насчет остального не уверен, но если и так, все они имеют длинну 4 - байта, стало быть размер и выравнивание структуры в норме.


Кстати, да - ты прав. Это я тормознул - чего-то насчитал, что у тя 36 байт. Потому и удивился - как у тебя 32-байтная декларация распаковалась с 36-байтным шагом...

Точно не помню, но, думаю, a, b - это нормаль и что-то ещё smile.gif


Цитата(Deimos @ 01.04.2010, 22:53) *
Тема должна быть максимально скучной для всех остальных форумчан.


Тю, самая интересная тема smile.gif



Цитата(surfer @ 01.04.2010, 23:31) *
Текстуры тут наложены, но из-за того что я неправильно настроил материал, выглядит это несколько странно.


А что тебя смущает? Судя по скрину, проблемы с развёрткой.

Цитата(surfer @ 02.04.2010, 00:59) *
Вобщем текстурные координаты почему-то не присваиваются мешу в максе. Но сами UV координаты верные, я проверял, когда конвертировал модель в формат Ogre, огр отображает затекстуренную модель правильно.


О! Опередил.
Перейти в начало страницы
 
iOrange
сообщение 02.04.2010, 06:35
Сообщение #268
BFG9000 owner

Половина землекопа
**************

Репутация:   247  
Куратор темы
Сообщений: 1813
Награды: 3
Регистрация: 30.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(surfer @ 01.04.2010, 23:59) *
Вобщем текстурные координаты почему-то не присваиваются мешу в максе. Но сами UV координаты верные, я проверял, когда конвертировал модель в формат Ogre, огр отображает затекстуренную модель правильно.

Привет! Ты наверное забыл установить текстурные индексы
Код
mesh->setNumTVFaces(numFaces);
mesh->tvFace[i].setTVerts(a, b, c);


--------------------
Hello worlds!
Перейти в начало страницы
 
Veresk
сообщение 02.04.2010, 06:43
Сообщение #269


Почти Мастер
***********

Репутация:   250  
Группа: Забанен
Сообщений: 1131
Награды: 1
Регистрация: 25.01.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Изините, может тогда и для Milkshape 3D импортер сделаете rolleyes.gif СДК для него можно сачать здесь http://chumbalum.swissquake.ch/ms3d/download.html

В нём работать со статикой гораздо удобней


--------------------
До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Россия в цифрах ч.1 Россия в цифрах ч.2

Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина
Перейти в начало страницы
 
iOrange
сообщение 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!
Перейти в начало страницы
 
Veresk
сообщение 02.04.2010, 11:20
Сообщение #271


Почти Мастер
***********

Репутация:   250  
Группа: Забанен
Сообщений: 1131
Награды: 1
Регистрация: 25.01.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


похоже, что пока текстура неверно накладывается?!

Сообщение отредактировал Veresk - 02.04.2010, 11:20


--------------------
До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Россия в цифрах ч.1 Россия в цифрах ч.2

Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина
Перейти в начало страницы
 
iOrange
сообщение 02.04.2010, 11:28
Сообщение #272
BFG9000 owner

Половина землекопа
**************

Репутация:   247  
Куратор темы
Сообщений: 1813
Награды: 3
Регистрация: 30.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Veresk @ 02.04.2010, 10:20) *
похоже, что пока текстура неверно накладывается?!

А ведь точно! Забыл что в Максе нада по Y инвертировать текстурные координаты unsure.gif
Вечером пофикшу. Сорри. (Временное решение - флипануть текстуру по вертикали)

Сообщение отредактировал iOrange - 02.04.2010, 11:29


--------------------
Hello worlds!
Перейти в начало страницы
 
surfer
сообщение 02.04.2010, 15:07
Сообщение #273


Почти Игроман
*********

Репутация:   70  
Группа: Забанен
Сообщений: 631
Регистрация: 25.11.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(iOrange @ 02.04.2010, 07:35) *
Ты наверное забыл установить текстурные индексы

Да, действительно smile.gif

Я вот думаю, как в 4А Engine координатные оси направлены? Если судить по рипу Veresk'а, то жмурик должен быть такой:
скрин



Осталось только определить спереди этот вид должен быть в максе или сзади. Если спереди, то индексы вершин в обратном порядке должны следовать, если порядок не менять - то это вид сзади.


--------------------
забанен, нарушение правил, пп. 2.1 и 7.2
Перейти в начало страницы
 
Veresk
сообщение 02.04.2010, 16:35
Сообщение #274


Почти Мастер
***********

Репутация:   250  
Группа: Забанен
Сообщений: 1131
Награды: 1
Регистрация: 25.01.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


на мои пятна крови наверно не обращайте внимание, я подставил первую попавшуюся кровяную тектуру. Если надо могу наложить правильную, что-бы было с чем сравнивать


--------------------
До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Россия в цифрах ч.1 Россия в цифрах ч.2

Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина
Перейти в начало страницы
 
iOrange
сообщение 02.04.2010, 16:37
Сообщение #275
BFG9000 owner

Половина землекопа
**************

Репутация:   247  
Куратор темы
Сообщений: 1813
Награды: 3
Регистрация: 30.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(surfer @ 02.04.2010, 14:07) *
Я вот думаю, как в 4А Engine координатные оси направлены?

Я думаю что они использовали систему координат принятую в Direct3D - левостороннюю
а в 3DSMax'е используется левосторонняя, да еще и на бок завалена.

Думаю исправить это, текстурные координаты и SM-группы сегодня вечером/ночью, и приступить к анимации.

Цитата(Veresk)
на мои пятна крови наверно не обращайте внимание, я подставил первую попавшуюся кровяную тектуру. Если надо могу наложить правильную, что-бы было с чем сравнивать

Да нет, все нормально, сегодня доделаю плагин и расскажу как сделать чтобы текстуры автоматом цеплялись на импортированые меши.

Сообщение отредактировал iOrange - 02.04.2010, 16:39


--------------------
Hello worlds!
Перейти в начало страницы
 
surfer
сообщение 02.04.2010, 16:44
Сообщение #276


Почти Игроман
*********

Репутация:   70  
Группа: Забанен
Сообщений: 631
Регистрация: 25.11.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Просто у рипнутого жмурика левые конечности отсутствуют (если он конечно правильно рипнут), а в максе, если порядок следования вершин не менять - правые.


--------------------
забанен, нарушение правил, пп. 2.1 и 7.2
Перейти в начало страницы
 
Veresk
сообщение 02.04.2010, 16:51
Сообщение #277


Почти Мастер
***********

Репутация:   250  
Группа: Забанен
Сообщений: 1131
Награды: 1
Регистрация: 25.01.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


я думаю, что для игры (для создания "разнообразия") просто отзеркалили модель. Я рипнул одну, вы открываете другую. Могу показать скрин того места где он сидит имено так как у меня (т.е. голова наклонена налево)

Сообщение отредактировал Veresk - 02.04.2010, 16:58


--------------------
До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Россия в цифрах ч.1 Россия в цифрах ч.2

Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина
Перейти в начало страницы
 
iOrange
сообщение 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!
Перейти в начало страницы
 
Veresk
сообщение 03.04.2010, 09:42
Сообщение #279


Почти Мастер
***********

Репутация:   250  
Группа: Забанен
Сообщений: 1131
Награды: 1
Регистрация: 25.01.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


на 9 максе всё работает thank_you2.gif



Сообщение отредактировал Veresk - 03.04.2010, 09:42


--------------------
До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Прочитай сам, сообщи другому! Россия в цифрах ч.1 Россия в цифрах ч.2

Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина
Перейти в начало страницы
 
BAC9-FLCL
сообщение 03.04.2010, 12:43
Сообщение #280


Lo Res Chairman
**************

Репутация:   452  
Группа: Участник
Сообщений: 1796
Награды: 6
Регистрация: 09.09.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Что с конвертацией бампов? В .dds только зеленый и альфа-каналы, полноценный рельеф из этого не строится же 0_о
Перейти в начало страницы
 
iOrange
сообщение 03.04.2010, 14:57
Сообщение #281
BFG9000 owner

Половина землекопа
**************

Репутация:   247  
Куратор темы
Сообщений: 1813
Награды: 3
Регистрация: 30.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(BAC9-FLCL @ 03.04.2010, 11:43) *
Что с конвертацией бампов? В .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!
Перейти в начало страницы
 

28 страниц V  « < 12 13 14 15 16 > » 
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 30.04.2024, 03:23