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

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

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


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

Репутация:   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  « < 9 10 11 12 13 > »   
Начать новую тему
Ответов
Kolmogor
сообщение 29.03.2010, 23:22
Сообщение #202


Опытный Геймер
*******

Репутация:   147  
Группа: Участник
Сообщений: 182
Регистрация: 08.09.2008




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


Цитата(surfer @ 29.03.2010, 22:48) *
Я расковырял формат модели .model, я - инсайдер biggrin.gif

не похож ты на инсайдера tongue.gif
Цитата
96-й байт от начала

Правильнее оперировать не смещениями от начала, а чанками(блоками)
Тогда
Цитата
после нее какое-то четырехбайтовое поле, а после 4 байта - содержащие размер вертексного буффера

превратиться в чанк с вертексным буффером, а какое-то четырехбайтовое поле - станет идентификатором чанка
Перейти в начало страницы
 
surfer
сообщение 30.03.2010, 04:45
Сообщение #203


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

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




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


Хех, работает smile.gif


Маска, была обнаружена в файле lib_dead_body.model


--------------------
забанен, нарушение правил, пп. 2.1 и 7.2
Перейти в начало страницы
 
Скиф
сообщение 30.03.2010, 05:59
Сообщение #204


какой жим, вы о чем?)
**********************

Репутация:   1523  
Группа: Участник
Сообщений: 7234
Награды: 10
Регистрация: 30.05.2009




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


Тоесть уже можно вытащить в Макс модели игры со скелетом и прочими атрибутами?
Перейти в начало страницы
 
BAC9-FLCL
сообщение 30.03.2010, 10:01
Сообщение #205


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

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




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


Цитата(Скиф @ 30.03.2010, 06:59) *
Тоесть уже можно вытащить в Макс модели игры со скелетом и прочими атрибутами?

Нет.
Перейти в начало страницы
 
VEN0M
сообщение 30.03.2010, 11:35
Сообщение #206


Опытный Игрок
****

Репутация:   37  
Группа: Участник
Сообщений: 59
Регистрация: 31.12.2009




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


да и без скелета пока что подойдёт если модельки в сталкер перетаскивать smile.gif
Перейти в начало страницы
 
surfer
сообщение 30.03.2010, 13:07
Сообщение #207


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

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




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


Нехорошо это, имхо, модели выдергивать пока не будем, по крайней мере до выхода или невыхода сдк Метро 2033. Вот если он не выйдет в итоге, тогда дернем smile.gif


--------------------
забанен, нарушение правил, пп. 2.1 и 7.2
Перейти в начало страницы
 
[SОC]
сообщение 30.03.2010, 13:12
Сообщение #208


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

Репутация:   395  
Группа: Участник
Сообщений: 684
Награды: 2
Регистрация: 25.01.2010




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


surfer, по всей логике СДК будет поддерживать только импорт в форматы самой игры, никак не в обратную сторону (вспомним логику ПЫС, откуда вышли 4А). Да и раз поддержки все равно нет (даром, что название компании-родителя поменялось), отчего тянуть? Свободная фанатская программа, вот так-то.


--------------------

...Имен не осталось. Приказано забыть
14/88
Перейти в начало страницы
 
VEN0M
сообщение 30.03.2010, 13:18
Сообщение #209


Опытный Игрок
****

Репутация:   37  
Группа: Участник
Сообщений: 59
Регистрация: 31.12.2009




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


Цитата
Нехорошо это, имхо, модели выдергивать пока не будем, по крайней мере до выхода или невыхода сдк Метро 2033. Вот если он не выйдет в итоге, тогда дернем smile.gif

гдето слышал что не раньше аддона выйдет, так что долговато ждать smile.gif
Цитата
surfer, по всей логике СДК будет поддерживать только импорт в форматы самой игры, никак не в обратную сторону (вспомним логику ПЫС, откуда вышли 4А). Да и раз поддержки все равно нет (даром, что название компании-родителя поменялось), отчего тянуть? Свободная фанатская программа, вот так-то.

согласен smile.gif
да и кто нибудь другой к тому времени уже наверное сделает, так что лучше не тянуть smile.gif wink_old.gif
Перейти в начало страницы
 
Veresk
сообщение 30.03.2010, 17:14
Сообщение #210


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

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




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


