Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Extracting simple models

Read or post any tutorial related to file format analysis for modding purposes.
Post Reply
User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 4284
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 1146 times
Been thanked: 2242 times

Re: Extracting simple models

Post by shakotay2 »

yeah, we've definitely hit the 1000 downloads limit with hex2obj.

update: 4th of June, 2000 downloads (v0.22: 1250, v0.24c: 750)
1000 in 225 days (10/19/15): 4 per day

That's a little bit funny since from the few feedbacks I guess there might be 5 to 10 people only
who really use it.

Not to talk about the Make_H2O project which comes with C source which nobody seems to use except me.
(Maybe due to my crappy coding style but it's too late to change it, sry.)

Anyway - those tools serve me as lifetime savers. Without them I'd really given up 3D models' analysing.

cheers
shak-otay

Make_H2O - a project to show how to create H2O parameter files for hex2obj:
viewtopic.php?f=29&t=12756
Last edited by shakotay2 on Sat Jun 04, 2016 6:13 am, edited 1 time in total.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
User avatar
Casedey
beginner
Posts: 34
Joined: Sat Aug 20, 2011 6:27 am
Has thanked: 43 times
Been thanked: 12 times

Re: Extracting simple models

Post by Casedey »

Can someone help me to take a look at this model, i'm still a bit confused.
http://www.mediafire.com/download/agvmw ... 5g/x77.rar
User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 4284
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 1146 times
Been thanked: 2242 times

Re: Extracting simple models

Post by shakotay2 »

It's not a matter of hex2obj - it's pure ASCII data:
"vertices" : 49954,
"faces" : 99886,
"normals" : 0,
"colors" : 0,
"uvs" : 52314,
"materials": 1
"scale" : 1.000000

"vertices": [-2.851608,109.752381,12.935308,...

There was a thread ("webgl" or similar) where this data were handled.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
User avatar
Casedey
beginner
Posts: 34
Joined: Sat Aug 20, 2011 6:27 am
Has thanked: 43 times
Been thanked: 12 times

Re: Extracting simple models

Post by Casedey »

There was a thread ("webgl" or similar) where this data were handled.
Ok! Thanks!!

Edit: I solved the puzzle, thanks for your help!!
metalex
ultra-n00b
Posts: 9
Joined: Mon Jan 18, 2016 7:48 am

Re: Extracting simple models

Post by metalex »

master helpme with this model format is pes ps2 model format

https://mega.nz/#!PAIgSbaJ!AXaMr1osg_Aa ... OHqz_nfsBE
User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 4284
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 1146 times
Been thanked: 2242 times

Re: Extracting simple models

Post by shakotay2 »

First of all: I'm NOT a master - I just try to help people to help themselves.

With this said I think it's time to make a check list for noobs concerning the analyzing of 3D models:

Code: Select all

1) is the data compressed?
Try offzip if your unsure (works for zip compressed data only) or search for a decompressing tool.
(There's also Quickbms scripts for many archive formats.)

2) is it model data, texture data or animation data?
Use TextureFinder for textures. 
Some 3D models may contain both: model data and texture(s)

3) Before using hex2obj on a difficult format try out some of the dozens of simple samples on Xentax.

4) Then try out to get a point cloud  from your specific model as a first step. 

Look for continuous data sections with a size of 1 kB at least (0x400).

Yeah, what the heck does that mean: "continuous data"?

Hard to explain - in fact you'll need experience for that.
If there's gaps with more than 10 zero bytes for example I'd say it's not continuous data.

While float data is easy to recognize (with some experience) it's
rather hard to find vertex data in short/Word format.
On a quick glance I couldn't find any decent point clouds in your sample.
So you're on your own now to find out if I simply missed existing ones.

(I thought the sample might be partially compressed, but guess it's not.)

Did you try PES File Explorer, maybe with older PES model data?
Last edited by shakotay2 on Sun Mar 27, 2016 11:32 am, edited 1 time in total.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
User avatar
pechenko121
advanced
Posts: 48
Joined: Sat Dec 06, 2014 1:04 pm
Has thanked: 11 times
Been thanked: 2 times

Re: Extracting simple models

Post by pechenko121 »

shakotay2, can you help me in extracting models from this files? I read tutorial but it is rather hard for me to find start adress of verticses and face index count.

Here's the model.

And one more thing about tutor, how did you get this value?
Image
(0x2b2e)
I really don't get it. :D

Thank you :)
User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 4284
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 1146 times
Been thanked: 2242 times

