MLO Asset Formats
Content Assets
.ytd— Texture Dictionary.ytdTexture Dictionary — GTA V asset format that stores texture data in DirectX format for GPU loading. — Stores texture data in a DirectX format for convenient loading to the GPU.ydr— Drawable.ydrDrawable — GTA V asset format containing a single 3D model. Can include a Texture Dictionary and up to 4 LODs. — Contains a single asset's 3D model. Can contain a Texture Dictionary.ytdTexture Dictionary — GTA V asset format that stores texture data in DirectX format for GPU loading. and up to 4 LODsLODLevel of Detail — a technique that renders lower-polygon versions of objects at greater distances to save GPU resources. GTA V uses up to 6 LOD levels per object hierarchy. of the model.ydd— Drawable Dictionary.yddDrawable Dictionary — a collection of Drawables packed into a single GTA V asset file. — A collection of drawables.ydrDrawable — GTA V asset format containing a single 3D model. Can include a Texture Dictionary and up to 4 LODs. packed into a single file.yft— Fragment.yftFragment — GTA V asset format containing a Drawable plus physics data and other metadata. — Contains a drawable.ydrDrawable — GTA V asset format containing a single 3D model. Can include a Texture Dictionary and up to 4 LODs. along with other metadata (e.g. physics data)
The content assets are pieced together to create the GTA V world via MapTypes (ArchetypesArchetypeA reusable object definition in GTA V's map system. Archetypes define what an object is (model, physics, LODs), while Entities define where it's placed in the world.) and MapData (Entity placements). At a high level, ArchetypesArchetypeA reusable object definition in GTA V's map system. Archetypes define what an object is (model, physics, LODs), while Entities define where it's placed in the world. define objects that are placeable, and Entities define where those objects are placed to make up the world. The collision mesh.ybnBounds — GTA V file containing collision mesh and bounding data for world geometry. data for the world is stored in Bounds.ybnBounds — GTA V file containing collision mesh and bounding data for world geometry. files.
Map & Bounds Formats
| Format | Name | Description |
|---|---|---|
.ytyp | MapTypes | Contains a group of MapTypes (ArchetypesArchetypeA reusable object definition in GTA V's map system. Archetypes define what an object is (model, physics, LODs), while Entities define where it's placed in the world.), each defining an object that could be placed |
.ymap | MapData | Contains placements of ArchetypesArchetypeA reusable object definition in GTA V's map system. Archetypes define what an object is (model, physics, LODs), while Entities define where it's placed in the world., each defining an Entity in the world |
.ybn | Bounds.ybnBounds — GTA V file containing collision mesh and bounding data for world geometry. | Contains collision mesh.ybnBounds — GTA V file containing collision mesh and bounding data for world geometry. / bounding data for pieces of the world |
LOD Hierarchy
The EntityData contained within the MapData (.ymap) files forms the LODLODLevel of Detail — a technique that renders lower-polygon versions of objects at greater distances to save GPU resources. GTA V uses up to 6 LOD levels per object hierarchy. hierarchy. This hierarchy is arranged such that the lowest detail version of the world, at the root of the hierarchy, is represented by a small number of large models that can all be rendered simultaneously to draw the world at a great distance.
The next branch in the hierarchy splits each of these large models into a group of smaller objects, each represented in a higher detail than the previous level. This pattern continues for up to 6 levels of detail.
When rendering the world, the correct level of detailLODLevel of Detail — a technique that renders lower-polygon versions of objects at greater distances to save GPU resources. GTA V uses up to 6 LOD levels per object hierarchy. for each branch in the hierarchy needs to be determined — the highest detail objects cannot all be rendered at once due to limited computing resources.
CodeWalker LOD Rendering
In CodeWalkerCodeWalkerA GTA V world viewer and editor tool used for exploring maps, viewing LOD hierarchies, editing ymap/ytyp files, and debugging world geometry., this is done by recursing the LODLODLevel of Detail — a technique that renders lower-polygon versions of objects at greater distances to save GPU resources. GTA V uses up to 6 LOD levels per object hierarchy. tree from the roots, checking how far away from the camera the node's Entity is. If it is below a certain value, then the current level is used; otherwise it moves to the next higher level, depending on the LODLODLevel of Detail — a technique that renders lower-polygon versions of objects at greater distances to save GPU resources. GTA V uses up to 6 LOD levels per object hierarchy. distance setting.
:::tip Rendering ORPHANHDORPHANHDThe highest detail LOD level in GTA V's map system. ORPHANHD entities are not rendered by default in CodeWalker and require manual specification via the ymap text box. entities
In the YMap.ymapMapData — GTA V file containing Entity placements that define where Archetypes are positioned in the world. Forms the LOD hierarchy. view, the highest LODLODLevel of Detail — a technique that renders lower-polygon versions of objects at greater distances to save GPU resources. GTA V uses up to 6 LOD levels per object hierarchy. (ORPHANHDORPHANHDThe highest detail LOD level in GTA V's map system. ORPHANHD entities are not rendered by default in CodeWalker and require manual specification via the ymap text box.) is not rendered by default. You can manually render ORPHANHDORPHANHDThe highest detail LOD level in GTA V's map system. ORPHANHD entities are not rendered by default in CodeWalker and require manual specification via the ymap text box. entities by specifying the correct strm ymap file for the area in the ymap text box. The strm ymap name can often be found by mouse-selecting a high detail object and noting what ymap the entity is contained in, in the selection details panel.
:::