LBA2:3D model: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
| [unchecked revision] | [checked revision] | 
Content deleted Content added
|  Updating format fields | |||
| (5 intermediate revisions by 3 users not shown) | |||
| Line 12: | Line 12: | ||
| <pre> | <pre> | ||
| [ Header ] | [ Header ] | ||
| 00:	 | 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 | 20:	u32	Number of bones | ||
| 24:	u32	Offset to bones | 24:	u32	Offset to bones | ||
| Line 43: | 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 59: | Line 67: | ||
| [ / Unknown1 ] | [ / Unknown1 ] | ||
| [ Polygon ] | [ Polygon section ] | ||
| Polygon section is made of one or more blocks. Each blocks can describe one or more Polygon. | |||
| 00:	u16	flag (Use Texture/Is Transparency) | |||
| ⚫ | |||
| 02:	u16	Number of polygons | |||
| 	00:	u8	Block ID | |||
| ⚫ | |||
| 	01:	u8	00h For triangle and 80h for Quad | |||
| ⚫ | |||
| 	02:	u16	Number of polygons | |||
| ⚫ | |||
| That data contains polygons and colour information | |||
| ⚫ | |||
| ⚫ | |||
| 	Each polygon is described with ((size of data - 8) / Number of polygons) bytes : | |||
| 		[ Polygon ] | |||
| 		the 12 firsts bytes are mandatory : | |||
| 		00:	u16	1st point ID | |||
| 		02:	u16	2nd point ID | |||
| 		04:	u16	3rd point ID | |||
| 		06:	u16	4th point ID (only if Quad) | |||
| 		08:	u8	colour ID | |||
| 		09:	u8	?? | |||
| 		0A:	u8	?? | |||
| 		0B:	u8	?? | |||
| 		If the polygon is described with more than 12 bytes | |||
| 		from 0Ch to 2BH, UV info for texture mapping: | |||
| 		0C:	u8	?? | |||
| 		0D:	u8	U1 | |||
| 		0E:	u8	?? | |||
| 		0F:	u8	V1 | |||
| 		10:	u8	?? | |||
| 		11:	u8	U2 | |||
| 		12:	u8	?? | |||
| 		13:	u8	V2 | |||
| 		14:	u8	?? | |||
| 		15:	u8	U3 | |||
| 		16:	u8	?? | |||
| 		17:	u8	V3 | |||
| 		18:	u8	?? | |||
| 		19:	u8	U4 | |||
| 		2A:	u8	?? | |||
| 		2B:	u8	V4 | |||
| 		If the polygon is described with more than 24 bytes : ?? | |||
| 		[ / Polygon] | |||
| 	[ / Polygon Block] | |||
| [ / Polygon section ] | |||
| [ Lines ] | [ Lines ] | ||
| Line 77: | Line 118: | ||
| [ Sphere ] | [ Sphere ] | ||
| 00:	u16	?? | 00:	u16	?? | ||
| 02:	 | 02:	u8	?? | ||
| 03:	u8	colour | |||
| 04:	u16	vertex | 04:	u16	vertex | ||
| 06:	 | 06:	u8	size | ||
| 07:	u8	?? | |||
| [ / Sphere ] | [ / Sphere ] | ||
| Line 89: | Line 132: | ||
| [ / Textures ] | [ / Textures ] | ||
| </pre> | </pre> | ||
| {{providers|[[provider:: | {{providers|[[provider::xesf]]}} | ||
Latest revision as of 09:12, 7 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[edit]
| 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 ] the 12 firsts bytes are mandatory : 00: u16 1st point ID 02: u16 2nd point ID 04: u16 3rd point ID 06: u16 4th point ID (only if Quad) 08: u8 colour ID 09: u8 ?? 0A: u8 ?? 0B: u8 ?? If the polygon is described with more than 12 bytes from 0Ch to 2BH, UV info for texture mapping: 0C: u8 ?? 0D: u8 U1 0E: u8 ?? 0F: u8 V1 10: u8 ?? 11: u8 U2 12: u8 ?? 13: u8 V2 14: u8 ?? 15: u8 U3 16: u8 ?? 17: u8 V3 18: u8 ?? 19: u8 U4 2A: u8 ?? 2B: u8 V4 If the polygon is described with more than 24 bytes : ?? [ / Polygon] [ / Polygon Block] [ / Polygon section ] [ Lines ] 00: u16 ?? 02: u16 colour 04: u16 vertex1 06: u16 vertex2 [ / Unknown2 ] [ Sphere ] 00: u16 ?? 02: u8 ?? 03: u8 colour 04: u16 vertex 06: u8 size 07: u8 ?? [ / Sphere ] [ Textures ] 00: u8 x 01: u8 y 02: u8 w 03: u8 h [ / Textures ]
Information provided by: xesf