Re: Extracting simple models

Post by shakotay2 »

the point is to understand that the format is big endian. Then the rest is simple (shown for the last submesh only):

from the pic you can see the start of vertices (0x3196C, directly after the last face index (FI) of the previous submesh).
Startaddress of first face index of last submesh is 0x359B0. Resulting FIs count: 2556
Autocalculated vertex count: 457

size of vertex block (last submesh):
359B0 - 0x3196C = 0x4044 -> 16452 dec.
FVFsize: 16452 / 457 = 36

Assumed UVpos: 16, WordUV, (edit: HF_UF seems to be the better choice as you can see from Acewell's post)
endOfFIs.JPG
For the 0x2B2E from the tutorial: if you understood how to gain 0x2B39 it's mainly skipping the string ("Texture") and its char count (7 -> 07 000000 as DWord)
You do not have the required permissions to view the files attached to this post.
Last edited by shakotay2 on Sun Feb 14, 2016 12:55 am, edited 1 time in total.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
User avatar
pechenko121
advanced
Posts: 48
Joined: Sat Dec 06, 2014 1:04 pm
Has thanked: 11 times
Been thanked: 2 times

Re: Extracting simple models

Post by pechenko121 »

shakotay2 wrote:the point is to understand that the format is big endian. Then the rest is simple (shown for the last submesh only):

from the pic you can see the start of vertices (0x3196C, directly after the last face index (FI) of the previous submesh).
Startaddress of first face index of last submesh is 0x359B0. Resulting FIs count: 2556
Autocalculated vertex count: 457

size of vertex block (last submesh):
359B0 - 0x3196C = 0x4044 -> 16452 dec.
FVFsize: 16452 / 457 = 36

Assumed UVpos: 16, WordUV
endOfFIs.JPG
For the 0x2B2E from the tutorial: if you understood how to gain 0x2B39 it's mainly skipping the string ("Texture") and its char count (7 -> 07 000000 as DWord)
Thank you so much :)

Got the model :D
Image
User avatar
pechenko121
advanced
Posts: 48
Joined: Sat Dec 06, 2014 1:04 pm
Has thanked: 11 times
Been thanked: 2 times

Re: Extracting simple models

Post by pechenko121 »

I have another question: how do i calculate vertex start adress in file with one mesh?

Here's example.
Acewell
VIP member
VIP member
Posts: 1330
Joined: Wed Nov 05, 2008 12:16 pm
Has thanked: 2710 times
Been thanked: 884 times

Re: Extracting simple models

Post by Acewell »

sword360.png
h2o file for 00000003.dat

Code: Select all

0x934 268
Vb1
28 16
0x4 84
120100
0x0 255
:D
You do not have the required permissions to view the files attached to this post.
User avatar
pechenko121
advanced
Posts: 48
Joined: Sat Dec 06, 2014 1:04 pm
Has thanked: 11 times
Been thanked: 2 times

Re: Extracting simple models

Post by pechenko121 »

AceWell wrote:
sword360.png
h2o file for 00000003.dat

Code: Select all

0x934 268
Vb1
28 16
0x4 84
120100
0x0 255
:D
Oh, my mistake was incorrect fvfsize :)
Thats why mesh didn't load for me with startadr 4 :D

Thank you :)
eri619
veteran
Posts: 80
Joined: Wed May 16, 2012 6:36 am
Location: India
Has thanked: 11 times
Been thanked: 2 times
Contact:

Re: Extracting simple models

Post by eri619 »

Could you help me with this please?
https://archive.org/download/TheRock_20 ... e_Rock.rar
User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 4284
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 1146 times
Been thanked: 2242 times

Re: Extracting simple models

Post by shakotay2 »

First of all try to find out if the FML files contain mesh or animation data.
Did you try to get a point cloud?

0000L.FML seems to contain skeleton data, should be possible to extract it
but sadly I don't have the time for such atm.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
eri619
veteran
Posts: 80
Joined: Wed May 16, 2012 6:36 am
Location: India
Has thanked: 11 times
Been thanked: 2 times
Contact:

Re: Extracting simple models

Post by eri619 »

shakotay2 wrote:First of all try to find out if the FML files contain mesh or animation data.
Did you try to get a point cloud?

0000L.FML seems to contain skeleton data, should be possible to extract it
but sadly I don't have the time for such atm.
They contain mesh data.Animation files are contained in .fmo files.
Post Reply