Pro Evolution Soccer 2016/Advanced Player Customization

From Rigged Wiki
Revision as of 16:45, 15 April 2016 by Test Pony (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
2016 4chanlogo.png
Pro Evolution Soccer 2016
Game
Rules
Info
Tools
Modding

While this page is basically done, there is a very big chance you can still run into problems. If you do please let it know so I can update this page accordingly to it. Or if you think something is missing or unclear.

Advanced Player Customization (from now on called APC) is the name given to the method that allows one to customize his players even further, albeit with some minor limitations. There are a lot of steps required to do this correctly as to not crash your game, but if done properly you can give your player custom skin colors, custom uniforms and even more complicated and cool Blenders. Depending on what exactly you want to do, this method can heavily rely on RigEx.

How this method exactly works is actually very easy: By adding more model entries in the face.xml, we can add as many objects to a player as we want. However, it is very sensitive and if you do not follow a few rules, the game might produce a different result than what you would expect. Because this method requires a face.xml, it can only be used for players that have a Blender.

The first section will explain how this method exactly works. The second section will give more explanation on doing it yourself. The last section will contain prefab templates for easy player modification. Right now the only download is one with body parts from which you can compile your own custom skin color so you won't have to deal with the most complex stuff for just a different skin color. The last section is the Extra Notes section, which contain things to do and not to do that did not really go anywhere before. Just like normal faces, APC is hard at first, but the more you do it the easier it gets and the faster it will go. The main Faces page has an example using APC.

Exact workings of APC

As explained in the introduction, APC simply works by adding more model entries in the face.xml (or face_edithair) file. Below is given an example of a normal face.xml in PES16. The <dif></dif> part has been shortened because it does not really matter for now.

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <model material="./face.mtl" path="./face_high_*.model" type="face_neck" level="0"/>
    <dif> RkFDRQUAAACrOZI/qzmSP6s5kj8AAAAAAAAAAAAAAAAAAAAAAAAAAAA etc. </dif>
</config>

A proper made face.xml with APC, in this case with only a custom skin color will look like this:

<config>
    <model level="0" type="face_neck" path="./face_high_*.model" material="./face.mtl"/>
    <model level="0" type="arm" path="./oral_arm_*.model" material="./apc.mtl"/>
    <model level="0" type="thigh_middle" path="./oral_thighmiddle_*.model" material="./apc.mtl"/>
    <model level="0" type="handL" path="./oral_lefthand_*.model" material="./apc.mtl"/>
    <model level="0" type="handR" path="./oral_righthand_*.model" material="./apc.mtl"/>
<dif> RkFDRQQAAADNzIw/zcyMP83MjD8AAAAAAACAPwAAAAAAAAAAAACAvwAAAA etc. </dif> 
</config>

For more information on .xml files, please read Setting up .model files#.xml file.

It is as simple as that, the game will now load all the files listed in the face.xml and attach it to that player. However, there are some limitations and rules you need to follow before it will work properly ingame, but this will be explained in the next section.

Getting APC to work yourself

This section will run through the setup of APC in several steps, please follow them all to make sure everything will be correct at the end.

1. Having a player Blender

The first step for APC is to have a player with a Blender. Without a Blender it is impossible to do APC, simple as that.

1.1. Unzlib the face(_edithair).xml

To edit the .xml file, it will need to be unzlibbed first. Just make sure that gets done first.

2. Get all the required files for the player

This can be any .model you want as long as you set it up properly later. Each entry requires the .model file, a .mtl file and the necessary textures. But multiple entries can share the same .mtl and texture files. For great ease we will always use an apc.mtl for all new entries in the face.xml.

2.1. Rename all the .model files

While this is not necessary step for normal gameplay, it will crash Edit Mode if you do not name the files properly. Why PES exactly does this I have no idea though, oral_ is the only prefix I found that does not crash Edit mode.

All .model files need a oral_ prefix and a _win32 suffix. So if you have an arm.model, rename it to oral_arm_win32.model.

3. Setting up the apc.mtl

To make sure all the new .model files will be properly textured you will need to set up the apc.mtl file first. You can add all entries for all the meshes to the apc.mtl if you want. Keep in mind that not all shaders work. Very soon a list of shaders that work will be added. For now just use Basic_C for head parts.

For more information on setting up the .mtl file, please read Setting up .model files#.mtl file.

4. Setting up the textures

Just make sure all the textures are .dds files and set up correctly (DXT1, 3 or 5).

5. Setting up the .xml file

For more information on setting up an .xml file, please read Setting up .model files#.xml file.

This is where stuff can get complex. The first thing you need to make sure is that each new entry looks like the following:

<model level="0" type="arm" path="./oral_arm_*.model" material="./apc.mtl"/>
  • The level is always 0, it means it will be used for high detailed situations. 1 will mean it's used for LOD situations (which is no longer an issue in PES16).
  • The path is the .model file that will be used.
  • The material is the .mtl file that will be used for the .model.

As you can see I skipped type, this is because type can be complex and cause several issues if not set up correctly and therefore will be explained with more detail below.

Type

Type actually does two things:

  1. Assign the part to a specific bone if the part has no skeleton. This is only for specific types.
  2. Use system determined textures. For example the arm type will use the DiffuseMap determined by the skin ID and overwrite everything else in the apc.mtl. This is usually in combination with a specific shader for each type.

Right now there are only 6 types which have a bone to which parts can be attached, all other types will just put the .model relative to the 0,0,0 of the player. These 6 types are:

  • head
  • neck
  • handL
  • handR
  • gloveL
  • gloveR

If you assign a part to the hand or glove type, the part will be attached to the bone of it. An extra note of these types is that parts with skeleton data that belong to these types, do need to have the correct type or the model will not work correctly. The head and neck type attach the .model without skeleton data to the exact same bone. This is also the bone used for parts exported with RigEx that have been transformed to be used as a head part. So if you have to attach a part from RigEx to the head, use the head type. It will cause the part to move with the head, so if you want a part that (also) moves with the chest, you're out of luck.

There are many other types (that in combination with a specific shader) can use system determined textures. If this happens try a different shader for the part or switch the type. parts is a perfect neutral type. However, you can also use this to your advantage to have the game use the same texture for your part as for your kit for example.

Almost all types can be found in the .xml files in dt32.cpk.

6. Turn the face folder into a .cpk and test

When you have done all the steps above, just convert the face folder into a proper .cpk for testing and see if the end result is something you like.

Prefab templates

This section contains prefab templates to make APC easier for your player. Right now the only prefab template available is for skin colors.

Custom skin color template

Below is the download for custom skin color template.

Download for custom skin colors: https://drive.google.com/file/d/0B0TwHGHvKz8TZXAydnpzV01kYUE/view?usp=sharing

You have to take the correct .model from each folder and put them in your face folder. Also copy the apc.mtl and all the textures. Then change the skin color to the skin color you need. Then update the face.xml in your face folder with the correct lines from the .txt file. You might have to go ingame to update the player appearances yourself to make sure that the player is set up correctly (as well that the skin ID is 7). The current template does not allow player gloves, but in the future this might be added. Players with long sleeves don't need an arms .model.

In the future more prefab templates might be added here.

Extra (Important) Notes

  • Considering it is possible to do so much with this, there are a lot of things not explained on this. So if you want something that is not explained here, you will have to try and get it working yourself.
  • Right now it is not possible to give individual players a specific uniform without too many issues, when it gets solved it will be added to this page.
  • Adding a part to a player that he already has will not overwrite it, but instead load both. So if you give your player custom skin colors, the player will actually have 4 arms, 4 legs and 4 hands.
  • If you have a .model file that has original PES skeleton data, it does not specifically need the correct type to work correctly. Only gloves and hands do.
  • In combination with RigEx, you can modify existing body and uniform parts and apply them to your player as well. This means that if you want you can give breasts to individual players if you make the .model for example.
  • When using custom skin colors (or custom kit), you can not use season specific kit settings either. This means that if you have the arms for short sleeves, you cannot ever use long sleeves or season specific sleeves again for that player without issues.