Цитата(surfer @ 30.03.2010, 14:07) *
Нехорошо это, имхо, модели выдергивать пока не будем, по крайней мере до выхода или невыхода сдк Метро 2033

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

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


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

Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина
Перейти в начало страницы
 
Veresk
сообщение 30.03.2010, 18:13
Сообщение #211


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

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




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


тот же самый противогаз без особого шаманства (со вторым слоем на стекле с кровушкой)


так что смысла в "Нехорошо это" нету никакого

Сообщение отредактировал Veresk - 30.03.2010, 18:38


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

Убей салоедного имперца - спаси триединство: Белоруссия, Россия, Украина
Перейти в начало страницы
 
VEN0M
сообщение 30.03.2010, 18:19
Сообщение #212


Опытный Игрок
****

Репутация:   37  
Группа: Участник
Сообщений: 59
Регистрация: 31.12.2009




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


Цитата
тот же самы противогаз без особого шаманства (со вторым слоем на стекле с кровушкой)

ооо дай ссыль smile.gif
Перейти в начало страницы
 
kalinin11
сообщение 30.03.2010, 18:24
Сообщение #213


Геймер
******

Репутация:   59  
Группа: Участник
Сообщений: 103
Награды: 2
Регистрация: 12.01.2009




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


VENOM :
в шапке ищи метод с 3д риппером, затем действуй по инструкции.

Сообщение отредактировал kalinin11 - 30.03.2010, 18:25


--------------------
АНАРХИЯ - СВОБОДА
Перейти в начало страницы
 
VEN0M
сообщение 30.03.2010, 18:27
Сообщение #214


Опытный Игрок
****

Репутация:   37  
Группа: Участник
Сообщений: 59
Регистрация: 31.12.2009




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


kalinin11, что бы им воспользоваться нужно запустить игру а её я никак не запущу так как видюха моя имеет первые шейдеры а метро требует третьи smile.gif

Сообщение отредактировал VEN0M - 30.03.2010, 18:28
Перейти в начало страницы
 
Deimos
сообщение 30.03.2010, 18:35
Сообщение #215


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

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




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


surfer, молодец, доделывай и выкладывай скрипт на модели.

Это уже достижение.


--------------------
Забанен по собственному желанию
Перейти в начало страницы
 
surfer
сообщение 30.03.2010, 18:45
Сообщение #216


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

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




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




Цитата(Deimos @ 30.03.2010, 19:35) *
доделывай и выкладывай скрипт на модели.

Плагин надо писать для 3DS, сейчас пользуюсь на скорую руку написанной прогой для конвертации в формат Ogre .mesh

Цитата(VEN0M @ 30.03.2010, 14:18) *
кто нибудь другой к тому времени уже наверное сделает

Да я в принципе не против smile.gif


--------------------
забанен, нарушение правил, пп. 2.1 и 7.2
Перейти в начало страницы
 
Deimos
сообщение 30.03.2010, 18:53
Сообщение #217


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

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




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


Цитата(surfer @ 30.03.2010, 18:45) *
Плагин надо писать для 3DS, сейчас пользуюсь на скорую руку написанной прогой для конвертации в формат Ogre .mesh

Макс-скрипт вроде похож на эти КвикБМСы.
Цитата
Да я в принципе не против smile.gif

Но но но. smile.gif *угрожающе водит пальце в воздухе*

Сообщение отредактировал Deimos - 30.03.2010, 18:55


--------------------
Забанен по собственному желанию
Перейти в начало страницы
 
iOrange
сообщение 31.03.2010, 00:43
Сообщение #218
BFG9000 owner

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

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




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


Здравствуйте всем.

Я новенький на вашем форуме, вот прошел игру и начал тоже в ней копаться, так и вышел на ваш форум.
Вопщем surfer'у спасибо за инфу, только она верна лишь для небольшого количества моделей, у остальных смещения не те, копаю в эту сторону. Попутно пишу импортер в 3DS Max.

Вот первые скрины.




Ага - файл все-таки чанковый, так же похоже что в каждом файле модели хранятся также и лоды.

Все, с форматом вроде бы разобрался. Все довольно просто, вечером приду с работы - продолжу работу (там еще есть какая-то геометрия, просто хочу спать, поэтому буду разбираться вечером после работы).

Скрин с импортированой бабкой (content\meshes\static\babka\sdf.model)


для нетерпеливых - вот очень ранняя версия плагина (под 2010-й макс 32-бита), в принципе импортирует любую статику (см. аттач)

