LBA2:3D model: Difference between revisions
Jump to navigation
Jump to search
| [checked revision] | [checked revision] |
adding header |
No edit summary |
||
| Line 49: | Line 49: | ||
04: s16 z | 04: s16 z | ||
06: u16 Bone | 06: u16 Bone | ||
Vertex position is relative to its bone position. | |||
And each bone position itself is relative to its parent bone position | |||
[ / Vertex ] | [ / Vertex ] | ||
| Line 65: | Line 67: | ||
[ / Unknown1 ] | [ / Unknown1 ] | ||
[ Polygon ] | [ Polygon section ] | ||
00: | Polygon section is made of one or more blocks. Each blocks can describe one or more Polygon. | ||
02: u16 Number of polygons | [ Polygon Block] | ||
04: u16 Size of data | 00: u8 Block ID | ||
06: u16 ?? | 01: u8 00h For triangle and 80h for Quad | ||
02: u16 Number of polygons | |||
04: u16 Size of data (including this header) | |||
[ / Polygon ] | 06: u16 ?? | ||
Each polygon is described with ((size of data - 8) / Number of polygons) bytes : | |||
[ Polygon ] | |||
00: u16 1st point ID | |||
02: u16 2nd point ID | |||
04: u16 3rd point ID | |||
06: u16 4th point ID (only if Quad) | |||
08...end of data : Should contain at least colour information | |||
(As a polygon is at least 12Bytes long, i presume that bytes 08 to 0B contains colour information as u8 for each vertices | |||
of this polygon) | |||
[ / Polygon] | |||
[ / Polygon Block] | |||
[ / Polygon section ] | |||
[ Lines ] | [ Lines ] | ||
Revision as of 09:57, 2 November 2020
| 3D model | ||
|---|---|---|
| Extension |
LM2 |
|
| Occurence |
LBA2 |
|
| Colour |
|
|
| Programs supporting this format | ||
|
(none) |
||
| References | ||
LM2 files contain 3D models used for Actors and other objects in LBA2.
Specification
| This article needs completion. Please provide more information if you can. |
[ Header ] 00: s32 bodyFlag 08: s32 xMin 0C: s32 xMax 10: s32 yMin 14: s32 yMax 18: s32 zMin 1C: s32 zMax 20: u32 Number of bones 24: u32 Offset to bones 28: u32 Number of vertices 2C: u32 Offset to vertices 30: u32 Number of normals 34: u32 Offset to normals 38: u32 Number of unknown1 3C: u32 Offset to unknown1 40: u32 Number of polygons 44: u32 Offset to polygons 48: u32 Number of lines 4C: u32 Offset to lines 50: u32 Number of spheres 54: u32 Offset to spheres 58: u32 Number of textures 5C: u32 Offset to textures [ / Header ] [ Bone ] 00: u16 Parent bone 02: u16 Vertex 04: u16 ?? 06: u16 ?? [ / Bone ] [ Vertex ] 00: s16 x 02: s16 y 04: s16 z 06: u16 Bone Vertex position is relative to its bone position. And each bone position itself is relative to its parent bone position [ / Vertex ] [ Normal ] 00: s16 x 02: s16 y 04: s16 z 06: u16 ?? [ / Normal ] [ Unknown1 ] 00: u16 ?? 02: u16 ?? 04: u16 ?? 06: u16 ?? [ / Unknown1 ] [ Polygon section ] Polygon section is made of one or more blocks. Each blocks can describe one or more Polygon. [ Polygon Block] 00: u8 Block ID 01: u8 00h For triangle and 80h for Quad 02: u16 Number of polygons 04: u16 Size of data (including this header) 06: u16 ?? Each polygon is described with ((size of data - 8) / Number of polygons) bytes : [ Polygon ] 00: u16 1st point ID 02: u16 2nd point ID 04: u16 3rd point ID 06: u16 4th point ID (only if Quad) 08...end of data : Should contain at least colour information (As a polygon is at least 12Bytes long, i presume that bytes 08 to 0B contains colour information as u8 for each vertices of this polygon) [ / Polygon] [ / Polygon Block] [ / Polygon section ] [ Lines ] 00: u16 ?? 02: u16 colour 04: u16 vertex1 06: u16 vertex2 [ / Unknown2 ] [ Sphere ] 00: u16 ?? 02: u16 colour 04: u16 vertex 06: u16 size (needs to be devided by 0x4000) [ / Sphere ] [ Textures ] 00: u8 x 01: u8 y 02: u8 w 03: u8 h [ / Textures ]
Information provided by: xesf