A3D

Материал из GTAModding.ru
Перейти к: навигация, поиск

A3D - многокомпонентный формат, являющийся исходником к IDE-, IPL- и COL-файлам GTA третьей эры. Игрой формат не используется, т.к. является промежуточным на стадии компиляции.

Структура

Представляет собой описание неоткомпилированных данных на языке, близком к MaxScript, дополняющее игровую модель в DFF-файле. Для удобства чтения (с подсветкой синтаксиса) A3D можно открыть 3D Studio MAX в качестве скрипта.

В начале файла расположен комментарий разработчиков, а именно:

  • Filename - путь к A3D-файлу и его имя в исходниках GTA III;
  • Max file - путь к MAX-файлу и его имя в исходниках GTA III;
  • Written by - имя автора, создавшего A3D-файл;
  • Date & Time - дата и время компиляции файла (в GTA III равно времени последней компиляции PC-версии игры).

Далее идёт структура, которая разделяется на компоненты; компоненты делятся на составляющие:

Component {
    Name	name_l0                        //Внутреннее имя DFF-модели.
    Parent	ROOT                           //Родитель (всегда ROOT).
    Sibling	name_next_L0                   //Имя 3D-модели следующего компонента.
    Child	NULL                           //Наследник (всегда NULL).
    XForm {                                    //Исходник IPL-файла.
        Position	PosX, PosY, PosZ       //Позиция объекта на игровой карте.
        Quaternion	RotX, RotY, RotZ, RotW //Угол вращения объекта.
        Scale	1, 1, 1                        //Масштаб объекта.
    }
    BoundBox {                                 //Параметры ограничивающей коробки (Bounding Box).
        Position	PosX, PosY, PosZ       //Координаты центра коробки.
        Size	SizeX, SizeY, SizeZ            //Размеры коробки.
    }
    BoundSphere {                              //Параметры ограничивающей сферы (Bounding Sphere).
        Position	PosX, PosY, PosZ       //Координаты центра сферы.
        Radius	BoundingSphereRadius           //Значение радиуса сферы.
    }
    Attributes {                               //Атрибуты объекта.
        ClassName	"Gta Object"           //Название класса (графическая либо физическая модлеь).
        bool	"Is time object"	0      //Логическая переменная, отвечает за время отображения объекта.
        int	"Time on"	0              //Целое число, от него зависит время начала рендеринга.
        int	"Time off"	23             //Целое число, от него зависит время окончания рендеринга.
        float	"LOD distance"	300.000000     //Дистанция прорисовки.
        bool	"Normal cull"	0              //Логическая переменная, смотрите раздел "Флаги объектов" статьи об IDE-файлах.
        string	TXD	TexDictName            //Имя TXD-папки, хранящей текстуры объекта.
        bool	"Do not fade"	0              //Логическая переменная, смотрите раздел "Флаги объектов" статьи об IDE-файлах.
        bool	"Draw last"	0              //Логическая переменная, смотрите раздел "Флаги объектов" статьи об IDE-файлах.
        bool	Additive	0              //Логическая переменная, смотрите раздел "Флаги объектов" статьи об IDE-файлах.
        bool	"Is Subway"	0              //Логическая переменная, смотрите раздел "Флаги объектов" статьи об IDE-файлах.
        bool	"Ignore Lighting"	0      //Логическая переменная, смотрите раздел "Флаги объектов" статьи об IDE-файлах.
        bool	"No Zbuffer write"	0      //Логическая переменная, смотрите раздел "Флаги объектов" статьи об IDE-файлах.
    }
    ColMesh {                                  //Исходник физической 3D-модели.
        Name	Collision_Mesh                 //Имя пустышки в DFF-файле, к которой крепится меш.
        Position	PosX, PosY, PosZ       //Координаты центра меша в коллизии.
        VertexArray {                          //Массив вершин меша.
            Number	i                      //Количество вершин в меше.
            Vertex	PosX, PosY, PosZ       //Координаты 1 вершины относительно центра меша.
            ...
        }
        FaceArray {                            //Массив фейсов.
            Number	j                      //Количество фейсов в меше.
            Face	0, 1, 2                //Номера вершин, из которых формируется фейс.
            ...
        }
        Attributes {                           //Атрибуты меша.
            ClassName	"Gta Collision"        //Название класса (графическая либо физическая модель).
            int	"Surface Type"	11             //Тип поверхности меша (трава, песок и т. д.).
            int	"Piece Type"	0              //Неизвестный параметр.
        }
        }
    }
    ColBox {                                   //Исходник бокса в COL-файле.
        Name	colbox                         //Имя пустышки в DFF-файле, к которой крепится бокс.
        Position	PosX, PosY, PosZ       //Координаты центра бокса в коллизии.
        Size	SizeX, SizeY, SizeZ            //Размеры бокса.
        Attributes {                           //Атрибуты бокса.
            ClassName	"Gta Collision"        //Название класса (графическая либо физическая модель).
            int	"Surface Type"	11             //Тип поверхности бокса (трава, песок и т. д.).
            int	"Piece Type"	0              //Неизвестный параметр.
        }
        }
    }
    ColSphere {                                //Исходник сферы в COL-файле.
        Name	"ColSph"                       //Имя пустышки в DFF-файле, к которой крепится сфера.
        Position	PosX, PosY, PosZ       //Координаты центра сферы в физической модели.
        Radius	SphereRadius                   //Значение радиуса сферы в коллизии.
        Attributes {                           //Атрибуты сферы.
            ClassName	"Gta Collision"        //Название класса (графическая либо физическая модель).
            int	"Surface Type"	11             //Тип поверхности сферы (трава, песок и т. д.).
            int	"Piece Type"	0              //Неизвестный параметр.
        }
    }
}

