ФЭНДОМ


FMVcolt

4ds модель c текстурами и без

Все живое и неживое в игре имеет форму (модель 4ds) и карту раскраски модели (bmp текстуру). Если открыть 4ds файл Хекс редактором или WordPad’om, легко увидеть ссылки на имена файлов текстур. Файлы расположены в папке Mafia\models\

Содержание Править


Моддинг Править

Модели можно импортировать из других игр, редактировать или создавать с нуля в 3D редакторах 3DMax, Blender, ZModeler.

4ds файлы из консольных версий (PS2, XBOX) имеют другую структуру и не совместимы с оригинальной игрой.

Список файлов Править

Составить список остальных моделей (а лучше рассортировать их принтскрины) — мечта с 10 летним стажем.

  • FMV_* — модели объектов из видеовставок, красивее чем в игре.
  •  ????S — файлы чье имя заканчивается на «S» нужны для создания 6ds теней.

Ссылки Править

Формат Править

Пока эта статья лишь черновик. Можешь допилить — пили.
-----------------------------------------------------------------------------
variable       type    description
-----------------------------------------------------------------------------
fileSgn        4 byte  const = 34 44 53 00
fileVer        2 byte  версия файла. Для Мафии = 1D 00
timestamp      8 byte  дата создания файла
texturesSec            раздел текстур
meshsSec               раздел каркасов в модели
animFileFlag   byte    флаг наличия файла анимации у модели: 1\0 (есть\нет).
                       5ds должен иметь то же имя что и модель
-----------------------------------------------------------------------------

Наверх

texturesSec — раздел текстур Править

-----------------------------------------------------------------------------
variable       type    description
-----------------------------------------------------------------------------
texturesCount  short   количество текстур в модели
textureDesc1           описание первой
...
textureDescN           и последней
-----------------------------------------------------------------------------

Наверх

textureDescX — описание текстуры Править

-----------------------------------------------------------------------------
variable            type    description
-----------------------------------------------------------------------------
textureTypeFlags    4 byte  флаги типов текстур (см ниже)
ambientColorRed     float   изменение текстуры в тени. Значения от 0 до 1
ambientColorGreen   float
ambientColorBlue    float
diffuseColorRed     float   при освещении рассеянным светом. От 0 до 1
diffuseColorGreen   float
diffuseColorBlue    float
emissionColorRed    float   свечение(?). От 0 до 1
emissionColorGreen  float
emissionColorBlue   float
transparency        float   прозрачность. От 0 (невидимый) до 1 (непрозрачный)

textureNameSize *   byte    длинна имени файла текстуры с расширением bmp,tga
textureFileName     string(textureNameSize) имя файла текстуры

optionalPart                для некоторых типов текстур, здесь будут еще пару строк 
-----------------------------------------------------------------------------
Примечания:
* Если textureNameSize=0, то textureFileName отсутствует, модель не имеет текстуры
и залита цветом в соответствии с ambientColor\diffuseColor\emissionColor.

Наверх

textureTypeFlags — флаги типов текстур Править

Могут складываться, если она принадлежит нескольким типам. 
В описании от GOLOD55 их гораздо больше, чем в версии djbozskoz
-----------------------------------------------------------------------------
type              value        description
-----------------------------------------------------------------------------
                  00 00 01 00  
                  00 00 02 00
                  00 00 04 00
                  00 00 10 00
                  00 00 20 00
diffuse           00 00 40 00 
                  00 00 80 00
                  00 04 00 00
                  00 08 00 00
MIPmapping        00 80 00 00  набор текстур упрощенных версий
                               для разглядывания с большого расстояния, например,
                               дорожная разметка вдалеке выглядят расплывчатой
animatedAlfa      02 00 00 00  анимированная текстура с альфа каналом
animatedDiffuse   04 00 00 00
                  10 00 00 00
                  20 00 00 00
alfa              40 00 00 00  текстура с альфа каналом
                  80 00 00 00
-----------------------------------------------------------------------------

Наверх

meshs — раздел каркасов (обычный - не сектор) Править

-----------------------------------------------------------------------------
variable       type      description
-----------------------------------------------------------------------------
meshsCount     short     количество объектов в модели
float Привязка объекта (является порядковым номером родительского объекта)
float Координаты объекта по оси x
float Координаты объекта по оси y
float Координаты объекта по оси z
float Размеры объекта по оси x
float Размеры объекта по оси y
float Размеры объекта по оси z
float  ???
float Ротации по оси x
float Ротации по оси y
float Ротации по оси z
10 byte  ???
meshDesc1 Название объекта модели
...
meshDescN

Наверх