Всем спасибо, пошел спать (утром на работу)

Сообщение отредактировал MetroStalk - 31.03.2010, 05:40
Прикрепленные файлы
Прикрепленный файл  Metro2033MeshImport.zip ( 7,23 килобайт ) Кол-во скачиваний: 178
 


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


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

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




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


просто ШАЙТАН blink.gif

Спасибо за импортер, но если можно сделайте его ещё для 2009 макса. 2010 ну просто жутко ненравится своей гламурностью.

Кстати, а никто не пробовал расковырять формат моделей игры You are Empty, там тоже есть на что посмотерть (я уж неговорю про архитектуру)
http://www.playerzblog.com/wp-content/big_s_57.jpg
http://www.3dnews.ru/documents/12791/yae.jpg
http://www.fpsteam.it/img2005/YouAreEmpty/...re_empty_09.jpg

Сообщение отредактировал Veresk - 31.03.2010, 07:10


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

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

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

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




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


Цитата(Veresk @ 31.03.2010, 06:56) *
Спасибо за импортер, но если можно сделайте его ещё для 2009 макса. 2010 ну просто жутко ненравится своей гламурностью.

Да не вопрос - прикрепил в аттаче (для 3DS Max 2009 32-бита)

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

Прикрепленный файл  Metro2033MeshImport_max2009.zip ( 7,13 килобайт ) Кол-во скачиваний: 284


Сообщение отредактировал iOrange - 31.03.2010, 08:31


--------------------
Hello worlds!
Перейти в начало страницы
 
surfer
сообщение 31.03.2010, 14:57
Сообщение #221


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

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




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


Вау, внезапно )))

Цитата(iOrange @ 31.03.2010, 01:43) *
она верна лишь для небольшого количества моделей, у остальных смещения не те

Нет, формат один для всех статических моделей, но есть еще файлы .mesh, там формат отличается
Цитата(iOrange @ 31.03.2010, 01:43) *
файл все-таки чанковый, так же похоже что в каждом файле модели хранятся также и лоды.

Файл состоит из нескольких сеток, например в файле lib_dead_body.model кроме маски еще 3 сетки есть, среди них дохлое тело должно быть.

вот часть исходного кода моего плагина
формат файла

Код
#ifndef __MODELFORMAT_H__
#define __MODELFORMAT_H__

typedef struct
{
    float x, y, z, w;            // координаты вершины
    unsigned a, b;                // наверное diffuse и specular
    float u, v;                    // текстурные координаты
}    VERTEX_FORMAT;

typedef unsigned short INDEX_FORMAT;

typedef struct
{
    unsigned chunkId;            // идентификатор, всегда = 3
    unsigned vbsize;            // размер вертексного буфера
    unsigned unknown1;            // всегда = 2
    unsigned vcount;            // кол-во вертексов
}    VERTICES_CHUNK_HEADER;

typedef struct
{
    unsigned chunkId;            // идентификатор, всегда = 4
    unsigned ibsize;            // размер индексного буфера
    unsigned nindices;            // число индексов
}    INDICES_CHUNK_HEADER;

typedef struct
{
    unsigned chunkId;            // номер блока
    unsigned chunkSize;            // размер блока
    unsigned modelNum;            // порядковый номер модели
    unsigned length1;            // длина строки, всегда 64 байта
    char stringData[64];        // строка (crc32) ?
    unsigned unknown1;            // всегда = 2
    unsigned length2;            // длина строки
    char stringArray[1];        // название текстуры, материала, модели
}    STATIC_MODEL_CHUNK_HEADER;

typedef struct
{
    unsigned fileId;            // идентификатор
    unsigned fileSize;            // размер файла
}    STATIC_MODEL_FILE_HEADER;

#endif // __MODELFORMAT_H__



sceneimport.h

Код
#ifndef __SCENEIMPORT_H__
#define __SCENEIMPORT_H__

#include <Max.h>
#include <sstream>

class CSceneImport : public SceneImport
{
public:
    CSceneImport();

    ~CSceneImport();

    int ExtCount();

    BOOL SupportsOptions(int  ext, DWORD  options );

    const char* Ext(int n);

    const char* LongDesc();

    const char* ShortDesc();

    const char* AuthorName();

    const char* CopyrightMessage();

    const char* OtherMessage1();

    const char* OtherMessage2();

    unsigned int Version();

    void ShowAbout(HWND hWnd);

