-
Notifications
You must be signed in to change notification settings - Fork 5
POB File Format
Glossary
GR - Ghost Recon
GRE - Ghost Recon engine
RSB - Red Storm Bitmap
-TODO-
Unknown variables and constants.
1. Introduction
2. Overview
3. Sections
This document describes the structure of the POB file format used by the GRE (Ghost Recon engine). GR (Ghost Recon) game POB files are stored in the "Model" folder and has an extension of ".pob".
The POB file contains the information about static, dynamic (animated) and moving in-game 3D objects: vehicles, aviation, military equipment, effect particles. For example, tanks or helicopters, guns, boats and explosion effects are stored in this type of game files. It includes information about materials, textures, 3d geometry, object's animations and additional data for a game engine, such as object tagging. The POB file can store only one tagged in-game object, e.g. one tank or one machinegun. You can create the POB files with an official developer plugin for 3DS MAX 3-5 version.
The POB file format is divided into four major sections and three signatures between theme as shown in the POB file structure.
№ | Section | Description | Links |
---|---|---|---|
1 | File Header Section | File header | see Table 2 |
2 | BeginModel Signature | - | |
3 | 1. MaterialList Section | Materials and textures information | see Table 3 |
4 | 2. GeometryList Section | Geometry objects data | see Table 13 |
5 | EndModel Signature | - | |
6 | 3. ObjectList Section | Objects (nodes) hierarchy | see Table 39 |
7 | EndPOB signature | - |
The file header has a fixed length; the other three sections are variable in length.
The fist file section contains the basic file properties. The POB header is 21 bytes long.
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 4 | integer | File signature length. Equal to 9. | 9 |
2 | 9 | string | File signature: always equal to 'BeginPOB.'. | "BeginPOB." |
3 | 4 | datetime | File creation date. | variable |
4 | 4 | datetime | File modified date. | variable |
The file signature is unique file identifier helps game engine to auto-detect the file type on load. Most of GR game files have there unique signatures.
BeginModel signature is 15 bytes long. Main file sections start right after this signature.
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 4 | integer | BeginModel signature length. Equal to 11. | 11 |
2 | 11 | string | BeginModel signature: always equal to 'BeginModel.'. | "BeginModel." |
The MaterialList section contains information about object's materials and textures.
№ | Section | Description | Links |
---|---|---|---|
1 | Header | see Table 4 | |
2 | Materials subsection | Object materials | see Materials |
3 | Textures subsection | Object textures | see Textures |
MaterialList section header is 41 bytes long. It is structured as follows:
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 4 | integer | MaterialList section size. | variable |
2 | 4 | integer | ID | 8 |
3 | 4 | integer | "Version." string length. Equal to 8. | 8 |
4 | 8 | string | "Version." string. | "Version." |
5 | 4 | integer | Version value. | 3 |
6 | 4 | integer | "MaterialList." string length. Equal to 11. | 13 |
7 | 13 | string | "MaterialList." string. | "MaterialList." |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Materials Count | |
2 | variable | array | Materials Array | see Table 6 |
Materials Array is an array, repeated for the Object materials count. It is as follows:
№ | Section | Links |
---|---|---|
1 | Header | see Table 7 |
2 | Material properties | see Table 8 |
Materials Array Header is variable in length. It is structured as follows:
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 4 | integer | Section size. | |
2 | 4 | integer | ID value. | 8 |
3 | 4 | integer | "Version." string length. Equal to 8. | 8 |
4 | 8 | string | "Version." string. | "Version." |
5 | 4 | integer | Version value. | 3 |
6 | 4 | integer | Material Name string length. | |
7 | string | Material Name string. |
№ | Length | Type | 3dsMax type | Description | Value |
---|---|---|---|---|---|
1 | 4 | float | integer | Opacity (0-100) | 0..1 |
2 | 4 | integer | integer | Faceted | 0 - on, 3 - unset |
Ambient Color Map values | 0..1 | ||||
1 | 4 | float | integer | Red (0-255) | 0..1 |
2 | 4 | float | integer | Green (0-255) | 0..1 |
3 | 4 | float | integer | Blue (0-255) | 0..1 |
4 | 4 | float | Unknown constant | 1 | |
Diffuse Color Map values | 0..1 | ||||
1 | 4 | float | integer | Red (0-255) | 0..1 |
2 | 4 | float | integer | Green (0-255) | 0..1 |
3 | 4 | float | integer | Blue (0-255) | 0..1 |
4 | 4 | float | Unknown constant | ||
Specular Color Map values | 0..1 | ||||
1 | 4 | float | integer | Red (0-255) | 0..1 |
2 | 4 | float | integer | Green (0-255) | 0..1 |
3 | 4 | float | integer | Blue (0-255) | 0..1 |
4 | 4 | float | Unknown constant | 1 | |
5 | 4 | float | integer | Specular level | 0..1 |
6 | 1 | integer | integer | 2-Side | 0 - off, 1 - on |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Textures count | |
2 | variable | array | Textures Array List | see Table |
Textures Array is an array, repeated for the Object textures count. It is as follows:
№ | Section | Links |
---|---|---|
1 | Header | see Table 11 |
2 | Texture properties | see Table 12 |
Textures Array Header is variable in length. It is structured as follows:
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 4 | integer | Section size. | |
2 | 4 | integer | ID | 38 |
3 | 4 | integer | "Version." string length. Equal to 8. | 8 |
4 | 8 | string | "Version." string. | "Version." |
5 | 4 | integer | Version value. | 2 |
6 | 4 | integer | Texture Name string length. | |
7 | string | Texture Name string. |
№ | Length | Type | 3Ds Max type | Description | Value |
---|---|---|---|---|---|
1 | 1 | byte | Unknown constant. | 0 | |
2 | 4 | integer | The Length of the filename string. | ||
3 | string | Texture filename. | |||
4 | 4 | integer | integer | Advanced transparency type. | 0 - subtractive, 2 - additive, 3 - filter |
5 | 4 | integer | integer | Tiled | 1 - u tiled only, 2 - v tiled only, 3 - none |
6 | 4 | float | integer | Self-illumination (0-100) | 0..1 |
№ | Type | Section | Links |
---|---|---|---|
1 | Header | see Table 13 | |
2 | integer | Object Count | |
3 | array | Objects array | see Table 14 |
GeometryList section header is 41 bytes long.
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 4 | integer | GeometryList section size. | |
2 | 4 | integer | ID | 7 |
3 | 4 | integer | "Version." string length. Equal to 8. | 8 |
4 | 8 | string | "Version." string. | Version. |
5 | 4 | integer | Version value. | 1 |
6 | 4 | integer | "GeometryList." string length. Equal to 11. | 11 |
7 | 13 | string | "GeometryList." string. | GeometryList. |
Objects array is an array, repeated for the Object count. It contains information about verticies coordinates, texture coordinates, face and texture indexes, normals and texture color map. Object itself it is a group of separated 3d models stored in an array.
№ | Description | Links |
---|---|---|
1 | Section Header | see Table 16 |
2 | Header | see Table 17 |
3 | Header | see Table 17 |
4 | Object properties | see Objects |
5 | Points subsection | see Points |
6 | Collision objects subsection | see Collisions |
7 | Polygons subsection | see Polygons |
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 4 | integer | Section size. | |
2 | 4 | integer | ID. | 4 |
3 | 4 | integer | "Version." string length. | 8 |
4 | 8 | string | "Version." string. | "Version." |
5 | 4 | integer | Version value. | 8 |
6 | 4 | integer | Object Name string length. | |
7 | string | Object Name string. |
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 4 | integer | Section size. | |
2 | 4 | integer | ID. | 4 |
3 | 4 | integer | "Version." string length. | 8 |
4 | 8 | string | "Version." string. | "Version." |
5 | 4 | integer | Version value. | 8 |
6 | 4 | integer | Object Name string length. | |
7 | string | Object Name string. |
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 2 | integer | Dark Map | 0 - no, 1 - yes |
2 | 2 | integer | Cast Shadow | 0 - no, 1 - yes |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Vertex Count | |
2 | variable | array | Vertex array | see Table 19 |
3 | 4 | integer | 3D models count | |
4 | variable | array | Models array | see Table 20 |
Vertex array is an array, repeated for the Vertex Count. It contains information about verticies coordinates. It is as follows:
№ | Length | Type | 3ds Max type | Description |
---|---|---|---|---|
1 | 4 | float | float | X coordinate |
2 | 4 | float | float | Y coordinate |
3 | 4 | float | float | Z coordinate |
Models array is an array, repeated for the 3D models Count. It contains information about texture coordinates, face and texture indexes, normals and color map. It is as follows:
№ | Length | Type | Description | Value | Links |
---|---|---|---|---|---|
1 | 1 | Properties | see Table 22 | ||
1 | 4 | integer | integer | Faces Count | |
2 | array | Normals1 array | see Table 24 | ||
3 | array | Face indexes array | see Table 25 | ||
4 | array | Texture indexes array | see Table 26 | ||
5 | 4 | integer | Vertex Count | ||
6 | 4 | integer | Texture Count | ||
7 | array | Normals2 | see Table 27 | ||
8 | If Texture Count > 0 then there is an array of the Texture coordinates | ||||
9 | array | Texture coordinates | see Table 28 | ||
10 | array | Color map | see Table 29 |
№ | Length | Type | 3ds Max type | Description | Value | Links |
---|---|---|---|---|---|---|
1 | 1 | integer | Unknown const | 1 | ||
2 | 1 | integer | integer | Detailed Darkmap | 0 - off, 1 - on | |
3 | 1 | integer | integer | Detail Texture | 0 - off, 1 - on | |
4 | 4 | integer | integer | Index of a material | ||
5 | 1 | integer | isTextured | 0 - no, 1 - yes | ||
if isTextured > 0 then there is one more variable | ||||||
1 | 4 | integer | integer | Index of a texture | ||
if isTextured > 0 and DetailTexture > 0 +1 variable | ||||||
1 | 4 | integer | integer | Index of a Detail Texture | ||
MAPs | ||||||
1 | 4 | integer | integer | Unknown variable | ||
2 | 4 | integer | integer | SelfIlluminationMap Index | ||
3 | 4 | integer | integer | SpecularMap Index | ||
4 | 4 | integer | integer | BumpMap Index | ||
5 | 4 | integer | integer | ReflectionMap Index | ||
6 | 4 | integer | MapCount |
Normals1 array is an array, repeated for the Face Count. It contains information about normals coordinates.
№ | Length | 3ds Max type | Type | Description |
---|---|---|---|---|
1 | 4 | float | float | X coordinate |
2 | 4 | float | float | Y coordinate |
3 | 4 | float | float | Z coordinate |
4 | 4 | float | float | Distance from model origin to face, sign defines direction of normal vector |
Face indexes array is an array, repeated for the Face Count. It contains information about face indexes of a triangle polygon.
Length | 3ds Max type | Type | Description |
---|---|---|---|
2 | integer | integer | First point index |
2 | integer | integer | Second point index |
2 | integer | integer | Third point index |
Texture indexes array is an array, repeated for the Face Count. It contains information about texture indexes of a triangle polygon.
Length | 3ds Max type | Type | Description |
---|---|---|---|
2 | integer | integer | First point index |
2 | integer | integer | Second point index |
2 | integer | integer | Third point index |
??? Normals2 array is an array, repeated for the Vertex Count. It is another array that contains information about normals coordinates.
Length | 3ds Max type | Type | Description |
---|---|---|---|
4 | float | float | X |
4 | float | float | Y |
4 | float | float | Z |
Texture coordinates array is an array, repeated for the (Vertex Count)*(TextureCount). It contains information about Texture coordinates.
Length | 3ds Max type | Type | Description |
---|---|---|---|
4 | float | float | U |
4 | float | float | V |
Color map array is an array, repeated for the Vertex Count. It contains information about color map, which applied on a faces without a texture assigned.
№ | Length | Type | 3Ds Max type | Description | Value |
---|---|---|---|---|---|
1 | 4 | float | integer | Red (0..255) | 0..1 |
2 | 4 | float | integer | Green (0..255) | 0..1 |
3 | 4 | float | integer | Blue (0..255) | 0..1 |
4 | 4 | float | integer | Unknown const | 1 |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Points Count | |
2 | array integer | Point array | see Table 26 |
Points array is an array, repeated for the Points Count. It contains information about tagged helper points (e.g. ^leftwheel#anchor will be leftwheelanchor in the file) grouped with the object. It is as follows:
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Points Count | |
2 | 4 | integer | Point Name length | |
3 | string | Point Name | see Table 27 | |
4 | Transformation matrix | see Table |
№ | Name | Name (in the file) | Description |
---|---|---|---|
1 | ^leftwheel#anchor | leftwheelanchor | left wheels point |
2 | ^rightwheel#anchor | rightwheelanchor | right wheels point |
3 | ^eject# | eject | eject point |
3 | ^seat# | seat | seat place |
4 | ^bodyanchor# | bodyanchor | suspension top point |
5 | ^trackanchor# | trackanchor | suspension bottom point |
6 | ^contactpoint# | contactpoint | track attachment point |
7 | ^WeaponFX | WeaponFX | muzzle flash point |
7 | ^[d0]specialeffectname | [d0]specialeffectname | special effect point name, it spawn effects when a vehicle is destroyed |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Vertices Count | |
2 | array | Vertices array | see Table 29 | |
3 | 4 | integer | Faces Count | |
4 | array | Normals array | see Table 30 |
Vertices array is an array, repeated for the *Vertices Count *.
№ | Length | Type | Description |
---|---|---|---|
1 | 4 | float | X |
2 | 4 | float | Y |
3 | 4 | float | Z |
Normals array is an array, repeated for the Faces Count.
№ | Length | Type | Description |
---|---|---|---|
1 | 4 | float | X coordinate |
2 | 4 | float | Y coordinate |
3 | 4 | float | Z coordinate |
4 | 4 | float | Distance from model origin to face, sign defines direction of normal vector |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Objects Count | |
2 | 4 | integer | Objects array, repeated for the Objects Count | see Table 32 |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Polygons Count | |
2 | 4 | integer | Polygons array, repeated for the Polygons Count | see Table 33 |
3 | 4 | integer | Objects Count | |
4 | 4 | integer | non-rendered objects array, repeated for the Objects Count | see Table 35 |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Polygon Name Length | |
2 | string | Polygon Name string | ||
3 | 1 | integer | Polygon properties | 2 - non colidable 2d, 10 - non colidable 3d 26 - 3 |
4 | 1 | integer | Carving Boundary | 1 - Carving Boundary 2 - cannot carve |
5 | 1 | integer | Unknown constant | 0 |
6 | 1 | integer | Unknown constant | |
7 | Surface property | see Table 34 |
№ | Name |
---|---|
1 | Carpet |
2 | Concrete |
3 | Wood |
4 | Metal |
5 | Asphalt |
6 | Sand |
7 | LowGrass |
8 | HighGrass |
9 | Puddle |
10 | Water |
11 | Drywall |
12 | ThinMetal |
13 | ThickMetal |
14 | MetalGasTank |
15 | SteamPipe |
16 | ElectricalPanel |
17 | Snow |
18 | SafetyGlass |
19 | BulletResistantGlass |
20 | Ice |
21 | Mud |
22 | Glass |
23 | Foliage |
24 | Gravel |
25 | GlassShards |
26 | DeepSand |
27 | BakedClay |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Polygon properties | see Table 36 |
1 | 4 | integer | Face count | |
2 | 4 | integer | Face indexes array, repeated for the Face count | see Table 37 |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Polygon Name Length | |
2 | string | Polygon Name string | ||
3 | 1 | integer | Properties | 2 - non colidable 2d, 10 - non colidable 3d 26 - 3 |
4 | 1 | integer | Carving Boundary | 1 - Carving Boundary 2 - cannot carve |
5 | 1 | integer | Unknown constant | 0 |
6 | 1 | integer | Unknown constant | |
7 | Surface property | see Table 34 |
№ | Length | Type | Description |
---|---|---|---|
1 | 2 | integer | First point index |
2 | 2 | integer | Second point index |
3 | 2 | integer | Third point index |
4 | 2 | integer | Unknown variable |
EndModel signature is 13 bytes long.
№ | Length | Description |
---|---|---|
1 | 4 | EndModel signature length. Equal to 9. |
2 | 9 | EndModel signature: always equal to 'EndModel'. |
| № | Length | Type | Description | Links |
| :---- | :-- | :-- | :----------------------- | :------------------ | :-- |
| 1 | | | Header | see Table 44 |
| 2 | 4 | integer | Root nodes count. It is equal 1. | |
| 2 | | | Root Node Header | see Table 34 |
| 3 | | | Nodes section | see Table 34 |
№ | Length | Type | Description |
---|---|---|---|
1 | 4 | integer | Section size. |
2 | 4 | integer | ID. |
3 | 4 | integer | "Version." string length. Equal to 8. |
4 | 8 | string | "Version." string. |
5 | 4 | integer | Version value. |
6 | 4 | integer | "ObjectList." string length. Equal to 11. |
7 | 11 | string | "ObjectList." string. |
№ | Length | Description |
---|---|---|
1 | 4 | Section size. |
2 | 4 | Node type ID |
3 | 4 | "Version." string length. |
4 | 8 | "Version." string. |
5 | 4 | Version value. |
6 | 4 | Root node Name string length. |
7 | 11 | Root node Name string. |
№ | Section | Description | Links |
---|---|---|---|
1 | Node Header | see Table 47 | |
2 | Node properties | Node properties | see Nodes |
Length | Type | Description | Links |
---|---|---|---|
4 | integer | Section size. | |
4 | integer | ID | see Nodes |
4 | integer | "Version." string length. | 8 |
8 | string | "Version." string. | Version. |
4 | integer | Version value. | |
integer | Node Name string length. | ||
string | Node Name string. |
Node properties depend on the Node type.
№ | ID | Type | Description | Links |
---|---|---|---|---|
1 | 46 | Empty node | see Table 49 | |
2 | 47 | Group node | Node named with tag | see Table 50 |
3 | 48 | Billboard node | Node named with tag | see |
4 | 49 | LOD node | Node named with tag | see |
5 | 50 | Animation node | Node with the animations | see Table 53 |
6 | 51 | Particle node | Node with particle effects | see Nodes |
7 | 52 | Forest node | Node with a trees | see Table 52 |
8 | 53 | Light node | Light node | see Table 51 |
9 | 54 | Projected Light node | Node, which has light with projected texture assigned | see Table 51 |
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 1 | integer | Empty node | 0 |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Tagging string length. | |
2 | string | Tagging string. | ||
3 | 48 | Transformation matrix | ||
4 | 4 | integer | Child nodes Count | |
5 | Child Nodes | see Table |
№ | Length | Type | Description | Value | Links |
---|---|---|---|---|---|
1 | 48 | Transformation matrix | |||
1 | 4 | integer | Light Type | see Table 52 | |
Diffuse Color | |||||
1 | 4 | float | integer | Red (0..255) | 0..1 |
2 | 4 | float | integer | Green (0..255) | 0..1 |
3 | 4 | float | integer | Blue (0..255) | 0..1 |
4 | 4 | float | integer | Unknown constant | 1 |
Ambient Color | |||||
1 | 4 | float | integer | Red (0..255) | 0..1 |
2 | 4 | float | integer | Green (0..255) | 0..1 |
3 | 4 | float | integer | Blue (0..255) | 0..1 |
4 | 4 | float | integer | Unknown constant | 1 |
Color | |||||
1 | 4 | float | integer | Red (0..255) | 0..1 |
2 | 4 | float | integer | Green (0..255) | 0..1 |
3 | 4 | float | integer | Blue (0..255) | 0..1 |
4 | 4 | float | integer | Unknown constant | 1 |
SpotLight Properties | |||||
1 | 4 | float | Multiplier | ||
2 | 4 | float | HotSpotSize | ||
3 | 4 | float | FalloffSize | ||
Far Attenuation | |||||
1 | 4 | float | Start | ||
2 | 4 | float | End | ||
1 | 1 | byte | Shadows | 0 - off, 1 - on | |
if (Light Type=8) Projected Light properties | |||||
1 | 4 | integer | Unknown constant | 0 | |
2 | 4 | float | Light Type | 2 - omni, 1 - directional, 0 - spot | |
3 | 4 | integer | Unknown constant | 0 | |
4 | 4 | integer | Unknown constant | 0 | |
5 | 4 | integer | Unknown constant | 1 | |
6 | 4 | float | AspectRatio | ||
Rectangilar Beam Size | |||||
1 | 4 | float | Width | ||
2 | 4 | float | Length | ||
Projected texture | |||||
1 | 4 | integer | String length | ||
2 | string | Projected Texture name string | |||
1 | 4 | integer | Child nodes Count | ||
2 | array | Child Nodes array, repeated for Child nodes Count | Table 46 |
№ | type | id |
---|---|---|
1 | directional | 1 |
2 | Omni | 2 |
3 | Spot | 5 |
4 | free directional light | 6 |
5 | projected | 8 |
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 4 | integer | Node properties string length. | |
2 | string | Node properties string. | ||
3 | 48 | Transformation matrix | ||
Animation properties | ||||
1 | 4 | integer | Position Out-Of-Range Type | see Table 54 |
2 | 4 | integer | Rotation Out-Of-Range Type | see Table 54 |
3 | 4 | integer | Unknown variable | |
4 | 4 | float | Unknown variable | |
5 | 2 | integer | Unknown variable | |
6 | 4 | integer | Unknown variable | |
7 | 2 | integer | Unknown variable | |
8 | 4 | integer | Unknown variable | |
9 | 1 | integer | Unknown variable | |
10 | 1 | integer | Unknown variable | |
11 | 1 | integer | Unknown variable | |
Animations | ||||
Movement animation | ||||
1 | 4 | integer | Position Keys Count | |
2 | 4 | integer | Controller Type | Table 55 |
if (Controller Type = 3) 5 vars | ||||
1 | 4 | integer | Unknown constant | 0 |
2 | 4 | float | Time | |
Position (x,y,z) | ||||
1 | 4 | float | X | |
2 | 4 | float | Y | |
3 | 4 | float | Z | |
if (Controller Type = 5) 8 vars | ||||
1 | 4 | integer | Unknown constant | 0 |
2 | 4 | float | Time | |
Position (x,y,z) | ||||
1 | 4 | float | X | |
2 | 4 | float | Y | |
3 | 4 | float | Z | |
4 | 4 | float | Tension | |
5 | 4 | float | Contunioty | |
6 | 4 | float | Bias | |
Rotation animation | ||||
1 | 4 | integer | Rotation Keys Count | |
Keys Array | ||||
1 | 4 | integer | Unknown constant | 0 |
2 | 4 | integer | Controller Type | 4 - Linear Rotation |
3 | 4 | float | Time | |
4 | 4 | float | Unknown variable | |
5 | 4 | float | Unknown variable | |
6 | 4 | float | Unknown variable | |
Rotation quats (x ,y, z, angle) | ||||
1 | 4 | float | X | |
2 | 4 | float | Y | |
3 | 4 | float | Z | |
3 | 4 | float | Angle | |
1 | 4 | integer | Child nodes Count | |
2 | array | Child Nodes array | Table 46 |
№ | Type | ID |
---|---|---|
1 | Constant | 0 |
2 | Ccycle | 1 |
3 | Ping-Pong | 2 |
№ | Type | ID |
---|---|---|
1 | Linear Position | 3 |
2 | TCB Position | 5 |
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 48 | Transformation matrix | ||
Base properties | ||||
1 | 4 | integer | Unknown constant | 1 |
2 | 4 | integer | Spawn On Death | 1 - on, 0 - off |
3 | 4 | float | Animation Start Time (Ticks) | |
4 | 4 | float | Animation Length Time (Ticks) | |
5 | 4 | float | Ticks Per Frame | 4800 |
6 | 4 | float | Unknown constant | |
7 | 1 | byte | Unknown variable | |
8 | 1 | byte | Unknown variable | |
9 | 1 | byte | Unknown variable | |
1 | 4 | integer | Particle System Type | see Table 55 |
Properties String | ||||
1 | 4 | integer | Properties Strings Length | |
2 | 4 | string | Properties Strings | |
Emitter Size | ||||
1 | 4 | float | Length | |
2 | 4 | float | Width | |
3 | 4 | float | Height | |
PARTICLE MOTION | ||||
1 | 4 | float | Particle Speed | |
2 | 4 | float | Particle Speed Variation | |
PARTICLE Size | ||||
1 | 4 | float | GrowFor | |
2 | 4 | float | FadeFor | |
1 | 4 | float | Unknown constant | 0 |
2 | 4 | float | Unknown constant | 0 |
PARTICLE TIMING | ||||
1 | 4 | float | Life | |
2 | 4 | float | Life Variation | |
PARTICLE SIZE | ||||
1 | 4 | float | Particle Size | |
2 | 4 | float | Particle Size Variation | |
PARTICLE QUANTITY | ||||
1 | 4 | float | Use Rate | |
2 | 4 | float | Use Total | |
Spin Axis Control | ||||
1 | 4 | float | Spin Axis Control Type | 0 - Random, 2- user defined |
2 | 4 | float | XAxis | |
3 | 4 | float | YAxis | |
4 | 4 | float | ZAxis | |
5 | 4 | float | Variation | |
1 | 4 | float | Unknown variable | |
2 | 4 | float | Unknown variable | |
3 | 4 | float | Unknown variable | |
4 | 4 | float | Unknown variable | |
5 | 4 | float | Unknown variable | |
6 | 4 | float | Unknown variable | |
7 | 4 | float | Unknown variable | |
8 | 4 | float | Unknown variable | |
9 | 4 | float | Unknown variable | |
10 | 4 | float | Unknown variable | |
1 | 4 | integer | Particle Motion Type | 0 - vector, 1 - random |
SuperSpray particle formation | ||||
1 | 4 | float | OffAxis | |
2 | 4 | float | Spread | |
3 | 4 | float | OffPlane | |
4 | 4 | float | Spread | |
Spin Speed Controls | ||||
1 | 4 | float | SpinTime | |
2 | 4 | float | SpinTime Variation | |
3 | 4 | float | Phase | |
4 | 4 | float | Phase Variation | |
1 | 4 | integer | Particle Type | see Table 58 |
PARTICLE SPAWNING EFFECTS | ||||
1 | 4 | integer | Spawn Type | see Table 59 |
1 | 4 | integer | Spawn Count | |
Animation | ||||
1 | 4 | float | AnimationStartSeconds | |
2 | 4 | float | AnimationLengthSeconds | |
3 | 4 | float | AnimationStartSeconds | |
PARTICLE TIMING | ||||
1 | 4 | float | EmiStart | |
2 | 4 | float | EmiStop | |
1 | 4 | integer | HideEmitter | |
if (particleType == 2) see Table 61 | ||||
if not (particleType == 2) | ||||
PARTICLE QUANTITY | ||||
1 | 4 | integer | UseTotal | |
1 | 1 | integer | String length | |
2 | string | TextureName String | ||
3 | 4 | integer | SPACE WARPS | |
if (Space warps = 1) see Table 62 | ||||
4 | integer | Child nodes Count | ||
array | Child Nodes array | see Table 46 |
№ | Type | ID |
---|---|---|
1 | Blizzard | 0 |
2 | Snow | 1 |
3 | Spray | 2 |
4 | SuperSpray | 3 |
5 | PArray | 4 |
6 | PCloud | 5 |
№ | Type | ID |
---|---|---|
1 | Standard | 0 |
2 | Object fragments | 2 |
№ | Type | ID |
---|---|---|
1 | Spawn on death | 0 |
2 | Spawn trails | 2 |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Section size. | |
2 | 4 | integer | ID | |
3 | 4 | integer | "Version." string length. | 8 |
4 | 8 | string | "Version." string. | Version. |
5 | 4 | integer | Version value. | |
6 | integer | Name string length. | ||
7 | string | Name string. |
№ | Length | Type | Description | Value |
---|---|---|---|---|
1 | 4 | integer | Fragments Count | |
Fragments array, repeated for Fragments Count | ||||
Position (x,y,z) | ||||
1 | 4 | float | X | |
2 | 4 | float | Y | |
3 | 4 | float | Z | |
1 | 4 | float | Unknown variable | |
2 | 4 | float | Unknown variable | |
3 | 4 | float | Unknown variable | |
4 | 4 | float | Unknown variable | |
Force | ||||
1 | 4 | float | Force | |
2 | 4 | float | Force | |
1 | 4 | float | Speed | |
2 | 4 | float | Unknown variable | |
3 | 4 | float | Unknown variable | |
4 | 4 | float | Unknown variable | |
1 | 4 | integer | Count | |
2 | Header | Table 60 | ||
3 | 4 | integer | Object Properties String Length | |
4 | string | Object Properties string | ||
5 | 48 | Transformation matrix | Table | |
1 | 4 | integer | Count | |
2 | Header | Table 60 | ||
3 | byte | Space warps | ||
if (Space warps = 1) see Table 62 |
№ | Length | Type | Description | Links |
---|---|---|---|---|
1 | 4 | integer | Dynamics Type | 2 - Pbomb (Parray) |
2 | 4 | float | Duration | |
3 | 4 | float | Strength | |
4 | 4 | float | Strength | |
5 | 4 | integer | ExplosionType | 2 - Eponential |
6 | 4 | float | X | |
7 | 4 | float | Y | |
8 | 4 | float | Z | |
9 | 4 | float | Unknown variable | |
10 | 4 | float | Unknown variable | |
11 | 4 | float | Unknown variable | |
12 | 4 | float | Blast Symmetry | 1 - cylindrical |
13 | 4 | float | Start Time | |
14 | 4 | float | Chaos |
Transformation matrix is the same one from 3ds Max.
Length | Type | Description |
---|---|---|
X Axis | ||
4 | float | X |
4 | float | y |
4 | float | z |
Y Axis | ||
4 | float | X |
4 | float | y |
4 | float | z |
Z Axis | ||
4 | float | X |
4 | float | y |
4 | float | z |
Position | ||
4 | float | X |
4 | float | y |
4 | float | z |
EndPOB signature is 39 bytes long.
Length | Description |
---|---|
4 | EndPOB signature length. Equal to 7. |
7 | EndPOB signature: always equal to 'EndPOB'. |
All copyrights belong to their respective owners.