Jump to content
Amit

[Tutorial] Simple Re-texturing Guide (From Start To Finish)

Recommended Posts

I'm having troubles trying to simply retexture a uniform.

For example (cant post links or images) I have tried to retexture the blufor clothing1_co but when loaded into the game it has pieces of the clothing all over the character (Like the gloves on the stomach and the shoulder's some where random).

How do i determine where the clothing pieces in the image actually go on the character in-game? I've followed a few different tutorials including this one and i keep getting the same result.

Thanks.

Share this post


Link to post
Share on other sites
I'm having troubles trying to simply retexture a uniform.

For example (cant post links or images) I have tried to retexture the blufor clothing1_co but when loaded into the game it has pieces of the clothing all over the character (Like the gloves on the stomach and the shoulder's some where random).

How do i determine where the clothing pieces in the image actually go on the character in-game? I've followed a few different tutorials including this one and i keep getting the same result.

Thanks.

Are you using the correct model (b_soldier_01.p3d) for the texture?

Share this post


Link to post
Share on other sites

I assume there is no way to use your updated texture with an updated normal map? For instance adding patches to flight suits

Share this post


Link to post
Share on other sites
Is there any way how i could have that logo just on one side of the chopper ?

No, that's just how that specific vehicle works. The artists like efficiency and for their purposes, mirroring the texture to the other side works perfectly. Now if we were allowed to obtain and use unbinarized versions of the model, I believe we would be able to define another area for a separate texture to be mapped onto the model. However, that is not possible at this time unless you make your own model or use an existing unbinarized model.

This is my .paa view: http://i.imgur.com/oMvpeuS.jpg

My in-game result: http://i.imgur.com/iBPcKPJ.jpg

my config: http://pastebin.com/v2k93WD2

I'm using the .paa at "\Arma 3\Addons\characters_f\a3\characters_f\BLUFOR\Data\clothing1_co.paa" Am i missing something?

Your problem is that the texture is incorrectly rotated 90 degrees counter-clockwise. Open it in your editing program, rotate it 90 degress clockwise and then export it again. That will fix the issue.

Edited by Amit
Screwed up the spelling of "degrees" D:

Share this post


Link to post
Share on other sites
I assume there is no way to use your updated texture with an updated normal map? For instance adding patches to flight suits

Hmm, i'm not sure i understand? What is the proper way to update/change a texture?

I have followed Scarecrows,

and this retexturing tutorial; all ending with the same result :( am i missing something important?

Thanks. :)

Edit:

Your problem is that the texture is incorrectly rotated 90 degress counter-clockwise. Open it in your editing program, rotate it 90 degress clockwise and then export it again. That will fix the issue.

Wow... That fixed the issue :) Thanks so much for your help.

Edited by FusSionzZ97
  • Like 1

Share this post


Link to post
Share on other sites
Hmm, i'm not sure i understand? What is the proper way to update/change a texture?

I have followed Scarecrows,

and this retexturing tutorial; all ending with the same result :( am i missing something important?

Thanks. :)

Have you made it to the point in this guide where you use hidden selections in the editor to verify that your texture was created successfully?

Share this post


Link to post
Share on other sites
I assume there is no way to use your updated texture with an updated normal map? For instance adding patches to flight suits

You can do it using hiddenSelectionsMaterials/setObjectMaterial but you will lose the wound textures.

Share this post


Link to post
Share on other sites

I'm a complete noob in these and I've been trying to create a retexture from the AAF Officer. I've done the retexture and config.cpp and succesfully converted all into a pbo but in game it shows the default textures. I´ve tried every thing I know but still doesnt work. Please Help!!!

Here is my config.cpp

enum {
    //  = 2,    // Error parsing: Empty enum name
   DESTRUCTENGINE = 2,
   DESTRUCTDEFAULT = 6,
   DESTRUCTWRECK = 7,
   DESTRUCTTREE = 3,
   DESTRUCTTENT = 4,
   STABILIZEDINAXISX = 1,
   STABILIZEDINAXESXYZ = 4,
   STABILIZEDINAXISY = 2,
   STABILIZEDINAXESBOTH = 3,
   DESTRUCTNO = 0,
   STABILIZEDINAXESNONE = 0,
   DESTRUCTMAN = 5,
   DESTRUCTBUILDING = 1,
};

class CfgPatches {
   class NAF_Officer {
       units[] = {};
       weapons[] = {};
       requiredVersion = 0.1;
       requiredAddons[] = {"A3_Characters_F_BLUFOR", "A3_Characters_F_Common", "A3_Characters_F_Indep", "A3_Characters_F_epa", "A3_Characters_F"};
   };
};

class CfgVehicles {

   class I_Soldier_base_F;

   class Example_Officer_F : I_Soldier_base_F 
   {
side = 1; //Blufor
       faction = "BLU_F"; //Your Faction
       author = "Tanny"; 
       _generalMacro = "I_officer_F"; //unsure what this does
       scope = 2;
displayName = "NATO Captain";
weapons[] = {"Throw","Put"}; 
       respawnWeapons[] = {"Throw","Put"}; 
       magazines[] = {};
       respawnMagazines[] = {};
       cost = 300000;
       threat[] = {1,0.7,0.3};
       linkedItems[] = {"ItemMap","ItemCompass","ItemWatch","ItemRadio"};
       respawnLinkedItems[] = {"ItemMap","ItemCompass","ItemWatch","ItemRadio"};
       model = "\a3\characters_f_beta\indep\ia_officer";
camouflage = 1.6;
       nakedUniform = "U_BasicBody"; //class for "naked" body
       uniformClass = "U_NAF_Officer_2"; //e.g. "Example_Soldier_F"
       hiddenSelections[] = {"Camo"};
       hiddenSelectionsTextures[] = {"\NAF_Officer\data\naf_officer_uniform_2.paa"};
   };

};

class cfgWeapons {
   class Uniform_Base;
   class UniformItem;

   class U_NAF_Officer_2 : Uniform_Base 
   {
       scope = 2;
       displayName = "Officer Uniform NATO";
       picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_ca.paa";
       model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";

       class ItemInfo : UniformItem 
{
           uniformModel = "-";
           uniformClass = "Example_Officer_F"; //would be same as our made soldier class
           containerClass = "Supply10"; //how much it can carry
           mass = 10; //how much it weights
       };
   };
};

Share this post


Link to post
Share on other sites

It should be hiddenSelections[] = {"Camo1", "Camo2"}; you then need two textures in hiddenSelectionsTextures[] = {"texture_1","texture_2"};

Share this post


Link to post
Share on other sites

Thanks for this great Tutorial !! :)