Автор статьи: XEPOMAHT007, правил НикИТОС. Мы не работаем в Rockstar Games, поэтому не несём ответственности за содержимое статьи.

п · о · р
GTA III Grand Theft Auto III
Форматы файлов.b.a3d.anm.col.cfg.dff.dat.gxt.ide.ifp.img/.dir.ipl.raw/.sdt.rep.sc.scm.set.txd.zon
Документацияcarcols.datCHASE.DATCULLZONE.DATcuts.imgdefault.datfistfite.datflight.datgta3.exegta3.dat
gta3.imggta3.zonhandling.cfgmain.scmmap.datmap.zonobject.datparticle.cfgped.datpedgrp.dat
pedstats.datsfx.rawsurface.datTimeCyc.DATtracks.dattrain.datwater.datwaterpro.datweapon.dat
ИнструментыCLEOClump ViewerCol-IO‎Collision File Editor IIData toolDFF Viewerdffxbox2pcG-ToolsGTA Garage Mod Manager
GXT EditorGTA3 Limit AdjusterGTA3 Mission BuilderGTA3 PatcherIMG ToolKam's Max ScriptsMap Editor
Mod GeneratorMod InstallerMoo MapperPS2 TXD ModPS2 TXD ViewerResourse HackerRotation Calculator
RW AnalyzeViceTXDWater EditorSanny BuilderTXD ToolTXD WorkshopYAIEZModeler
Туториалыраздел в разработке
Классические МодыGPS RadarBye-Bye BikiniUltimate Stunt ParkThe SphereMiss LibertyIllandoIntercity HighwayShoreside Bridge
Rockstar HeightsLighthouse BridgeBlade FunparkOrbital CityLakeside IslandLiberty PenitentiaryJEM Island
Illando HelixCliff Climbing Mountain
Глобальные МодыReal GTA3Twenty TenSnow CityFrosted WinterUltimateBeta modX-box modBad BusinessGTA3 HDUltra mod
OpenTunnelsBack to the Future
МультиплеерMulti Theft AutoLiberty Unleashed
Исходники4x48ballambulanceasukaasusbcameracar_gencatcopcardebugdemodiablofiretruckfrankgates
genstufhealthhjhoodimportintrojoeykenjiloveluigimayhemmeatpickupsrampagerayrcswitch
taxitoniusjwantedyard