Jump to content

Are there any tools to extract models from EA UFC 2,3,4


Recommended Posts

Posted
1 hour ago, 2wrwrw3rw3r said:

The Textures and heads are compressed and can be decompressed using this bms script RX3Decompressor.zip

that worked for every texture apart from head_conor_mcgregor_normal.gnf, working in terms of noesis can read .gnf but yeah i get this error from quick bms when trying to do the normal.gnf 


  offset           filesize   filename
--------------------------------------
+ 0000000000000030 179319     Decompressed\\head_conor_mcgregor_normal.gnf
+ 000000000002bcb0 251617     Decompressed\\head_conor_mcgregor_normal.gnf
+ 00000000000693a0 260080     Decompressed\\head_conor_mcgregor_normal.gnf
+ 00000000000a8ba0 262144     Decompressed\\head_conor_mcgregor_normal.gnf
Info:  algorithm   478
       offset      00000000000a8ba0
       input size  0x0000000000040000 262144
       output size 0x0000000000040000 262144
       result      0xfffffffffffffff6 -10

Error: uncompressed data (-10) bigger than allocated buffer (262144)
       It usually means that data is not compressed or uses another algorithm

Last script line before the error or that produced the error:
  20  clog Name Offset ZSize ZSize

- OFFSET       0x00000000000a8ba0
- ZSIZE        0x0000000000040000
- SIZE         0x0000000000040000
  coverage file 0    36%   953204     2584893    . offset 00000000000e8ba0 "

  • Engineers
Posted (edited)

The error of the RX3Decompressor is due to wrong size of block (because of wrong addr)

an uncompressed block.

Not sure about the addr problem:  0xa8ba0

edit: very interesting! I compared the output of Aluigi's script (see some posts below) with my manual extraction, it looks like the block starts with 20E0197E (instead of 28B52FFD). So it's uncompressed data!

------------------------------------------------------------------------------

So I missed that block. (I used: )

0. 0x30 179319
1. 0x2bcb0 251617
2. 0x693a0 260080

<missing block>
3. 0xe8bb0 261271
4. 0x168860 259409
5. 0x1a7dc0 192787
6. 0x1d6ee0 240488
7. 0x211a50 249631
8. 0x24e980 165821

for decompressing/concatenating but the resulting gnf is not readable by Noesis.

 

@Rabatini: fyi

head_conor_mcgregor_normal.zip

Edited by shak-otay
Posted (edited)
21 minutes ago, Rabatini said:

It´s because, maybe this files have some extra header.
send me one compressed.

did send but notice ahead was already sent, removed upload

Edited by Conyaboi28
Posted
1 hour ago, Conyaboi28 said:

So with that bms script, decompressing the textures will make noesis read the .gnf files or will it make the zstdmagicextractor work for the normals also not just the diffuse maps 

it will make noesis read the .gnf files 

Posted
20 minutes ago, shak-otay said:

The error of the RX3Decompressor is due to wrong size of block.

Not sure about the problem:  0xa8ba0

correct 0xe8bb0

Could be a signed error, but bb0 and ba0 are not to explain
0xa 0101
0xe 1101

I used

0. 0x30 179319
1. 0x2bcb0 251617
2. 0x693a0 260080
3. 0xe8bb0 261271  <<<
4. 0x168860 259409
5. 0x1a7dc0 192787
6. 0x1d6ee0 240488
7. 0x211a50 249631
8. 0x24e980 165821

for decompressing/concatenating but the resulting is not readable by Noesis:

test1-9-normal.zip 1.97 MB · 0 downloads

@Rabatini: fyi

head_conor_mcgregor_normal.zip 2.46 MB · 2 downloads

for the mcgregors normal you can use this bms Decompressor.ziphead_conor_mcgregor_normalout.thumb.png.f3b05ef78a0a41571c4cdde64e5dc14a.png

  • Thanks 1
Posted (edited)
21 minutes ago, 2wrwrw3rw3r said:

it will make noesis read the .gnf files 

yeah i got that, good script but yeah like i said above, i cant get the normals to decompress with that

 

edit - just noticed you posted other script, thanks man, i need to start reading before i comment more lol 

Edited by Conyaboi28
Posted (edited)
48 minutes ago, 2wrwrw3rw3r said:

Decompressor.zip

 

1 hour ago, Conyaboi28 said:

RX3Decompressor.zip