    void loadModel( const char* name );

    void unloadModel();

    int DoImport(const char* pszName, ImpInterface* pImpInterface, Interface* pInterface, BOOL bPrompts = FALSE );

private:
    std::stringstream mStream;

}; // CSceneImport

#endif // __SCENEIMPORT_H__



sceneimport.cpp

Код
#include <SceneImport.h>
#include <fstream>
#include <exception>
#include <locale>
#include <ModelFormat.h>

CSceneImport::CSceneImport()
{
}

CSceneImport::~CSceneImport()
{
    unloadModel();
}

int CSceneImport::ExtCount()
{
    return 1;
}

BOOL CSceneImport::SupportsOptions(int  ext, DWORD  options )
{
    return 0;
}

const char* CSceneImport::Ext(int n)
{
    return "model";
}

const char* CSceneImport::LongDesc()
{
    return "";
}

const char* CSceneImport::ShortDesc()
{
    return "";
}

const char* CSceneImport::AuthorName()
{
    return "";
}

const char* CSceneImport::CopyrightMessage()
{
    return "";
}

const char* CSceneImport::OtherMessage1()
{
    return "";
}

const char* CSceneImport::OtherMessage2()
{
    return "";
}

unsigned int CSceneImport::Version()
{
    return 100;
}

void CSceneImport::ShowAbout(HWND hWnd)
{
}

void CSceneImport::loadModel( const char* model )
{
    std::ifstream source;
    unsigned length;
    char *buffer;

    source.open( model, std::ios::binary );
    if( source.good() == 0 )
    {
        throw std::exception( "File not found" );
    }

    source.seekg( 0, std::ios::end );
    length = source.tellg();
    source.seekg( 0, std::ios::beg );

    buffer = new char[length];
    source.read( buffer, length );

    mStream.write( buffer, length );

    delete buffer;
    source.close();
}

void CSceneImport::unloadModel()
{
    mStream.clear();
}

int CSceneImport::DoImport(const char* pszName, ImpInterface* pImpInterface, Interface* pInterface, BOOL bPrompts )
{
    try
    {
        STATIC_MODEL_FILE_HEADER fileHeader;
        STATIC_MODEL_CHUNK_HEADER chunkHeader;
        INDICES_CHUNK_HEADER indicesHeader;
        VERTICES_CHUNK_HEADER verticesHeader;
        VERTEX_FORMAT* vertices;
        INDEX_FORMAT* indices;

        unsigned filePtr;

        setlocale( LC_ALL, ".1251" );

        loadModel( pszName );

        filePtr = sizeof(STATIC_MODEL_FILE_HEADER);
        mStream.read( reinterpret_cast<char*>(&fileHeader), filePtr );

        while( filePtr < fileHeader.fileSize )
        {
            mStream.read( reinterpret_cast<char*>(&chunkHeader), sizeof(STATIC_MODEL_CHUNK_HEADER) );
            mStream.seekg( chunkHeader.length2-4, std::ios::cur );
            mStream.read( reinterpret_cast<char*>(&verticesHeader), sizeof(VERTICES_CHUNK_HEADER) );

            vertices = new VERTEX_FORMAT[verticesHeader.vcount];
            mStream.read( reinterpret_cast<char*>(vertices), verticesHeader.vbsize-8 );

            mStream.read( reinterpret_cast<char*>(&indicesHeader), sizeof(INDICES_CHUNK_HEADER) );

            indices = new INDEX_FORMAT[indicesHeader.nindices];
            mStream.read( reinterpret_cast<char*>(indices), indicesHeader.ibsize );

            ImpNode* node = pImpInterface->CreateNode();
            node->SetName( "test" );

            TriObject* obj = CreateNewTriObject();

            // ...

            node->Reference( obj );

            pImpInterface->AddNodeToScene( node );

            delete indices;
            delete vertices;

            filePtr += chunkHeader.chunkSize;
        }

        unloadModel();

        return IMPEXP_SUCCESS;
    }
    catch( ... )
    {
        return 0;
    }
}



Правка, хотя, да, есть файлы у которых id = 9, а есть такие у которых = 1, они немного отличаются.

Сообщение отредактировал surfer - 31.03.2010, 15:17


--------------------
забанен, нарушение правил, пп. 2.1 и 7.2
Перейти в начало страницы
 

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

 



Текстовая версия Сейчас: 28.03.2024, 17:42