RenderWare binary stream file — различия между версиями

Материал из GTAModding.ru
Перейти к: навигация, поиск
 
(не показаны 8 промежуточных версий 4 участников)
Строка 1: Строка 1:
{{stub}}
+
'''RenderWare binary stream files''' - это иерархически структурированные файлы данных, используемые в графическом движке [[RenderWare]] 3.x. Использовались Rockstar Games в серии GTA ([[GTA_3|GTA III]], [[Vice City]], [[San Andreas]]) на PC, XBOX и PS2 (не PSP!), а так же в таких играх, как Manhunt и Bully. Также, весьма схожий формат использовался в GTA 3 Anniversary Edition.
'''RenderWare binary stream files''' - это иерархически структурированные файлы данных, используемые в графическом движке [[Wikipedia:RenderWare|RenderWare]] 3.x. Использовались Rockstar Games в серии GTA ([[GTA_3|GTA III]], [[Vice City]], [[San Andreas]]) на PC, XBOX и PS2 (не PSP!), а так же в играх Manhunt и Bully.
+
  
В GTA модели имеют расширение .[[DFF]], текстуры - .[[TXD]]. Другие возможные форматы, не используемые в линейке GTA - <code>.rws</code>, <code>.bsp</code> и <code>.dma</code>. В GTA III некоторые анимации катсцен имеют расширение <code>.anm</code>.
+
В GTA модели имеют расширение .[[DFF]], текстуры - .[[TXD]]. Другие возможные форматы, не используемые в линейке GTA - RWS, BSP и DMA. В GTA III некоторые анимации катсцен имеют расширение .[[ANM]].
  
 
==Формат файла==
 
==Формат файла==
Файл разделён на секции. Каждая секция содержит заголовок размером 12 байт и может содержать данные, другие подсекции, или вообще быть пустой. Содержание секции определяется ID(идентификатором) секции, который содержится в заголовке.
 
  
Ниже представлена структура, общая для всех файлов RenderWare - <b>заголовок секции</b>:
+
Файл разделён на секции. Каждая секция содержит заголовок размером 12 байт и может содержать данные, другие подсекции, или вообще быть пустой. Содержание секции определяется ID (идентификатором) секции, который содержится в заголовке.
  
4 byte - DWORD - идентификатор секции (ID секции)
+
Ниже представлена структура, общая для всех файлов RenderWare - <b>заголовок секции</b>:
4 byte - DWORD - размер секции включая данные и дочерные секции.
+
4 byte - DWORD - идентификатор версии RW
+
  
Версия RW зависит от версии движка, который использовался для экспорта файлов. Идентификатор должен быть одинаковый во всех заголовках секций в одном файле. В противном случае совместимость будет сильно ограничена.
+
'''4 byte - DWORD - идентификатор секции (ID секции) - определяет содержимое в блоке потока данных:'''
 +
− rwID_ATOMIC - an atomic (type RpAtomic).
 +
− rwID_CAMERA - a camera (type RwCamera).
 +
− rwID_CLUMP - a clump (type RpClump).
 +
− rwID_GEOMETRY - a geometry (type RpGeometry).
 +
− rwID_IMAGE - an image (type RwImage).
 +
− rwID_LIGHT - a light (type RpLight).
 +
− rwID_MATERIAL - a material (type RpMaterial).
 +
− rwID_MATRIX - a matrix (type RwMatrix).
 +
− rwID_TEXDICTIONARY - a texture dictionary (type RwTexDictionary).
 +
− rwID_TEXTURE - a texture (type RwTexture).
 +
− rwID_WORLD - a world (type RpWorld).
 +
− rwID_CHUNKGROUPSTART – start of a chunk group (type RwChunkGroup)
 +
− rwID_CHUNKGROUPEND – end of a chunk group (type RwChunkGroup)
 +
'''4 byte - DWORD - размер секции - длина блока данных в байтах.'''
 +
'''4 byte - DWORD - идентификатор версии RW.'''
  
