Jump to content

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


Recommended Posts

Posted (edited)
13 hours 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.

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

I tried using the head models and tested two of them (DDP and Rovyal). I was able to get the models to work. From my understanding, all of the heads share the same offsets and parameters, so if you can get one model to construct with no weird faces, you can use the same parameters for the other models.

I’m just having an issue with the ears, as you can see in the photo below. If you could share your parameters and offsets, I think it would be very helpful.



update 1 : got it woriking however the uvs are not working but you can transfer it using copy vertex order plugin in blender

UPDATE 2:    got the uvs to work for the model using these params but i still have to go inside blender uv unwrap and then copy uv maps to the main model . is there a way i can get uv maps and model all in 1 in hex2obj ? sorry if this is a rookie question since ive never used hex 2 obj before 

Final Update : I just have to save the mesh from hex2obj settings and the uvs will be added to the obj. thanks for your help Hex2Obj
image.png.61cff8c1f90f3f3f8bd626466d36a3c6.pngimage.png.89cd2dae4c11c47dc2d3a887d679e88d.png
image.png.9d3791e2ed61a684fbce1ab39690efbb.pngimage.thumb.png.5a2c9b8fede615662b7047af4d539583.png

 image.thumb.png.002dbce119422cda2ddfbbfed9f6ab41.pngimage.thumb.png.286cf2bd402b05f33f583e2d01b2639a.png

Edited by 2wrwrw3rw3r
  • Like 1
Posted
10 hours ago, Conyaboi said:

@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

i found the script on a zentax forum and the post was 2-3 years old , i doubt we'll ever find that dude and for the shorts , they just use generic shorts from my understanding the names are another layer that are added onto the shorts while you load in with said character ingame 

Posted
2 hours ago, 2wrwrw3rw3r said:

I tried using the head models and tested two of them (DDP and Rovyal). I was able to get the models to work. From my understanding, all of the heads share the same offsets and parameters, so if you can get one model to construct with no weird faces, you can use the same parameters for the other models.

I’m just having an issue with the ears, as you can see in the photo below. If you could share your parameters and offsets, I think it would be very helpful.



update 1 : got it woriking however the uvs are not working but you can transfer it using copy vertex order plugin in blender

UPDATE 2:    got the uvs to work for the model using these params but i still have to go inside blender uv unwrap and then copy uv maps to the main model . is there a way i can get uv maps and model all in 1 in hex2obj ? sorry if this is a rookie question since ive never used hex 2 obj before 

Final Update : I just have to save the mesh from hex2obj settings and the uvs will be added to the obj. thanks for your help Hex2Obj
image.png.61cff8c1f90f3f3f8bd626466d36a3c6.pngimage.png.89cd2dae4c11c47dc2d3a887d679e88d.png
image.png.9d3791e2ed61a684fbce1ab39690efbb.pngimage.thumb.png.5a2c9b8fede615662b7047af4d539583.png

 image.thumb.png.002dbce119422cda2ddfbbfed9f6ab41.pngimage.thumb.png.286cf2bd402b05f33f583e2d01b2639a.png

Looks like you’ve got the hang of it, well done, I haven’t tried yet as I got busy, this looks very promising though, getting head models accurately. Happy to see that. If you have discord add me connor_32311, could help each other get full model. 

Posted (edited)
1 hour ago, 2wrwrw3rw3r said:

i found the script on a zentax forum and the post was 2-3 years old , i doubt we'll ever find that dude and for the shorts , they just use generic shorts from my understanding the names are another layer that are added onto the shorts while you load in with said character ingame 

Fair enough, Zentax was goated, yeah I’ve already got the shorts for McGregor from ufc 3 just need the name added to them, in the extracted .big folder do you know which path the names are located in for the shorts ? 
 

here’s the generic green shorts, I did try looking everywhere for mcgregors shorts because I think he does have his own ones but there’s no shorts I could find with his name in the file name. 
 

