Page 18 of 34

Re: Extracting simple models

Posted: Mon Mar 20, 2017 5:22 pm
by cornal
Thank you so much @Shakotay2 and @AceWell for you time :) , I'm really very noob on this hex signature, I'm really wanna learn this type of things, since I'm a model collector not a modder, and I a little bit obsessed with GT4 and Enthusia Professional Racing models, and your are very occupied with FH3 and other games, so i wanna learn and form part of contributors and help to extract models.

By the moment, only know I have spent some time learning about floats, Dwords and so, maybe find a good tutorial about this :)

Help needed on possible model files

Posted: Sat Apr 15, 2017 8:50 am
by netslave
Hi all, I recently made it a mission of mine to be able to mod this game - AFL Evolution
http://store.steampowered.com/app/435020
I downloaded the demo and managed to extract the .pak file. I then got access to the texture files, shaders, animations a bunch of dat files in some format but I seem to be unable to spot the model files.
There are some files that I think may be model files but I'm unsure, I havent been able to open them in 3dsmax or blender by changed their file extensions etc.
Would someone be able to confirm if these are indeed model files or not?
I have included some of the files here:
https://www.dropbox.com/s/5g6np2vrh60nxa7/body.rar?dl=0
Thanks for any help.

Re: Help needed on possible model files

Posted: Sat Apr 15, 2017 10:25 am
by shakotay2
netslave wrote:Hi all, I recently made it a mission of mine
personal missions are always welcome here :D
Yes, seems like *.wwm is models but, the body_00 (upper part of picture) doesn't show up well. Maybe the 4 bytes offset is in between the face indices (instead of a b c zero) or something else (tri strips), dunno.
Also there's a lot of submeshes.

The shoe, well, look at its structure (lower part of pic): no constant block size, you could try to read some vertices, of course, in case you're a coder (the 02 000000 blocks are 8 bytes bigger than the 01 000000 xx 000000 blocks).
Also for some unknown reason a skeleton (hips, spine, hand, arm, leg) is contained at the end of shoe_00.wwm.
body_00-wwm.JPG
(btw: since the data looks like matrices there's also a good chance that this is an animation file. At 0x100 a supposed frame count? of 375)

Re: Help needed on possible model files

Posted: Sat Apr 15, 2017 11:21 am
by netslave
shakotay2 wrote:
netslave wrote:Hi all, I recently made it a mission of mine
personal missions are always welcome here :D
Yes, seems like *.wwm is models but, the body_00 (upper part of picture) doesn't show up well. Maybe the 4 bytes offset is in between the face indices (instead of a b c zero) or something else (tri strips), dunno (at 0x100 a supposed vertex count of 375 for first SM).
Also there's a lot of submeshes.
Thanks for your input shakotay2, much appreciated.

edit*
Just as a follow up, as this was too much for my puny brain and lack of skills to figure out I ended up using a program called RenderDoc.
I ran that program and attached it to steam.exe and specified to hook child processes and managed to grab the models that way.

Re: Extracting simple models

Posted: Mon May 15, 2017 7:09 am
by dibe91
Recently a cell phone game called a warhammer 40,000 freeblade. I would like to retrieve models. The graphics engine should be unity and I should find the right tools, but I just wanted to know if I took the folder that you managed to open the archives.

Re: Extracting simple models

Posted: Mon May 22, 2017 2:14 pm
by Jamal al dambali
Hi. Please, help me with UV.
what am I doing wrong?

https://www.youtube.com/watch?v=ZQBrCIAoTHM


Link to the archive with 3d models:

https://yadi.sk/d/z5BTzdSt3JNLQK

Re: Extracting simple models

Posted: Mon May 22, 2017 5:23 pm
by Acewell
you had your UV position the same as the stride length which is not possible, if the UV
position is at 32 and the stride is also 32 there is no more room left in the stride. :)
if your data type is set to float, the UVs are no less than 8 bytes and this length is
accounted for in the stride, at least in your sample.

the sample states "xyznuvtb"
12 bytes for XYZ point position
4 bytes for normals
8 bytes for UV
and 8 bytes left for "t" and "b" data
12 + 4 + 8 + 8 = 32
Turret_01_primitives_processed.png