funny enough rx3decompressor worked for the body normal but for the head normal had to use decompressor 

 

update - the rx3decompressor worked for brock lesnar head normal, so i think it varies from different fighter, if a normal doesnt work from that then switch to decompressor, easy does it. well i think thats the texture problem solved for now unless someone makes a noesis script to read the compressed .gnf files, its just now getting the objects with the correct uv maps and cleaning up the submeshes if used by hextoobj. noesis py script for ufc 4 .mcd next step 

Edited by Conyaboi28
  • Engineers
Posted (edited)
31 minutes ago, Conyaboi28 said:

 

funny enough rx3decompressor worked for the body normal but for the head normal had to use decompressor 

It's just a different signature of one block (at 0xA8BA0) in the head normal, afaics.

So the trick is, it's uncompressed! And needs to be concatenated uncompressed. Hell, wtf...

edit:

Quote

if a normal doesnt work from that then switch to decompressor, easy does it

Why not always use Aluigi's Decompressor.bms? To avoid any hassle.

Edited by shak-otay
Posted (edited)
18 hours ago, shak-otay said:

Atm I need to check the format, because 26 MRTS and 10 xdni blocks need a formal approach other than my usual hacking.

edit: ConnorMcGregor, UFC4:

ConnorMcGregorUCF4.png

edit: uvs done:

CMcG_head_uvs.png.9937beee5f9ef3d411aa88b5f09ab7ca.png

obj file attached, without normals, though there's two blocks of them

 

hCMG1-12decomp_ConnorMcG.zip 167.45 kB · 2 downloads

going back to this, how do i correct it all to make uvs correct and submeshes cleaned into just meshes so the model can have the textures applied to it properly because at the moment i get this, eyes broken and blocks all over

Desktop Screenshot 2025.11.02 - 13.08.33.48.png

39 minutes ago, shak-otay said:

Why not always use Aluigi's Decompressor.bms? To avoid any hassle.

does that work with all then cus if so then yeah makes sense ill just use that only

Desktop Screenshot 2025.11.01 - 01.59.40.38.png

Edited by Conyaboi28
Posted
51 minutes ago, shak-otay said:

Which obj did you use?

The one from here works like a charm:

ConnorMcGregor-diffuse.png

I’m pretty sure I’m using that obj, but again there’s no eye models included in the head model and its giving me errors, what program is that 

  • Engineers
Posted

It's pre 2.9 blender.

Quote

as the one I sent was a basic tester, full models have separate head, hair, body, gloves, shorts, mouthguard

I checked for the head only (from basic tester).

If you send the separate body I'll check that to give instructions how you can get the rest.

Posted
3 hours ago, shak-otay said:

It's just a different signature of one block (at 0xA8BA0) in the head normal, afaics.

So the trick is, it's uncompressed! And needs to be concatenated uncompressed. Hell, wtf...

edit:

Why not always use Aluigi's Decompressor.bms? To avoid any hassle.

Yes, you can just always run the decompressor ones. 

2 hours ago, Conyaboi28 said:

going back to this, how do i correct it all to make uvs correct and submeshes cleaned into just meshes so the model can have the textures applied to it properly because at the moment i get this, eyes broken and blocks all over

Desktop Screenshot 2025.11.02 - 13.08.33.48.png

does that work with all then cus if so then yeah makes sense ill just use that only

Desktop Screenshot 2025.11.01 - 01.59.40.38.png

The UV's are upside down, you have to go inside blender uv editor and you have to rotate the uvs 180 degrees for the textures to show up all lined up , alternatively you can flip the texture image itself

 

Posted
26 minutes ago, 2wrwrw3rw3r said:

The UV's are upside down, you have to go inside blender uv editor and you have to rotate the uvs 180 degrees for the textures to show up all lined up , alternatively you can flip the texture image itself

Okay thanks man I’ll give that a go, see what I get in my results

Posted
1 hour ago, shak-otay said:

If you send the separate body I'll check that to give instructions how you can get the rest.

heres hair model, cant send body yet as dont know which one it is until i connect model to head model, bodies arent named by fighter, as some fighters use the same bodies 

conor hair mcd.rar

Posted
52 minutes ago, 2wrwrw3rw3r said:

The UV's are upside down, you have to go inside blender uv editor and you have to rotate the uvs 180 degrees for the textures to show up all lined up , alternatively you can flip the texture image itself