Share this post


Link to post
Share on other sites
It should be hiddenSelections[] = {"Camo1", "Camo2"}; you then need two textures in hiddenSelectionsTextures[] = {"texture_1","texture_2"};

Thanks surpher.. I will test it right now.. But how do I know, for further retextures, wich ones use "camo 1", "camo 2", and wich ones dont

EDIT:

I'm still getting the AAF default textures in game.. I´ve updated my config and put "camo 1","camo 2" but I dont understand what second texture I have to put

Edited by Tannerson

Share this post


Link to post
Share on other sites

Texures from the model are.

\a3\characters_f_beta\indep\data\ia_soldier_01_clothing_co.paa

\a3\characters_f_beta\indep\data\officer_spc_co.paa

Rename your textures correctly, it may fix the problem, your config looks fine.

ArmA: Texture Naming Rules

Share this post


Link to post
Share on other sites

Thanks surpher you are being of great help. but there must be something Im doing wrong cause still shows up the default textures

Edit:

Must be a problem with the textures I will check that now

I give up.. It's impossible I re check everything and still nothing.. I dont understand because I've already retexture a lot of other uniforms, but this one is impossible.. Thank you surpher for all your help and time

Edited by Tannerson

Share this post


Link to post
Share on other sites

You could try inheriting from the B_Soldier_base_F class instead of the I_Soldier_base_F class.

Share this post


Link to post
Share on other sites

Edit: Never mind the issue has been solved :)

Thanks.

Edited by FusSionzZ97

Share this post


Link to post
Share on other sites
I´ve tried that but nothing seems to work

