Re-creating FIFA 07 faces in better quality

Dmitri

Youth Team
In this tutorial you will see how to improve the quality of existing faces in FIFA 07.

So first of all, here's the list of things we need:
- FIFA 07 itself
- FIFA 08 (for better face textures)
- FIFA Manager 08 (for better hair textures)
- Blender 2.8+ (for model editing, recommended 2.9 when it will come out) https://www.blender.org/download/
- Adobe Photoshop CC 19+ (for texture resizing)
- OTools + OTools GUI (for converting the model and texture to .o and .fsh formats) https://bitbucket.org/fifam/otools/downloads/
- HD Player Body/Kit model for FIFA 07 http://www.soccergaming.com/index.php?threads/fifa-07-hd-kit-body-model-fifa10-version.6468157/

For this tutorial, Ruud van Nistelrooy (ID: 10264) face will be re-created.

Step 0. Preparation step
Extract all head/hair models and textures from FIFA 07, FIFA 08 and FIFA Manager 08 (.o/.fsh files):
m222__*.o - head model
t21__*.fsh - face/body texture
playertexobj.texobj11__t22__*.fsh - hair texture

Step 1. Create face/body texture
Find the face/body texture in FIFA 08 files. It's called t21__10264_0_0.fsh
Extract .fsh file with OTools GUI ("Unpack FSH to images"). It will extract the texture to "tp01.png" file. Open this file in Photoshop. With Rectangular Marquee Tool, select the are of the face (308x256, from right side):
upload_2020-5-21_11-20-48.png


Crop this area (Image > Crop). Now resize the image (Image > Image Size...), with these options:
upload_2020-5-21_11-22-19.png


Now combine this 512x512 face texture with body texture. Open OTools folder, go to resources\head\fm_season\skin and find the texture which matches the skin tone for the player. Open this texture in Photoshop.
upload_2020-5-21_11-26-16.png


Drag the face texture onto the body texture with Move Tool, place it on the right side
upload_2020-5-21_11-27-12.png


Save this texture somewhere, as [email protected], 24-bit

Step 2. Create hair texture
Find the hair texture in FIFA Manager 08 files. It's called playertexobj.texobj11__t22__10264_0.fsh
Extract .fsh file with OTools GUI ("Unpack FSH to images"). It will extract the texture to "tp02.png" file. Open this file in Photoshop.
Usually the hair texture includes alpha channel. For some reason, Photoshop can't resize it properly, so we need to split the image to image with RGB channels and image with Alpha channel, resize them separately and then combine to one image.
Duplicate the image (Image > Duplicate...).
Now, on first image:
Go to Layer > Layer Mask > From Transparency. On Layers tab, RMB on mask and delete it:
upload_2020-5-21_11-38-30.png


Then resize the image:
upload_2020-5-21_11-41-57.png


Go to Select > Load Selection > OK, then Select > Save Selection > OK.
On Channels tab, select the created Alpha channel:
upload_2020-5-21_11-46-1.png


On second image:
Go to Select > Load Selection > OK, then Select > Save Selection > OK.
On Channels tab, select the created Alpha channel:
upload_2020-5-21_11-43-49.png


Then Select > All, Ctrl+C (copy). Now in Channels tab, select RGB channels, Ctrl+V (paste).
Now resize this image:
upload_2020-5-21_11-47-58.png


Select > All, Ctrl+C. Open first image, and paste copied data to Alpha channel: Ctrl+V.
upload_2020-5-21_11-49-25.png


Save this image somewhere, as [email protected], 32-bit
 
Last edited:

Dmitri

Youth Team
Step 3. Improve the model
Convert the head model (m228__10264.o) to .gltf with OTools GUI (with -dummyTextures additional parameter). Normally you will have 3 dummy textures: tp01.png, tp02.png, glos.png.
Re-save the new [email protected] to tp01.png, and [email protected] to tp02.png (with Photoshop).
These png textures are not important for us, they will be used only for preview in Blender.
Import .gltf model to Blender.
The texture mapping on face is wrong, but we will fix this.
upload_2020-5-21_12-3-28.png

Select the head object, and open UV Editing tab.
Enable UV Sync Selection:
upload_2020-5-21_12-5-29.png

Set pivot to 2D-cursor:
upload_2020-5-21_12-6-32.png

Select all texture coords (A) and scale, move it:
G > X > -0.3984375 (paste) ; this will move all coords to the left side
S > X > 0.8311688311688312 (paste) ; this will re-scale coords
G > X > 0.5 (paste) ; this will move all coords to the right side
If you did everything right, here's what you have:
upload_2020-5-21_12-9-26.png


Now we want to increase the polycount on head and hair objects.
Select the head object, open Edit mode.
Uncheck the "Auto-smooth" on right panel:
upload_2020-5-21_13-10-15.png

Go to Mesh > Clean-up > Merge by distance.
Go to Edge > Subdivide, select 2 steps (or 1; see notes at the end) and set smoothness factor to 1.0.
Then go to Mesh > Normals > Flip.

Do the same for hair object.

upload_2020-5-21_13-27-14.png


Step 4. Export to the game
Select all objects in the scene (press "A"), then press "Ctrl+A". Select "All Transforms".
Go to File > Export > glTF 2.0
In "Format" field, select "glTF Separate".
Give your model a name which will be used for the result model file (m228__10264.gltf). Export.
Then open OTools GUI. Select "Import to .O" operation, select "FIFA 07" in the "Game" combo-box. Select the exported .gltf file as input.
Add these options into "Additional options" box:
-head -sortByAlpha -writeFsh -pad 1048576
-writeFsh
- will generate FSH with used textures
-head - will tell to create needed textures for head model (t21..., t22...)
-sortByAlpha - will re-sort nodes and put nodes with transparency to the end of the list (to prevent transparency issues)
-pad 1048576 - will align the size of resulting .o file to 1 MB. This is needed to avoid problems with memory caching in the game
Press "Import" to process the operation.
As a result, you will have 3 files which you need to put into the game:
m228__*.o - the model
t21__*_0_0.fsh - face/body texture
t22__*_0.fsh - hair texture

Put these 3 files to data/assets folder.

Original model/New model
fifa07 11779 (2).png fifa07 11778 (2).png

In-game screens
fifa07 11781 (2).png fifa07 11780 (2).png

Further improvements
Face and hair textures still can be improved.

Important notes
If the resulting .o file is larger than 1 MB, try to use 1 step for subdivision instead of 2.
 
Last edited:

Nariman.D

Club Supporter
And if it possible share default faces with updated texture, in order to have opportunity to play game. Because I ve converted faces from you FM20 patch to FIFA08, but could not check it. So how can I check my faces? Should I transfer all faces that I have? It is almost impossible. But I would like to try new possibility that you gave us.(new faces). So you have updated textures of players please SHARE!
 


Top