lovely stuff, again sorry im a rookie so i had no idea. if shak-otay manages to do this for all mcd in conor mcgregor files, could have a complete ufc 4 model ripped. problem is though with the bodies being unnamed and just different types of bodies not neccessarily unique to that fighter i cant find which is the right body unless shak-otay did this for all male bodies .mcd which i can assure he wont. if theres a hex value or file that tells us what body he uses then thatll make it easier. once i know the body i know the shorts and gloves. when he gives me step by step on how to do ill be doing it myself. 

Desktop Screenshot 2025.11.02 - 16.49.32.17.png

Posted
1 hour ago, Conyaboi said:

lovely stuff, again sorry im a rookie so i had no idea. if shak-otay manages to do this for all mcd in conor mcgregor files, could have a complete ufc 4 model ripped. problem is though with the bodies being unnamed and just different types of bodies not neccessarily unique to that fighter i cant find which is the right body unless shak-otay did this for all male bodies .mcd which i can assure he wont. if theres a hex value or file that tells us what body he uses then thatll make it easier. once i know the body i know the shorts and gloves. when he gives me step by step on how to do ill be doing it myself. 

Desktop Screenshot 2025.11.02 - 16.49.32.17.png

i think ea uses generic body types for the everyone, you can probably just use the ufc 3 bodies and you'll probably find one which will line up with McGregor, for the eyes and eyelashes you can probably line them up to his model in blender 

Posted
1 hour ago, 2wrwrw3rw3r said:

i think ea uses generic body types for the everyone, you can probably just use the ufc 3 bodies and you'll probably find one which will line up with McGregor, for the eyes and eyelashes you can probably line them up to his model in blender 

That’s how I got the Mike Tyson model prepped, I just added each .mcd that I converted to fbx till they lined up and looked accurate. Then I knew the body, then because the body is numbered you just use the same number on gloves and shorts, may use different textures though. UFC 3 bodies may work and connect to his head model but I don’t think they’re the same as ufc 4 bodies 

  • Engineers
Posted (edited)

@Conyaboi: well, I put much too much effort into this so the instructions are kept very condensed, just to say so.

edit: @all: for all those who just step in here: UFC 4 .mcd (and .gnf, texture) are zstd compressed.

Use Aluigi's Decompressor.bms to be found in this thread to decompress them. hex2obj needs an uncompressed file. (Decompressed .gnf textures can be read by Noesis from Rich Whitehouse.)

-----------------------------------------------------------------------------

Checking the .mcd file, Conor's hair:

the FVFsize is 16 for the hair here (but was 12 for the head, as you may remember).

If you run intro troubles getting the parameters for the body feel free to ask. But you'll need to learn some basics of 3D formats.

(Maybe someone will create a script for UFC 4 .mcd files. I, for one, am finished here).

a) Conor's hair in hex2obj (checked one sub mesh only)

Conor_hair_hex2obj.thumb.png.394e2aaada1114cb960425da6c68fd72.png:

b) Getting face index start address (search for xndi) :

ConorHair_firstfaceindex.thumb.png.e3f36e9dcad52bb06f9fed3b6859a06b.png

c) Getting start of vertex blocks (search for MRTS) :

Conor_HairVertexstart.png.8449aa6dc696142f2a64f1feec1c3c64.png

d) Last, not least, the uvs (skipping 2 MRTS blocks of normals, usually) :

Conor_hair_uvs.png.43f834212d51a229a174a5a2a9453971.png

HTH

Edited by shak-otay
Posted
1 hour ago, shak-otay said:

@Conyaboi: well, I put much too much effort into this so the instructions are kept very condensed, just to say so.

The FVFsize, which is 16 for the hair here was 12 for the head, as you may remember.

If you run intro troubles getting the parameters for the body feel free to ask. But you'll need to learn some basics of 3D formats.

(Maybe someone will create a script for UFC 4 .mcd files. I, for one, am finished here).

a) Conor's hair in hex2obj (checked one sub mesh only)

Okay thanks I will try my best to follow this and if i struggle getting parameters I’ll be sure to @ you. You’ve been a big help so I appreciate that. 

Posted (edited)

@2wrwrw3rw3r did you ever try getting in contact with the person who made the py for the ufc 1-3 models, might be worth seeing if they would add ufc 4 or make one 

 

edit- do you know the .gnf for mcgregors shorts in ufc 3, the shorts with his name on

Edited by Conyaboi

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...