In the in-game config viewer are the hiddenSelectionsTextures paths correct for your unit (Example_Officer_F)

Share this post


Link to post
Share on other sites

Why are some textures not able to be overwritten? For example the Tempest or Press Skins are not overwriteable. It doesn't change it's skin. I've already heard about hiddenSelections &/|| hiddenTextures but i didn't find any solution yet.

Share this post


Link to post
Share on other sites

so please guys of BIS... add this stuff on your next update... ^^

Share this post


Link to post
Share on other sites

hello im trying to add a unidorm but whne i try to use binpbo it says there is an error in the config.cpp

enum {

// = 2, // Error parsing: Empty enum name

DESTRUCTENGINE = 2,

DESTRUCTDEFAULT = 6,

DESTRUCTWRECK = 7,

DESTRUCTTREE = 3,

DESTRUCTTENT = 4,

STABILIZEDINAXISX = 1,

STABILIZEDINAXESXYZ = 4,

STABILIZEDINAXISY = 2,

STABILIZEDINAXESBOTH = 3,

DESTRUCTNO = 0,

STABILIZEDINAXESNONE = 0,

DESTRUCTMAN = 5,

DESTRUCTBUILDING = 1,

};

class CfgPatches {

class {officer_ghillie} {

units[] = {};

weapons[] = {};

requiredVersion = 0.1;

requiredAddons[] = {"A3_Characters_F_BLUFOR"};

};

};

class CfgVehicles {

class B_Soldier_base_F;

class Example_Soldier_F : B_Soldier_base_F {

_generalMacro = "B_Soldier_F"; //unsure what this does

scope = 2;

displayName = "{customghillieO}";

nakedUniform = "U_BasicBody"; //class for "naked" body

uniformClass = "{test_ghillie}"; //e.g. "Example_Soldier_F"

hiddenSelections[] = {"Camo"};

hiddenSelectionsTextures[] = {"{E:\Users\Jeanpeter\Desktop\my_projects\officerghilli\data}"};

};

};

class cfgWeapons {

class Uniform_Base;

class UniformItem;

class {test_ghillie} : Uniform_Base {

scope = 2;

displayName = "{customghillie}";

picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_ca.paa";

model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";

class ItemInfo : UniformItem {

uniformModel = "-";

uniformClass = "test_ghillie"; //would be same as our made soldier class

containerClass = "Supply20"; //how much it can carry

mass = 80; //how much it weights

};

};

};

Share this post


Link to post
Share on other sites

You have bracket around some of your classnames, and your uniform is not linked to your unit correctly. Also your texture path is all wrong, it should start with the name of the folder you are packing and you need a texture.

class CfgPatches
{
class deadlyfudger_officer_ghillie
{
	units[] = {};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {"A3_Characters_F", "A3_Characters_F_BLUFOR"};
};
};

class CfgVehicles
{
class B_Soldier_base_F;

class deadlyfudger_Soldier_F : B_Soldier_base_F
{
	author = "deadlyfudger";
	_generalMacro = "B_Soldier_F"; 
	scope = 2;
	displayName = "customghillieO";
	uniformClass = "deadlyfudger_test_ghillie"; 
	hiddenSelections[] = {"Camo"};
	hiddenSelectionsTextures[] = {"\officerg_hilli\data\texture_co.paa"}; // File path should look more like this.
};
};

class CfgWeapons
{
class Uniform_Base;
class UniformItem;
class ItemInfo;

class deadlyfudger_test_ghillie : Uniform_Base
{
	scope = 2;
	author = "deadlyfudger";
	displayName = "customghillie";
	picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_m cam_ca.paa";
	model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor _diver";
	class ItemInfo : UniformItem
	{
		uniformModel = "-";
		uniformClass = "deadlyfudger_Soldier_F"; // Points to unit wearing the uniform.
		containerClass = "Supply20";
		mass = 80;
	};
};
}; 

Share this post


Link to post
Share on other sites

This is what i have now and in the editor the new class spawns but i get this error:Error: cannot load texture want_to_be_mod_file/data/inde_combat_fatiges.paa

This is new code:

