Page 3 of 4
Re: 007 Quantum of Solace
Posted: Tue Jul 26, 2016 5:10 pm
by Andrakann
daemon1 wrote:They made them. I see them. I can extract them. They are proper normals.
Can you give me a gun or car model with those non-working normals?
Ripped normals are broken (upper model):
(Трое русских упражняются в английском, вместо того чтобы на форуме Тосика все быстро обсудить

)
Re: 007 Quantum of Solace
Posted: Tue Jul 26, 2016 6:12 pm
by Andrakann
Highflex wrote:Nobody so far has really managed to read out meshes directly from the .ff, not sure why but i never bothered to check them myself
Maybe it's because nobody's extract those FF to big DAT file with unpacked data iside?
Re: 007 Quantum of Solace
Posted: Tue Jul 26, 2016 7:03 pm
by daemon1
Andrakann wrote:Can you give me a gun or car model with those non-working normals?
here you go:
http://www3.zippyshare.com/v/piiQcaXP/file.html
Andrakann wrote:Maybe it's because nobody's extract those FF to big DAT file with unpacked data iside?
No its because proper parsing unpacked FF file is almost impossible.
Re: 007 Quantum of Solace
Posted: Tue Jul 26, 2016 7:17 pm
by Andrakann
Ok, I did another test, 3dsmax scripts can't resave Bond model, because of errors, but Blender scripts do the job:

As you can see, normals data loaded and saved back, but model looks as before:

So, I think normals in game models is averaged/autogenerated and controlled by shader - that a reason of strange normals in ripped gun.
PS: XNALara XPS can't load this mesh.ascii, even after resaving in Blender. Maybe my version is too old.
Re: 007 Quantum of Solace
Posted: Tue Jul 26, 2016 7:40 pm
by Highflex
Andrakann wrote:Ok, I did another test, 3dsmax scripts can't resave Bond model, because of errors, but Blender scripts do the job:

As you can see, normals data loaded and saved back, but model looks as before:

So, I think normals in game models is averaged/autogenerated and controlled by shader - that a reason of strange normals in ripped gun.
PS: XNALara XPS can't load this mesh.ascii, even after resaving in Blender. Maybe my version is too old.
I don't think normals are auto generated or controlled by shaders, don't forget this is running on IWEngine 3 if i remember correctly, same build as WAW/COD4, so normals are done the same way, i remember Tom BMX also had some trouble aquiring normal data from memory but he solved it, so normal data should be fine once parsed correctly, maybe just the end format has some issues (. ascii)
Re: 007 Quantum of Solace
Posted: Tue Jul 26, 2016 7:56 pm
by Andrakann
Highflex wrote:I don't think normals are auto generated or controlled by shaders
Shading looks the same, if you import mesh.ascii without normal data (0.0 0.0 0.0) and with those data.
If normal data is wrong and autoaveraged in 3d software, then, after export, normal data must differs, but it is the same (my last test).
Re: 007 Quantum of Solace
Posted: Tue Jul 26, 2016 8:36 pm
by daemon1
Actually it work on a trigger of a pistol. But for other submeshes blender just ignore it all.
Re: 007 Quantum of Solace
Posted: Tue Jul 26, 2016 9:47 pm
by Andrakann
I tried to extract texture, without big success, textures are in chunks, but adding a header helps not much, I think my header miss some mip-levels data:

Some research:
Normal Map textures in this game have one channel in RGB and another in alpha.
For making it standard, we need to convert RGB to gray and put it to Green channel of normal map, alpha goes to Red, Blue is white.
Attached semi-converted texture.
Re: 007 Quantum of Solace
Posted: Tue Jul 26, 2016 10:13 pm
by daemon1
Andrakann wrote:I think my header miss some mip-levels data
No. Normal DDS first have biggest mip, then all small. Here its otherwise. So the best way is to cut off all small mips and save it as 1-mip DDS.
Re: 007 Quantum of Solace
Posted: Wed Jul 27, 2016 11:19 am
by daemon1
World at War research complete. I'll think if I create a new thread for it, or put them all here.
So for now, latest versions for 007 Quantum of solace and for WaW
Re: 007 Quantum of Solace
Posted: Wed Jul 27, 2016 11:39 am
by Tosyk
daemon1 wrote:World at War research complete. I'll think if I create a new thread for it, or put them all here.
So for now, latest versions for 007 Quantum of solace and for WaW
great! Does it work for modern warfare?

You could rename thread to "IWEngine 3 engine meshes" or something like that.
Re: 007 Quantum of Solace
Posted: Wed Jul 27, 2016 11:44 am
by daemon1
Tosyk wrote:Does it work for modern warfare?

Dont know. But I'd bet its different again.
Re: 007 Quantum of Solace
Posted: Wed Jul 27, 2016 1:55 pm
by Andrakann
daemon1 wrote:So for now, latest versions for 007 Quantum of solace and for WaW
Thank you

A lot more meshes extracted from 007 with this version (346 instead of 59 for airport map).
Btw, do you rotate meshes before screening? Because my scripts import things laying on they sides and rotated by 90d:
Of course I can select skeleton's origin and rotate it twice by 90d, but if I then delete a skeleton part, corresponding mesh drops to unrotated position.
So, can you, please, swap XYZ before saving to ascii?
Re: 007 Quantum of Solace
Posted: Wed Jul 27, 2016 2:19 pm
by Highflex
I tried the waw tool with COD4 .ffs it extracts a few meshes then crashes so i don't think there is too much changes between the mesh format from WAW

great work so far!
Re: 007 Quantum of Solace
Posted: Wed Jul 27, 2016 2:23 pm
by Tosyk
Andrakann wrote:Btw, do you rotate meshes before screening? Because my scripts import things laying on they sides and rotated by 90d:
Of course I can select skeleton's origin and rotate it twice by 90d, but if I then delete a skeleton part, corresponding mesh drops to unrotated position.
So, can you, please, swap XYZ before saving to ascii?
you can just select all and rotate and if you delete skeleton afterwards anyway - you can just delete skeleton BEFORE rotation and rotate model itself.