A3D — различия между версиями
Материал из GTAModding.ru
Solom (обсуждение | вклад) (→Структура) |
НикИТОС (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | A3D - многокомпонентный формат, являющийся исходником к [[IDE]]-, [[IPL]]- и [[COL]]-файлам GTA третьей эры. Игрой формат не используется, т.к. является промежуточным на стадии компиляции. | |
== Структура == | == Структура == | ||
− | Представляет собой описание неоткомпилированных данных на языке | + | Представляет собой описание неоткомпилированных данных на языке, близком к MaxScript, дополняющее игровую модель в DFF-файле. Для удобства чтения (с подсветкой синтаксиса) A3D можно открыть 3D Studio MAX в качестве скрипта. |
− | В начале файла | + | В начале файла расположен комментарий разработчиков, а именно: |
− | * Filename - путь к | + | * Filename - путь к A3D-файлу и его имя в исходниках GTA III; |
− | * Max file - путь к | + | * Max file - путь к MAX-файлу и его имя в исходниках GTA III; |
− | * Written by - имя автора, создавшего | + | * Written by - имя автора, создавшего A3D-файл; |
− | * Date & Time - дата и время компиляции файла (в | + | * Date & Time - дата и время компиляции файла (в GTA III равно времени последней компиляции PC-версии игры). |
− | + | Далее идёт структура, которая разделяется на компоненты; компоненты делятся на составляющие: | |
− | + | ||
− | Далее | + | |
<source lang="io"> | <source lang="io"> | ||
Component { | Component { | ||
− | Name name_l0 // | + | Name name_l0 //Внутреннее имя DFF-модели. |
− | Parent ROOT // | + | Parent ROOT //Родитель (всегда ROOT). |
− | Sibling name_next_L0 // | + | Sibling name_next_L0 //Имя 3D-модели следующего компонента. |
− | Child NULL // | + | Child NULL //Наследник (всегда NULL). |
− | XForm { // | + | XForm { //Исходник [[IPL]]-файла. |
− | Position PosX, PosY, PosZ // | + | Position PosX, PosY, PosZ //Позиция объекта на игровой карте. |
− | Quaternion RotX, RotY, RotZ, RotW // | + | Quaternion RotX, RotY, RotZ, RotW //Угол вращения объекта. |
− | Scale 1, 1, 1 // | + | Scale 1, 1, 1 //Масштаб объекта. |
} | } | ||
− | BoundBox { // | + | BoundBox { //Параметры ограничивающей коробки (Bounding Box). |
− | Position PosX, PosY, PosZ // | + | Position PosX, PosY, PosZ //Координаты центра коробки. |
− | Size SizeX, SizeY, SizeZ // | + | Size SizeX, SizeY, SizeZ //Размеры коробки. |
} | } | ||
− | BoundSphere { // | + | BoundSphere { //Параметры ограничивающей сферы (Bounding Sphere). |
− | Position PosX, PosY, PosZ // | + | Position PosX, PosY, PosZ //Координаты центра сферы. |
− | Radius BoundingSphereRadius // | + | Radius BoundingSphereRadius //Значение радиуса сферы. |
} | } | ||
− | Attributes { // | + | Attributes { //Атрибуты объекта. |
− | ClassName "Gta Object" // | + | ClassName "Gta Object" //Название класса (графическая либо физическая модлеь). |
− | bool "Is time object" 0 // | + | bool "Is time object" 0 //Логическая переменная, отвечает за время отображения объекта. |
− | int "Time on" 0 // | + | int "Time on" 0 //Целое число, от него зависит время начала рендеринга. |
− | int "Time off" 23 // | + | int "Time off" 23 //Целое число, от него зависит время окончания рендеринга. |
− | float "LOD distance" 300.000000 // | + | float "LOD distance" 300.000000 //Дистанция прорисовки. |
− | bool "Normal cull" 0 // | + | bool "Normal cull" 0 //Логическая переменная, смотрите раздел "Флаги объектов" [[здесь|IDE]]. |
− | string TXD TexDictName // | + | string TXD TexDictName //Имя TXD-папки, хранящей текстуры объекта. |
− | bool "Do not fade" 0 // | + | bool "Do not fade" 0 //Логическая переменная, смотрите раздел "Флаги объектов" [[здесь|IDE]]. |
− | bool "Draw last" 0 // | + | bool "Draw last" 0 //Логическая переменная, смотрите раздел "Флаги объектов" [[здесь|IDE]]. |
− | bool Additive 0 // | + | bool Additive 0 //Логическая переменная, смотрите раздел "Флаги объектов" [[здесь|IDE]]. |
− | bool "Is Subway" 0 // | + | bool "Is Subway" 0 //Логическая переменная, смотрите раздел "Флаги объектов" [[здесь|IDE]]. |
− | bool "Ignore Lighting" 0 // | + | bool "Ignore Lighting" 0 //Логическая переменная, смотрите раздел "Флаги объектов" [[здесь|IDE]]. |
− | bool "No Zbuffer write" 0 // | + | bool "No Zbuffer write" 0 //Логическая переменная, смотрите раздел "Флаги объектов" [[здесь|IDE]]. |
} | } | ||
− | ColMesh { // | + | ColMesh { //Исходник [[физической 3D-модели|COL]]. |
− | Name Collision_Mesh // | + | Name Collision_Mesh //Имя пустышки в [[DFF]]-файле, к которой крепится меш. |
− | Position PosX, PosY, PosZ // | + | Position PosX, PosY, PosZ //Координаты центра меша в коллизии. |
− | VertexArray { // | + | VertexArray { //Массив вершин меша. |
− | Number i // | + | Number i //Количество вершин в меше. |
− | Vertex PosX, PosY, PosZ // | + | Vertex PosX, PosY, PosZ //Координаты 1 вершины относительно центра меша. |
... | ... | ||
} | } | ||
− | FaceArray { // | + | FaceArray { //Массив фейсов. |
− | Number j // | + | Number j //Количество фейсов в меше. |
− | Face 0, 1, 2 // | + | Face 0, 1, 2 //Номера вершин, из которых формируется фейс. |
... | ... | ||
} | } | ||
− | Attributes { // | + | Attributes { //Атрибуты меша. |
− | ClassName "Gta Collision" // | + | ClassName "Gta Collision" //Название класса (графическая либо физическая модель). |
− | int "Surface Type" 11 // | + | int "Surface Type" 11 //Тип поверхности меша (трава, песок и т. д.). |
− | int "Piece Type" 0 // | + | int "Piece Type" 0 //Неизвестный параметр. |
} | } | ||
} | } | ||
} | } | ||
− | ColBox { // | + | ColBox { //Исходник бокса в [[COL]]-файле. |
− | Name colbox // | + | Name colbox //Имя пустышки в [[DFF]]-файле, к которой крепится бокс. |
− | Position PosX, PosY, PosZ // | + | Position PosX, PosY, PosZ //Координаты центра бокса в коллизии. |
− | Size SizeX, SizeY, SizeZ // | + | Size SizeX, SizeY, SizeZ //Размеры бокса. |
− | Attributes { // | + | Attributes { //Атрибуты бокса. |
− | ClassName "Gta Collision" // | + | ClassName "Gta Collision" //Название класса (графическая либо физическая модель). |
− | int "Surface Type" 11 // | + | int "Surface Type" 11 //Тип поверхности бокса (трава, песок и т. д.). |
− | int "Piece Type" 0 // | + | int "Piece Type" 0 //Неизвестный параметр. |
} | } | ||
} | } | ||
} | } | ||
− | ColSphere { // | + | ColSphere { //Исходник сферы в [[COL]]-файле. |
− | Name "ColSph" // | + | Name "ColSph" //Имя пустышки в [[DFF]]-файле, к которой крепится сфера. |
− | Position PosX, PosY, PosZ // | + | Position PosX, PosY, PosZ //Координаты центра сферы в физической модели. |
− | Radius SphereRadius // | + | Radius SphereRadius //Значение радиуса сферы в коллизии. |
− | Attributes { // | + | Attributes { //Атрибуты сферы. |
− | ClassName "Gta Collision" // | + | ClassName "Gta Collision" //Название класса (графическая либо физическая модель). |
− | int "Surface Type" 11 // | + | int "Surface Type" 11 //Тип поверхности сферы (трава, песок и т. д.). |
− | int "Piece Type" 0 // | + | int "Piece Type" 0 //Неизвестный параметр. |
} | } | ||
} | } | ||
Строка 93: | Строка 91: | ||
</source> | </source> | ||
− | + | Автор статьи: [[Участник:XEPOMAHT007]], правил [[Участник:НикИТОС]]. Мы не работаем в Rockstar Games, поэтому не несём ответственности за содержимое статьи. | |
{{GTA3-navi}} | {{GTA3-navi}} | ||
[[Категория:GTA 3]][[Категория:Форматы файлов]] | [[Категория:GTA 3]][[Категория:Форматы файлов]] |
Версия 13:25, 10 сентября 2012
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-модели|COL]]. 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, поэтому не несём ответственности за содержимое статьи.