enum {

// = 2, // Error parsing: Empty enum name

DESTRUCTENGINE = 2,

DESTRUCTDEFAULT = 6,

DESTRUCTWRECK = 7,

DESTRUCTTREE = 3,

DESTRUCTTENT = 4,

STABILIZEDINAXISX = 1,

STABILIZEDINAXESXYZ = 4,

STABILIZEDINAXISY = 2,

STABILIZEDINAXESBOTH = 3,

DESTRUCTNO = 0,

STABILIZEDINAXESNONE = 0,

DESTRUCTMAN = 5,

DESTRUCTBUILDING = 1,

};

class CfgPatches {

class Want_To_Be_Mod_File {

units[] = {};

weapons[] = {};

requiredVersion = 0.1;

requiredAddons[] = {"A3_Characters_F_BLUFOR"};

};

};

class CfgVehicles {

class B_Soldier_base_F;

class INDE_Combat_Fatiges : B_Soldier_base_F {

_generalMacro = "B_Soldier_F"; //unsure what this does

scope = 2;

displayName = "Uniform Test Soldier";

nakedUniform = "U_BasicBody"; //class for "naked" body

uniformClass = "INDE_Combat_Fatiges"; //the uniform item

hiddenSelections[] = {"Camo"};

hiddenSelectionsTextures[] = {"Want_to_be_mod_file\data\INDE_Combat_Fatiges"};

linkedItems[] = {"INDE_Vest", "INDE_Combat_Fatiges", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};

respawnLinkedItems[] = {"INDE_VEST", "INDE_Combat_Fatiges", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};

};

};

class cfgWeapons {

class Uniform_Base;

class UniformItem;

class INDE_Combat_Fatiges : Uniform_Base {

scope = 2;

displayName = "INDE_Combat_Fatiges";

picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_ca.paa";

model = "C:\Program Files (x86)\Steam\SteamApps\common\Arma3\Addons\Want_To_Be_Mod_File\data\INDE_Combat_Fatiges.paa";

hiddenSelections[] = {"Camo"};

hiddenSelectionsTextures[] = {"Want_to_be_mod_file\data\INDE_Combat_Fatiges.paa"};

class ItemInfo : UniformItem {

uniformModel = "-";

uniformClass = "INDE_Combat_Fatiges"; //would be same as our made soldier class

containerClass = "Supply20"; //how much it can carry

mass = 80; //how much it weights

};

};

class ItemCore;

class HeadgearItem;

class Pilot_helmet : ItemCore {

scope = 2;

weaponPoolAvailable = 1;

displayName = "Example helmet";

picture = "\A3\characters_f\Data\UI\icon_H_HelmetB_CA.paa";

model = "C:\Program Files (x86)\Steam\SteamApps\common\Arma 3\Addons\Want To Be Mod File\data\Pilot_helmet";

hiddenSelections[] = {"camo"};

hiddenSelectionsTextures[] = {"Want_to_be_mod_file\data\Pilot_helmet"};

class ItemInfo : HeadgearItem {

mass = 100;

uniformModel = "C:\Program Files (x86)\Steam\SteamApps\common\Arma 3\Addons\Want To Be Mod File\data\Pilot_helmet";

modelSides[] = {3, 1};

armor = 3*0.5;

passThrough = 0.8;

hiddenSelections[] = {"camo"};

};

};

class Vest_Base;

class VestItem;

class INDE_Vest : Vest_Base {

scope = 2;

displayName = "Example Platecarrier";

picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa";

model = "C:\Program Files (x86)\Steam\SteamApps\common\Arma 3\Addons\Want To Be Mod File\data\INDE_Vest";

hiddenSelections[] = {"camo"};

hiddenSelectionsTextures[] = {"Want_to_be_mod_file\data\INDE_Vest"};

class ItemInfo : VestItem {

uniformModel = "C:\Program Files (x86)\Steam\SteamApps\common\Arma 3\Addons\Want To Be Mod File\data\INDE_Vest";

containerClass = "Supply100";

mass = 50;

armor = 5*0.5;

passThrough = 0.7;

hiddenSelections[] = {"camo"};

};

};

};

Share this post


Link to post
Share on other sites

