Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

SD Gundam G Generation PMDL Format

Featured Replies

Hello

I need help opening and extracting the 3d asset files from the SD Gundam G Generation Cross Rays PMDL Model Format, Here is what i have discovered so far with the format

 

All PMDLs are Boost C++ containers as they possess a serialization::archive header however i have not been able to properly extract them with the tools available to me.

The texture assets that go with them are raw .dds format files, usually in the format of (shipname)_uv(number) for the material.

the model and textures are in a zip file container (model.zip) in the folder for the corrosponding ship located at data\battle\action_scene\target\ws

A sample file has been provided for the ship known as the Carry Base

 

model.zip

  • Localization

They seem to store numbers using a simple byte tag format, with 0 being just 0, 1 being an int8_t, 2 being an int16_t, and 4 being a float. The vertices store the position, the normal, the UV, and then 7 more normalized values. The faces are stored as triangles with a mix of integer types. A couple more sample files would help narrow down what some of the other fields are for.

Here is a partial ImHex pattern for w_g9980w00200.pmdl. I've also attached a mesh extracted from the first part of that file.

struct TaggedNum {
    u8 tag;
    if (tag == 1)
        u8 value;
    else if (tag == 2)
        s16 value;
    else if (tag == 4)
       float value;
} [[single_color]];

struct Vertex {
    TaggedNum pos[3];
    TaggedNum norm[3];
    TaggedNum uv[2];
    TaggedNum other[7];
};

TaggedNum properties[143] @ 0x18A;
TaggedNum vert_count @ 0x239;

Vertex vertices[vert_count.value] @ 0x296;

TaggedNum face_count @ 0x5494B;
TaggedNum unk_0 @ 0x5494E;
TaggedNum faces[face_count.value] @ 0x5494F;

 

w_g9980w00200.zip

  • Author

 

On 6/19/2026 at 8:01 AM, other1 said:

Hello, here Blender 5.0 plugin
There are some stubs in code which may fail importing since there are too few samples provided
Ttextures must be placed in the same directory as *.pmdl if you want plugin to load them for you
image.thumb.png.4bfc49b18aa325f3f800027bf081159f.png

io_scene_sd_gundam_g_generation_cross_rays.zip 8.97 kB · 3 downloads

Here are some additional samples from G Generation Genesis (also uses PMDL, but textures are in switch .ktx due to being files from the switch version of the game) and G Generation Cross Rays

model brewers ship cross rays.zip model archangel cross rays.zip model white base genesis.zip model lombardia genesis.zip

  • Localization
7 hours ago, blueevangelion said:

 

Here are some additional samples from G Generation Genesis (also uses PMDL, but textures are in switch .ktx due to being files from the switch version of the game) and G Generation Cross Rays

model brewers ship cross rays.zip 4.18 MB · 1 download model archangel cross rays.zip 4.02 MB · 1 download model white base genesis.zip 1.38 MB · 1 download model lombardia genesis.zip 1.02 MB · 1 download

Updated plugin in the original post:
Added animation and *.xtx support
All of the provided files so far can be imported

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.