ps ignore the beard, I know the beard alpha uses uv 1.0 but in this was 0 so it looks broken 
 

 

Untitled-1.png

Edited by Conyaboi
Posted
12 minutes ago, Conyaboi said:

Looks like you’ve got the hang of it, well done, I haven’t tried yet as I got busy, this looks very promising though, getting head models accurately. Happy to see that. If you have discord add me connor_32311, could help each other get full model. 

for sure ill send you a friend req , i do have shorts data bases for reebok shorts ranging from 2015-2021 you'll probably find it useful and as for the names you can make them in photoshop its not that hard 

  • Engineers
Posted (edited)

I played around with the UFC 3 script from Zenhax, trying out conor's head .mcd.

Parameters seem to be ok, I hope for a simple 5 minutes idea to create H2O param files from the log -

but not all sub mesh blocks follow the "12 8 8 4" rule. Also 5 xdni blocks are not logged.

edit: for simplicity "verts" is logged always. Of course it's not. For a 12-8-8-4- block it's

verts, normals, normals, uvs for example (format: floats, HF, HF, HF).

Quote

MRTS, init 0x39a78
verts 0x39a8d 5227 12
MRTS, init 0x48f91
verts 0x48fa6 5227 8
MRTS, init 0x532fe
verts 0x53313 5227 8
MRTS, init 0x5d66b
verts 0x5d680 5227 4

MRTS, init 0x6282c
verts 0x62841 5227 12
MRTS, init 0x71d45
verts 0x71d5a 5227 4
MRTS, init 0x76f06
verts 0x76f1b 5227 4
MRTS, init 0x7c0c7
verts 0x7c0dc 5227 4
MRTS, init 0x81288
verts 0x8129d 5227 4
MRTS, init 0x86449
verts 0x8645e 5227 4

MRTS, init 0x8b60a
verts 0x8b61f 100 12
MRTS, init 0x8bacf
verts 0x8bae4 100 8
MRTS, init 0x8be04
verts 0x8be19 100 8
MRTS, init 0x8c139
verts 0x8c14e 100 8

MRTS, init 0x8c46e
verts 0x8c483 509 12
MRTS, init 0x8dc5f
verts 0x8dc74 509 8
MRTS, init 0x8ec5c
verts 0x8ec71 509 8
MRTS, init 0x8fc59
verts 0x8fc6e 509 4

MRTS, init 0x90462
verts 0x90477 100 12
MRTS, init 0x90927
verts 0x9093c 100 8
MRTS, init 0x90c5c
verts 0x90c71 100 8
MRTS, init 0x90f91
verts 0x90fa6 100 8

MRTS, init 0x912c6
verts 0x912db 164 12
MRTS, init 0x91a8b
verts 0x91aa0 164 8
MRTS, init 0x91fc0
verts 0x91fd5 164 8
MRTS, init 0x924f5
verts 0x9250a 164 4

meshNum 5
faces 30300 0x927af
faces 486 0xa1478
faces 2904 0xa1855
faces 486 0xa2f16
faces 648 0xa32f3

 

Conor_eyes.png

edit: MRTS block at 0x62841 is filled with 5227 x 12 zeroes.

edit2: decompressed .mcd added (head ConorMcGregor)

headConorMG1-12decomp.zip

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

I played around with the UFC 3 script from Zenhax, trying out conor's head .mcd.

Parameters seem to be ok, I hope for a simple 5 minutes idea to create H2O param files from the log -

but not all sub mesh blocks follow the "12 8 8 4" rule.

 

are those parameters for all of conor.mcd or head only, confused 

 

im trying to use the decompressor bms script to decompress a .mcd from ufc 4 but im getting this error 

 