You can remove the enum {} block its useless. To avoid confusion don't have the same classname for units and uniforms. You don't add uniforms to a unit by adding them to linkedItems[] and respawnLinkedItems[], thats what uniformClass is for.

For some reason in your uniform class you have changed the model for a texture, change it back to what it was. same goes for other model settings you have changed in the headgear and vest classes. Remove hiddenSelections[] and hiddenSelectionsTextures[] lines from your uniform class, they belong in your unit class. Vest_Base should be Vest_Camo_Base.

Name your textures correctly - ArmA: Texture Naming Rules

class CfgPatches
{
class Want_To_Be_Mod_File
{
	units[] = {};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {"A3_Characters_F_BLUFOR", "A3_Characters_F_BLUFOR"};
};
};

class CfgVehicles
{
class B_Soldier_base_F;

class INDE_Combat_Soldier : B_Soldier_base_F
{
	_generalMacro = "B_Soldier_F";
	scope = 2;
	displayName = "Uniform Test Soldier";
	uniformClass = "INDE_Combat_Fatiges";
	hiddenSelections[] = {"Camo"};
	hiddenSelectionsTextures[] = {"\Want_to_be_mod_file\data\INDE_Combat_Fatiges_co.paa"}; // Name your textures correctly & use extension (.paa).
	linkedItems[] = {"INDE_Vest", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
	respawnLinkedItems[] = {"INDE_VEST", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
};
};

class CfgWeapons
{
class Uniform_Base;
class UniformItem;
class ItemInfo;

class INDE_Combat_Fatiges : Uniform_Base
{
	scope = 2;
	displayName = "INDE_Combat_Fatiges";
	picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_ca.paa";
	model = "C:\Program Files (x86)\Steam\SteamApps\common\Arma3\Addons\Want_To_ Be_Mod_File\data\INDE_Combat_Fatiges.paa"; // Change it back to what it was.
	class ItemInfo : UniformItem
	{
		uniformModel = "-";
		uniformClass = "INDE_Combat_Soldier"; 
		containerClass = "Supply20";
		mass = 80;
	};
};

class ItemCore;
class HeadgearItem;

class Pilot_helmet : ItemCore
{
	scope = 2;
	weaponPoolAvailable = 1;
	displayName = "Example helmet";
	picture = "\A3\characters_f\Data\UI\icon_H_HelmetB_CA.paa";
	model = "C:\Program Files (x86)\Steam\SteamApps\common\Arma 3\Addons\Want To Be Mod File\data\Pilot_helmet"; // Change it back to what it was.
	hiddenSelections[] = {"camo"};
	hiddenSelectionsTextures[] = {"\Want_to_be_mod_file\data\Pilot_helmet_co.paa"}; // Name your textures correctly & use extension (.paa).
	class ItemInfo : HeadgearItem
	{
		mass = 100;
		uniformModel = "C:\Program Files (x86)\Steam\SteamApps\common\Arma 3\Addons\Want To Be Mod File\data\Pilot_helmet"; // Change it back to what it was.
		modelSides[] = {3, 1};
		armor = 3*0.5;
		passThrough = 0.8;
		hiddenSelections[] = {"camo"};
	};
};

class Vest_Camo_Base;
class VestItem;

class INDE_Vest : Vest_Camo_Base
{
	scope = 2;
	displayName = "Example Platecarrier";
	picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa";
	model = "C:\Program Files (x86)\Steam\SteamApps\common\Arma 3\Addons\Want To Be Mod File\data\INDE_Vest"; // Change it back to what it was.
	hiddenSelections[] = {"camo"};
	hiddenSelectionsTextures[] = {"\Want_to_be_mod_file\data\INDE_Vest_co.paa"}; // Name your textures correctly & use extension (.paa).
	class ItemInfo : VestItem
	{
		uniformModel = "C:\Program Files (x86)\Steam\SteamApps\common\Arma 3\Addons\Want To Be Mod File\data\INDE_Vest"; // Change it back to what it was.
		containerClass = "Supply100";
		mass = 50;
		armor = 5*0.5;
		passThrough = 0.7;
		hiddenSelections[] = {"camo"};
	};
};
};

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×