RSD (3D Model Data): Difference between revisions
| Revision as of 02:22, 23 October 2026 RemmyLee (Hardware and system software pages from the Sony manuals) | Revision as of 02:27, 23 October 2026 RemmyLee (File format pages from the Sony File Formats manual) | ||
| Line 1: | Line 1: | ||
| + | --- | ||
| + | title: RSD (3D Model Data) | ||
| + | type: format | ||
| + | summary: Text format for 3D models made with the PlayStation artist tools. | ||
| + | category: File formats | ||
| + | info: Extension = .RSD | ||
| + | info: Version = 3.0 (@RSD970401) | ||
| + | --- | ||
| + | |||
| + | ## Overview | ||
| + | |||
| + | The RSD format represents 3D models. The PlayStation artist tools work with RSD models.[^ff23] | ||
| + | |||
| + | An RSD model is made of four files. Together they are called "RSD" or "RSD data".[^ff23] | ||
| + | |||
| + | The four files are as follows: | ||
| + | |||
| + | |||
| + | Table: RSD model files | ||
| + | |||
| + | | File | Contents | | ||
| + | | --- | --- | | ||
| + | | RSD | Relationships between the PLY, MAT and GRP files, the texture files and the extended files | | ||
| + | | PLY | Positions of the vertices of polygons | | ||
| + | | MAT | Material information on polygons | | ||
| + | | GRP | Grouping information on polygons | | ||
| + | |||
| + | Four extended files and one sub-extended file were added to support [HMD](/formats/hmd/).[^ff23] | ||
| + | |||
| + | The extended files are as follows: | ||
| + | |||
| + | |||
| + | Table: RSD extended files | ||
| + | |||
| + | | File | Kind | Contents | | ||
| + | | --- | --- | --- | | ||
| + | | MSH | Extended | How polygons are linked | | ||
| + | | PVT | Extended | Offsets for centers of rotation | | ||
| + | | COD | Extended | COORDINATE information for VERTEX | | ||
| + | | MOT | Extended | Animation information | | ||
| + | | OGP | Sub-extended | Grouping information for VERTEX. Named only from a COD file. | | ||
| + | |||
| + | All RSD files are text files. Lines end with LF or CR/LF, and lines that begin with '#' are comments.[^ff23] | ||
| + | |||
| + | Files in one directory are named by their file names alone. Files in other directories need relative or absolute path names.[^ff23] | ||
| + | |||
| + | The manual describes the following versions:[^ff24] | ||
| + | |||
| + | Table: RSD file versions | ||
| + | |||
| + | | File | Version | | ||
| + | | --- | --- | | ||
| + | | RSD | 3.0 | | ||
| + | | PLY | 3.0 | | ||
| + | | MAT | 3.0 | | ||
| + | | GRP | 3.0 | | ||
| + | | MSH | 1.0 | | ||
| + | | PVT | 1.0 | | ||
| + | | COD | 1.0 | | ||
| + | | OGP | 1.0 | | ||
| + | | MOT | 1.0 | | ||
| + | |||
| + | RSDLINK converts RSD data to [TMD](/formats/tmd/).[^ff224] | ||
| + | |||
| + | ## RSD File | ||
| + | |||
| + | The RSD file tells how the other files combine for one object. With extended files, one set of RSD files can hold several objects.[^ff24] | ||
| + | |||
| + | The RSD file has an ID followed by file specifications.[^ff24] | ||
| + | |||
| + | The ID is a string "@RSDnnnnnn" that gives the format version. Version 3.0 is "@RSD970401".[^ff24] | ||
| + | |||
| + | The file specifications are as follows: | ||
| + | |||
| + | |||
| + | Table: RSD file specifications | ||
| + | |||
| + | | Line | Contents | | ||
| + | | --- | --- | | ||
| + | | PLY= | PLY file name | | ||
| + | | MAT= | MAT file name | | ||
| + | | GRP= | GRP file name | | ||
| + | | MSH= | MSH file name | | ||
| + | | PVT= | PVT file name | | ||
| + | | COD= | COD file name | | ||
| + | | NMOT= | Number of MOT files | | ||
| + | | MOT[n]= | File name of the nth MOT file | | ||
| + | | NTEX= | Number of TIM (texture) files | | ||
| + | | TEX[n]= | File name of the nth TIM (texture) file | | ||
| + | |||
| + | ## PLY File | ||
| + | |||
| + | The PLY file holds the vertex positions of polygons and related objects.[^ff25] | ||
| + | |||
| + | Without extended files, the PLY coordinate system is the libgs system. X increases to the right and Y increases down, and Z points into the screen.[^ff25] | ||
| + | |||
| + | With extended files, HMD conversion converts each COD vertex into the libgs system. The rotations and translations of the PVT file are applied.[^ff25] | ||
| + | |||
| + | The order of the vertices sets the front of a single-faced polygon. The front is the side from which the vertices run clockwise.[^ff25] | ||
| + | |||
| + | A PLY file has the following parts:[^ff26] | ||
| + | |||
| + | Table: PLY file structure | ||
| + | |||
| + | | Part | Contents | | ||
| + | | --- | --- | | ||
| + | | ID | "@PLYnnnnnn". Version 3.0 is "@PLY970401". | | ||
| + | | Data length record | Number of lines in the VERTEX, NORMAL and POLYGON blocks | | ||
| + | | VERTEX descriptor | X, Y and Z coordinates as floating point values, one vertex per line | | ||
| + | | NORMAL descriptor | X, Y and Z elements of a normal vector as floating point values | | ||
| + | | POLYGON descriptor | A flag and nine parameters | | ||
| + | |||
| + | ### POLYGON Descriptor | ||
| + | |||
| + | The flag is a hexadecimal integer without the '0x' prefix. Its TYPE field gives the polygon type.[^ff27] | ||
| + | |||
| + | The TYPE values are as follows: | ||
| + | |||
| + | |||
| + | Table: PLY polygon types | ||
| + | |||
| + | | TYPE | Polygon type | | ||
| + | | --- | --- | | ||
| + | | 000 | Triangle | | ||
| + | | 001 | Quadrangle | | ||
| + | | 010 | Straight line | | ||
| + | | 011 | Sprite | | ||
| + | | 1XX | Reserved | | ||
| + | |||
| + | The nine parameters depend on the type:[^ff27] | ||
| + | |||
| + | Table: POLYGON descriptor parameters | ||
| + | |||
| + | | Type | Parameters | | ||
| + | | --- | --- | | ||
| + | | Triangle or quadrangle | Vertex 0 to 3, then Normal 0 to 3 | | ||
| + | | Straight line | Vertex 0, Vertex 1, then zeros | | ||
| + | | Sprite | Vertex 0, Width, Height, then zeros | | ||
| + | |||
| + | For a triangle, vertex 3 and normal 3 are 0. A quadrangle is drawn as two triangles.[^ff27] | ||
| + | |||
| + | A flat-shaded polygon uses the normal of the first vertex. A Gouraud-shaded polygon has a normal for each vertex.[^ff27] | ||
| + | |||
| + | A sprite is a rectangular image in 3D space. It acts as a textured polygon that always faces the viewpoint.[^ff27] | ||
| + | |||
| + | ## MAT File | ||
| + | |||
| + | The MAT file opens with an ID "@MATnnnnnn" and a MATERIAL descriptor count. The MATERIAL descriptors follow.[^ff28][^ff29] | ||
| + | |||
| + | Each MATERIAL descriptor holds a polygon number, a flag, the shading and the material information for one polygon.[^ff29] | ||
| + | |||
| + | The polygon number is an index into the POLYGON group of the PLY file.[^ff29] | ||
| + | |||
| + | ## References | ||
| + | |||
| + | [^ff23]: Sony Computer Entertainment Inc. File Formats. November 1998. Page 2-3. | ||
| + | [^ff24]: Sony Computer Entertainment Inc. File Formats. November 1998. Page 2-4, Figure 18. | ||
| + | [^ff25]: Sony Computer Entertainment Inc. File Formats. November 1998. Page 2-5, Figure 19. | ||
| + | [^ff26]: Sony Computer Entertainment Inc. File Formats. November 1998. Page 2-6, Figures 20 to 23. | ||
| + | [^ff27]: Sony Computer Entertainment Inc. File Formats. November 1998. Page 2-7, Figures 24 to 27. | ||
| + | [^ff28]: Sony Computer Entertainment Inc. File Formats. November 1998. Page 2-8, Figure 29. | ||
| + | [^ff29]: Sony Computer Entertainment Inc. File Formats. November 1998. Page 2-9, Figure 30. | ||
| + | [^ff224]: Sony Computer Entertainment Inc. File Formats. November 1998. Page 2-24. | ||