Error: incomplete input file 0: C:\Users\Owner\Videos\UFC 4 Anthony Joshua\head\models\head_anthony_joshua.mcd
       Can't read 8 bytes from offset 0000000000000000.
       Anyway don't worry, it's possible that the BMS script has been written
       to exit in this way if it's reached the end of the archive so check it
       or contact its author or verify that all the files have been extracted.
       Please check the following coverage information to know if it's ok.


Last script line before the error or that produced the error:
  10  getdstring chunk_type 8

 

edit- i figured it out, cant overwrite have to make new file with same name 

Edited by Conyaboi
  • Engineers
Posted
3 minutes ago, Conyaboi said:

are those parameters for all of conor.mcd or head only, confused

That's for the Multi-conor you've uploaded.:classic_biggrin: But the name was head_conor_mcgregor_model.mcd.

Posted
1 hour ago, shak-otay said:

That's for the Multi-conor you've uploaded.:classic_biggrin: But the name was head_conor_mcgregor_model.mcd.

Like his eyebrows, eyes, mouth, all that ?

Posted

i tried your step by step for hextoobj but i got lost, videos is what i learn by best, got mostly all for aj model but need his shorts, i have the textures for it just cant find the model

 

 

Untitled-2.png

Posted
6 hours ago, shak-otay said:

Parameters seem to be ok, I hope for a simple 5 minutes idea to create H2O param files from the log -

If you make a h20 param file would that mean we could load any .mcd and it’ll automatically have the parameters ready for it to be exported to obj ?

  • Engineers
Posted

Exported from hex2obj, yes, that's the idea behind it (don't have the passion to fix the script so that Noesis can display the meshes, I use mcd = McdReader(bs) only, the rapi loop is commented out).

Log for Conor's hair .mcd:

Quote

MRTS , init 0x5e52a
verts 0x5e53f 4839 16
MRTS , init 0x713af
verts 0x713c4 4839 8
MRTS , init 0x7aafc
verts 0x7ab11 4839 8
MRTS , init 0x84249
verts 0x8425e 4839 4
MRTS , init 0x88dfa
verts 0x88e0f 4839 4

MRTS , init 0x8d9ab
verts 0x8d9c0 1006 16
MRTS , init 0x918a0
verts 0x918b5 1006 8
MRTS , init 0x93825
verts 0x9383a 1006 8
MRTS , init 0x957aa
verts 0x957bf 1006 4

MRTS , init 0x96777
verts 0x9678c 4872 16
MRTS , init 0xa980c
verts 0xa9821 4872 8
MRTS , init 0xb3061
verts 0xb3076 4872 8
MRTS , init 0xbc8b6
verts 0xbc8cb 4872 4
MRTS , init 0xc14eb
verts 0xc1500 4872 4

meshNum, ibufNum 3 3
faces 13632 0xc6135
faces 5400 0xccbc6
faces 17376 0xcf607

 

hair_conor.png

Posted
42 minutes ago, shak-otay said:

Exported from hex2obj, yes, that's the idea behind it (don't have the passion to fix the script so that Noesis can display the meshes, I use mcd = McdReader(bs) only, the rapi loop is commented out).

Log for Conor's hair .mcd:

 

hair_conor.png

I don’t mind using hex2obj it’s decent, so with these logs you’ve posted, do I load the .mcd then load the h20 or make a h20 and save that log into the h20? I’m guessing that log makes all of the .mcd load like Conor’s hair and beard 

Posted (edited)
13 hours ago, shak-otay said:

See my previous post how I used the parameters from the log in hex2obj.

(Creating H2O files from the log is WIP.)

If that day comes, to where can just load a head .mcd and it automatically loads the parameters from the h20, then without closing hex2obj down and opening a body .mcd and it automatically loads the parameters for it,  very nice. 
 

When you post the images and the parameters I can’t apply it like you do, I’m very new to the program and I learn best from videos. If you can make a small clip of you using the log fresh like it’s first time being done, I can watch it and I’ll learn much better from it. Understand if you don’t want to 

 