{{Перевод}}
+
Версия RW зависит от версии движка, который использовался для экспорта файлов. Идентификатор должен быть одинаковый во всех заголовках секций в одном файле. В противном случае совместимость будет сильно ограничена. См. так же [http://gtamodding.ru/wiki/DFF#.D0.92.D0.B5.D1.80.D1.81.D0.B8.D0.B8_DFF версии DFF для GTA].
  
---RenderWare Glossary---
+
== Глоссарий RenderWare ==
  
'''RpAnim''' – The simplest RenderWare animation system. It is used to
+
'''RpAnim''' – простейшая анимационная система RenderWare. Используется для анимирования RpAtomics. Может быть использована только для примитивной анимации персонажей. Анимационные данные RpAnim встроены в объект RpClump и, следовательно, экспортируются в DFF-файл. На данный момент система устарела, и вместо неё используется RpHAnim.
animate RpAtomics relative to each other. It can therefore only be used
+
for rigid body animation. RpAnim animation data is embedded into the
+
RpClump object and therefore the exported .dff file. This animation
+
system is now obsolete and we recommend new projects make use of
+
RpHAnim.
+
  
'''RpAtomic''' – A RenderWare atomic is used to store information about a
+
'''RpAtomic''' – RenderWare atomic используется для хранения информации об одиночном объекте в иерархии. В большинстве случаев, каждый узел, связывающий полигоны в сцене Maya генерируется в RpAtomic. Каждый экспортированный экземпляр RpAtomic будет иметь в себе один экземпляр RpGeometry для хранения в нём полигонов и треугольников.
single object in a hierarchy. Typically, each node in a Maya scene that
+
RpAtomics используется в динамических моделях и моделях персонажей или в других подобных. Статические объекты обрабатываются RpWorld и RpWorldSector.
has polygons associated with it will generate an RpAtomic. Each
+
exported RpAtomic will have a single RpGeometry to store the triangles
+
and polygons in it.
+
RpAtomics are intended for use in dynamic models and represent all or
+
part of a character, prop or similar moveable model. Static models are
+
processed separately as RpWorld and RpWorldSector objects.
+
  
'''RpClump''' – a RenderWare clump is used to store information about a
+
'''RpClump''' – кламп RenderWare используется для хранения информации об иерархии объектов. Кламп содержит в себе число RpAtomics и  соответствующую иерархическую информацию. Объекты RenderWare atomin в клампе могут быть анимированы при помощи одной из анимационных систем RenderWare. DFF-файл содержит один RpClump. Обычно одному клампу при экспорте соответствует одна анимационная иерархия (например, персонаж, куча ящиков).
hierarchy of objects. The clump will contain a number of RpAtomics and
+
RpGeometry – Геометрическое хранилище RenderWare, содержащее данные о точках и треугольниках отдельного объекта.
the hierarchy information relating them. The atomics in the clump can
+
be animated relative to each other using one of the RenderWare
+
animation systems. A .dff file contains a single RpClump. Typically you
+
will export a separate clump for each animated hierarchy in your
+
application (e.g. characters, stacks of crates etc).
+
RpGeometry – A RenderWare geometry stores the triangle and vertex
+
data for a single object.
+
  
'''RpHAnim''' – The newest RenderWare animation system. This system can
+
'''RpHAnim''' – новейшая анимационная система RenderWare. Эта система может анимировать как твердые объекты, так и кости, деформирующие кожу персонажей. Анимационные данные RpHAnim экспортируются в ANM-файлы.
be used to drive either hierarchies of rigid objects or hierarchies of
+
bones that deform a skin. The RpHAnim animation data is exported as a
+
.anm file.
+
  
'''RpSkin''' – This RenderWare component consists of two parts. The first
+
'''RpSkin''' – этот компонент RenderWare состоит из двух частей. Первая - анимационная. Она содержит данные о перемещениях костей. Эти данные сохраняются в SKA-файлах. На данный момент система устарела.
part is an animation system to store the motion of a hierarchy of bones
+
Вторая часть RpSkin отвечает за деформацию кожи персонажей при перемещениях костей. Эта чать RpSkin не устарела.
relative to one another. This animation data is stored as a .ska file. This
+
animation system is now obsolete and we recommend new projects
+
make use of RpHAnim.
+
The second part of RpSkin is a vertex deformation system that links
+
vertices to up to 4 bones and deforms them as the bones move. This
+
part of RpSkin is not obsolete.
+
  
'''RpUserData''' – a RenderWare object used to store user-defined data with
+
'''RpUserData''' – объект RenderWare, необходимый для совмещения данных пользователя с геометрией моделей. Эти данные должны быть прикреплены к RpGeometry или
model geometry. This data can be attached to RpGeometry or
+
RpWorldSector. Maya Blind Data конвертируется RpUserData при помощи специального инструмента.
RpWorldSector objects. Maya Blind Data is converted to RpUserData by
+
the exporter.
+
  
'''RpWorld''' – A RenderWare World defines a static scene. The scene data
+
'''RpWorld''' – RenderWare World определяет статичные сцены. Данные сцены содержат несколько объектов RpWorldSector, которые, в свою очередь, содержат данные о моделях. Эти объекты организованы так, чтобы скорость рендеринга была макимальной.
consists of one or more RpWorldSector objects which contain the actual
+
model data. These objects are organised in a specific way to maximize
+
rendering speed.
+
  
'''RpWorldSector''' – Contains the triangle data used to describe a static
+
'''RpWorldSector''' – содержит данные о треугольниках статических моделей. Обычно используется для неизменяемых во время разработки игры пейзажей.
model. Generally used for scenery as the data cannot be changed.
+
  
 
[[Category:Форматы файлов]]
 
[[Category:Форматы файлов]]

Текущая версия на 23:24, 30 апреля 2013

RenderWare binary stream files - это иерархически структурированные файлы данных, используемые в графическом движке RenderWare 3.x. Использовались Rockstar Games в серии GTA (GTA III, Vice City, San Andreas) на PC, XBOX и PS2 (не PSP!), а так же в таких играх, как Manhunt и Bully. Также, весьма схожий формат использовался в GTA 3 Anniversary Edition.

В GTA модели имеют расширение .DFF, текстуры - .TXD. Другие возможные форматы, не используемые в линейке GTA - RWS, BSP и DMA. В GTA III некоторые анимации катсцен имеют расширение .ANM.

Формат файла

Файл разделён на секции. Каждая секция содержит заголовок размером 12 байт и может содержать данные, другие подсекции, или вообще быть пустой. Содержание секции определяется ID (идентификатором) секции, который содержится в заголовке.

Ниже представлена структура, общая для всех файлов RenderWare - заголовок секции:

4 byte - DWORD - идентификатор секции (ID секции) - определяет содержимое в блоке потока данных:
− rwID_ATOMIC - an atomic (type RpAtomic).
− rwID_CAMERA - a camera (type RwCamera).
− rwID_CLUMP - a clump (type RpClump).
− rwID_GEOMETRY - a geometry (type RpGeometry).
− rwID_IMAGE - an image (type RwImage).
− rwID_LIGHT - a light (type RpLight).
− rwID_MATERIAL - a material (type RpMaterial).
− rwID_MATRIX - a matrix (type RwMatrix).
− rwID_TEXDICTIONARY - a texture dictionary (type RwTexDictionary).
− rwID_TEXTURE - a texture (type RwTexture).
− rwID_WORLD - a world (type RpWorld).
− rwID_CHUNKGROUPSTART – start of a chunk group (type RwChunkGroup)
− rwID_CHUNKGROUPEND – end of a chunk group (type RwChunkGroup)
4 byte - DWORD - размер секции - длина блока данных в байтах.
4 byte - DWORD - идентификатор версии RW.

Версия RW зависит от версии движка, который использовался для экспорта файлов. Идентификатор должен быть одинаковый во всех заголовках секций в одном файле. В противном случае совместимость будет сильно ограничена. См. так же версии DFF для GTA.

Глоссарий RenderWare

RpAnim – простейшая анимационная система RenderWare. Используется для анимирования RpAtomics. Может быть использована только для примитивной анимации персонажей. Анимационные данные RpAnim встроены в объект RpClump и, следовательно, экспортируются в DFF-файл. На данный момент система устарела, и вместо неё используется RpHAnim.

RpAtomic – RenderWare atomic используется для хранения информации об одиночном объекте в иерархии. В большинстве случаев, каждый узел, связывающий полигоны в сцене Maya генерируется в RpAtomic. Каждый экспортированный экземпляр RpAtomic будет иметь в себе один экземпляр RpGeometry для хранения в нём полигонов и треугольников. RpAtomics используется в динамических моделях и моделях персонажей или в других подобных. Статические объекты обрабатываются RpWorld и RpWorldSector.

RpClump – кламп RenderWare используется для хранения информации об иерархии объектов. Кламп содержит в себе число RpAtomics и соответствующую иерархическую информацию. Объекты RenderWare atomin в клампе могут быть анимированы при помощи одной из анимационных систем RenderWare. DFF-файл содержит один RpClump. Обычно одному клампу при экспорте соответствует одна анимационная иерархия (например, персонаж, куча ящиков). RpGeometry – Геометрическое хранилище RenderWare, содержащее данные о точках и треугольниках отдельного объекта.

RpHAnim – новейшая анимационная система RenderWare. Эта система может анимировать как твердые объекты, так и кости, деформирующие кожу персонажей. Анимационные данные RpHAnim экспортируются в ANM-файлы.

RpSkin – этот компонент RenderWare состоит из двух частей. Первая - анимационная. Она содержит данные о перемещениях костей. Эти данные сохраняются в SKA-файлах. На данный момент система устарела. Вторая часть RpSkin отвечает за деформацию кожи персонажей при перемещениях костей. Эта чать RpSkin не устарела.

RpUserData – объект RenderWare, необходимый для совмещения данных пользователя с геометрией моделей. Эти данные должны быть прикреплены к RpGeometry или RpWorldSector. Maya Blind Data конвертируется RpUserData при помощи специального инструмента.

RpWorld – RenderWare World определяет статичные сцены. Данные сцены содержат несколько объектов RpWorldSector, которые, в свою очередь, содержат данные о моделях. Эти объекты организованы так, чтобы скорость рендеринга была макимальной.

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