Re: Extracting simple models

Posted: Mon May 22, 2017 8:11 pm
by Jamal al dambali
AceWell wrote:you had your UV position the same as the stride length which is not possible, if the UV
position is at 32 and the stride is also 32 there is no more room left in the stride. :)
if your data type is set to float, the UVs are no less than 8 bytes and this length is
accounted for in the stride, at least in your sample.

the sample states "xyznuvtb"
12 bytes for XYZ point position
4 bytes for normals
8 bytes for UV
and 8 bytes left for "t" and "b" data
12 + 4 + 8 + 8 = 32
Turret_01_primitives_processed.png
Cool! Thank you so much!

Re: Extracting simple models

Posted: Thu May 25, 2017 1:08 am
by Acewell
Jamal al dambali wrote:Link to the archive with 3d models:
https://yadi.sk/d/z5BTzdSt3JNLQK
here is Noesis python script to open those samples :D
*updated May 28,2017*
fmt_WorldofTanks_primitives_processed.zip
supports mesh and UVs
from what i can see ".primitives_processed" files are from "World of Tanks" so that is what i named the script.

also i found another python converter for this file type but i didn't test it :)
https://github.com/SkaceKamen/wot-model-converter

edit again
fixed a UV problem i overlooked with the 40 byte stride samples (:

Re: Extracting simple models

Posted: Sun May 28, 2017 2:06 pm
by SchnelleMeyer
Some UVs are giving me problems.. - The problems are typically from "secondary" textures like camouflage wrapping for weapons.
Some of the vertices are stretched way off where they are supposed to be.- See the attached picture.

What can be the cause of this? And can I do something to correct it.

"Main" textures and meshes are all good.

EDIT: I will answer my own question in order to help others that may be struggling. - The files I am working on are using Vertex block and UV-position was 26 for the UVs that came out good. - For some meshes within the same mesh file the UV-position was 24. This is what caused my problem. - Now I am outputting these mesh files 2 times to get everything right. - once with UV-pos 26 and once with 24.

Re: Extracting simple models

Posted: Fri Jun 02, 2017 2:35 pm
by IronArthur
This its a great tool thanks for your work.

In the UV section, i understand most options mean (float, half-float...) but what´s a worldUv?

i´ve this hex code (uv coords)
30 1F 12 E9 36 2A 52 D2
hex2obj->vt: 0.121826 0.910431

i really can´t figure the math involved.
48/31 = NO
...

Re: Extracting simple models

Posted: Fri Jun 02, 2017 4:12 pm
by shakotay2
IronArthur wrote:In the UV section, i understand most options mean (float, half-float...) but what´s a worldUv?

i´ve this hex code (uv coords)
30 1F 12 E9 36 2A 52 D2
hex2obj->vt: 0.121826 0.910431
It's not "world" it's word (shorts, 16 bit integers, unsigned)
Divider is a multiple of 256, looks like 65536 for your sample:
0x1F30 -> 7984 dec, 7984/65536.0 = 0.121826

Re: Extracting simple models

Posted: Wed Jun 07, 2017 10:30 am
by IronArthur
shakotay2 wrote:
IronArthur wrote:In the UV section, i understand most options mean (float, half-float...) but what´s a worldUv?

i´ve this hex code (uv coords)
30 1F 12 E9 36 2A 52 D2
hex2obj->vt: 0.121826 0.910431
It's not "world" it's word (shorts, 16 bit integers, unsigned)
Divider is a multiple of 256, looks like 65536 for your sample:
0x1F30 -> 7984 dec, 7984/65536.0 = 0.121826
Thanks for the info, i was achieving wrong uv mappings, correct uvs but wrong size/offsets and it was because the divider should be 16384 (it´s not an option of hex2obj only 8k-64k)

Re: Extracting simple models

Posted: Sat Jun 17, 2017 3:40 pm
by Jamal al dambali
Hi. Please help me with this file.

https://yadi.sk/d/CP38Rg-h3KDMuK

Does this file contain vertices and polygons?

Re: Extracting simple models

Posted: Sat Jun 17, 2017 4:46 pm
by shakotay2
you could easily find out this for yourself.
look for point clouds, then look for face indices, it's DWORD here:
01385037-dat.jpg