edit - the goal is to export the whole object of the head with eyes and mouth included, same with hair and beard together as one obj

 

edit- I think I understand that at the moment gotta get every part of the meshes, as parameters are for individual meshes, head, eyes, eye lashes. Gotta do them individually with hex2obj, then can add them together in blender 

Edited by Conyaboi
Posted
14 hours ago, shak-otay said:

Log for Conor's hair .mcd:

I will give this a go at some point, would like to have Conor fully completed at some point this week, I’ll look through your logs, I’ll use your screenshot references for

eyelashes ,mouth ,haircap ,beard

ill try get the 

eyes ,Head hair ,shorts 

already got the 

head, body, gloves, beard 

 

Posted (edited)
On 11/2/2025 at 8:01 PM, shak-otay said:

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

Conor_hair_hex2obj.thumb.png.394e2aaada1114cb960425da6c68fd72.png

uv maps of this seem off 

update - i think im close but dont know if right 

Desktop Screenshot 2025.11.05 - 01.12.00.38.png

Desktop Screenshot 2025.11.05 - 02.30.39.80.png

Edited by Conyaboi
  • Engineers
Posted (edited)

How does the texture look in blender when applied?

(And there's more than one parameter block for hair texture in the log, btw.)

Edited by shak-otay
Posted
On 11/5/2025 at 9:59 AM, shak-otay said:

How does the texture look in blender when applied?

(And there's more than one parameter block for hair texture in the log, btw.)

I have been trying to use hex2obj and ngl I’m struggling haha, I’m getting wrong results or not getting a clear object at all. I’ve followed your guide and i must’ve read it over 20 times but it’s just not translating when I’m doing it myself, not sure what I’m doing wrong here. I need eyes, eye lashes, mouth guard and hair from Israel adesanya, I know that the eyes eyelashes and mouth guard are all to be found in the head.mcd and that the hair is in the hair.mcd, what im finding hard is knowing exactly which one from hex editor is the right one to copy offset and paste into hex2obj, I really do want to be able to use this myself just like you can. 

  • Engineers
Posted
26 minutes ago, Conyaboi said:

what im finding hard is knowing exactly which one from hex editor is the right one to copy offset and paste into hex2obj, 

I'm pretty sure you've overread the most important part concerning the logged data:

Quote

edit: for simplicity "verts" is logged always. Of course it's not. For a 12-8-8-4- block it's

verts, normals, normals, uvs for example (format: floats, HF, HF, HF).

Understand the 12-8-8-4 rule (or 16-8-8-4 for hair mcd) and you're done.

Posted
3 hours ago, shak-otay said:

I'm pretty sure you've overread the most important part concerning the logged data:

Understand the 12-8-8-4 rule (or 16-8-8-4 for hair mcd) and you're done.

okay and with the count of step 1 get face indices how do i calculate that along side with the count of get vertices, because atm im getting this all the time

 

image.thumb.png.bd853d7765bc2cac5d881c36a95240c5.png

  • Engineers
Posted (edited)

I have no idea which mcd files the vertex start address 0x67837 belongs to. (It's not from the logs I've uploaded.)

edit: Israel adesanya mcd?

edit 2: just finished a tool that creates H2O files. (Need to do some tests - maybe tomorrow...)

Here's the resulting H2O files for Conor's head (mcd file see some posts above) :

headConorMG1-12decomp.mcd_1to6.zip

Edited by shak-otay
Posted
2 hours ago, shak-otay said:

edit: Israel adesanya mcd?

yes 

2 hours ago, shak-otay said:

edit 2: just finished a tool that creates H2O files. (Need to do some tests - maybe tomorrow...)

awesome, will be good to see how well it works 

2 hours ago, shak-otay said:

Here's the resulting H2O files for Conor's head (mcd file see some posts above) :

headConorMG1-12decomp.mcd_1to6.zip 1.18 kB · 0 downloads

 

ill check this out now 

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...