User Tools

Site Tools


arma3:config:stiltman-retexturing-tutorial

ArmA 3 Character Re-Texturing Tutorial

ArmA 3 Forum, ArmA 3, ArmA 3 Config, ArmA 3 Missions, ArmA 3 3D Modeling, ArmA 3 Scripting, ArmA 3 Terrain, ArmA 3 Texturing, ArmA 3 Tools

Basic Retexturing Tutorial of ArmA 3 Character by Stiltman

So, this will be a quick tutorial of how to get the retextures working. of course this also means you have some basic knowledge of how to extract the content of the arma 3 pbo files and making new pbo files and making configs with proper classnames. and the structure of a proper addon

Using Mikeros Eliteness would probably work best in my opinion.

the textures that would be used for these example items would be found in the characters_f.pbo and in the bluefor/data folder

Uniform = clothing1_co.paa
Vest = vests_rgr_co.paa
Helmet = equip1_co.paa

the basis is to add to the main class of the thing to retexture (if not already present)

hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"pathtoyouraddonretexturefile.paa"};

and seems that you only need one of them in the class iteminfo.

hiddenSelections[] = {"camo"};

Vests

so the basic vest config would be added to CfgWeapons

class V_PlateCarrier1_rgr : Vest_Base
{
	scope = 2;
	displayName = "Example Platecarrier";
	picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa";
	model = "\A3\Characters_F\BLUFOR\equip_b_vest02";
 
	class ItemInfo : VestItem
	{
		uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest02";
		containerClass = "Supply100"; //how much it can carry
		mass = 50; //how much it weights
		armor = 5*0.5;
		passThrough = 0.7;
	};

and adding the hidden selections it would be

class V_PlateCarrier1_rgr : Vest_Base
{
	scope = 2;
	displayName = "Example Platecarrier";
	picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa";
	model = "\A3\Characters_F\BLUFOR\equip_b_vest02";
	hiddenSelections[] = {"camo"};
	hiddenSelectionsTextures[] = {"pathtoyouraddonretexturefile.paa"};
 
	class ItemInfo : VestItem
	{
		uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest02";
		containerClass = "Supply100";
		mass = 50;
		armor = 5*0.5;
		passThrough = 0.7;
		hiddenSelections[] = {"camo"};
	};

Example of the full config:

class CfgPatches
{
	class example_vest_config
	{
		units[] = {};
		weapons[] = {};
		requiredVersion = 0.1;
		requiredAddons[] = {"A3_Characters_F_BLUFOR"};
	};
};
 
class cfgWeapons
{
	class Vest_Base;
	class VestItem;
 
	class example_PlateCarrier1_rgr : Vest_Base
	{
		scope = 2;
		displayName = "Example Platecarrier";
		picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa";
		model = "\A3\Characters_F\BLUFOR\equip_b_vest02";
		hiddenSelections[] = {"camo"};
		hiddenSelectionsTextures[] = {"pathtoyouraddonretexturefile.paa"};
 
		class ItemInfo : VestItem
		{
			uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest02";
			containerClass = "Supply100";
			mass = 50;
			armor = 5*0.5;
			passThrough = 0.7;
			hiddenSelections[] = {"camo"};
		};
	};
};

Helmet (once its working)

would look like this in the cfgweapons.

class H_HelmetB : ItemCore
{
	scope = 2;
	weaponPoolAvailable = 1;
	displayName = "Example Helmet";
	picture = "\A3\characters_f\Data\UI\icon_H_HelmetB_CA.paa";
	model = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic";
	hiddenSelections[] = {"camo"};
	hiddenSelectionsTextures[] = {"pathtoyouraddonretexturefile.paa"};
 
	class ItemInfo : HeadgearItem
	{
		mass = 100;
		uniformModel = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic";
		modelSides[] = {3, 1};
		armor = 3*0.5;
		passThrough = 0.8;
		hiddenSelections[] = {"camo"};
	};

Example of full config:

class CfgPatches
{
	class example_helmet_config
	{
		units[] = {};
		weapons[] = {};
		requiredVersion = 0.1;
		requiredAddons[] = {"A3_Characters_F_BLUFOR"};
	};
};
 
class cfgWeapons
{
	class ItemCore;
	class HeadgearItem;
 
	class example_HelmetB : ItemCore
	{
		scope = 2;
		weaponPoolAvailable = 1;
		displayName = "Example Helmet";
		picture = "\A3\characters_f\Data\UI\icon_H_HelmetB_CA.paa";
		model = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic";
		hiddenSelections[] = {"camo"};
		hiddenSelectionsTextures[] = {"pathtoyouraddonretexturefile.paa"};
 
		class ItemInfo : HeadgearItem
		{
			mass = 100;
			uniformModel = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic";
			modelSides[] = {3, 1};
			armor = 3*0.5;
			passThrough = 0.8;
			hiddenSelections[] = {"camo"};
		};
	};
};

Uniforms

Uniforms seem to be working a little bit diffrent from what i gather they are in fact soldiers and when switching uniform the game just switches class/model on your soldier. So one would have to make a new soldier aswell as a new item.

This example will put your soldier under bluefor as Uniform Test Soldier

for the soldier its in CfgVehicles.

class Example_Soldier_F : B_Soldier_base_F
{
	_generalMacro = "B_Soldier_F"; //unsure what this does
	scope = 2;
	displayName = "Uniform Test Soldier";
	uniformAccessories[] = {};
	nakedUniform = "U_BasicBody"; //class for "naked" body
	uniformClass = "Example_CombatUniform_mcam"; //the uniform item
	hiddenSelections[] = {"Camo"};
	hiddenSelectionsTextures[] = {"pathtoyouraddonretexturefile.paa"};

and then the uniform item linking it to the soldier class making it an item in the gear menu without this it works as regular arma 2 and it will show no uniform in gear.

class Example_CombatUniform_mcam : Uniform_Base
{
	scope = 2;
	displayName = "Example Mcam uniform";
	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_Soldier_F"; //would be same as our made soldier class
		containerClass = "Supply20"; //how much it can carry
		mass = 80; //how much it weights
	};

Example of full config:

class CfgPatches
{
	class example_uniform_config
	{
		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 = "Uniform Test Soldier";
		nakedUniform = "U_BasicBody"; //class for "naked" body
		uniformClass = "Example_CombatUniform_mcam"; //the uniform item
		hiddenSelections[] = {"Camo"};
		hiddenSelectionsTextures[] = {"pathtoyouraddonretexturefile.paa"};
	};
};
 
class cfgWeapons
{
	class Uniform_Base;
	class UniformItem;
 
	class Example_CombatUniform_mcam : Uniform_Base
	{
		scope = 2;
		displayName = "Example Mcam uniform";
		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_Soldier_F"; //would be same as our made soldier class
			containerClass = "Supply20"; //how much it can carry
			mass = 80; //how much it weights
		};
	};
};

And a full config with everything in it and all gear on the soldier. Testing this ingame though without texture will make all parts invicible :)

Full config:

class CfgPatches
{
	class example_retexture_config
	{
		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 = "Uniform Test Soldier";
		nakedUniform = "U_BasicBody"; //class for "naked" body
		uniformClass = "Example_CombatUniform_mcam"; //the uniform item
		hiddenSelections[] = {"Camo"};
		hiddenSelectionsTextures[] = {"pathtoyouraddonretexturefile.paa"};
 
		linkedItems[] = {"example_PlateCarrier1_rgr", "example_HelmetB", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
		respawnLinkedItems[] = {"example_PlateCarrier1_rgr", "example_HelmetB", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
	};
};
 
class cfgWeapons
{
	class Uniform_Base;
	class UniformItem;
 
	class Example_CombatUniform_mcam : Uniform_Base
	{
		scope = 2;
		displayName = "Example Mcam uniform";
		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_Soldier_F"; //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 example_HelmetB : ItemCore
	{
		scope = 2;
		weaponPoolAvailable = 1;
		displayName = "Example helmet";
		picture = "\A3\characters_f\Data\UI\icon_H_HelmetB_CA.paa";
		model = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic";
		hiddenSelections[] = {"camo"};
		hiddenSelectionsTextures[] = {"pathtoyouraddonretexturefile.paa"};
 
		class ItemInfo : HeadgearItem
		{
			mass = 100;
			uniformModel = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic";
			modelSides[] = {3, 1};
			armor = 3*0.5;
			passThrough = 0.8;
			hiddenSelections[] = {"camo"};
		};
	};
 
	class Vest_Base;
	class VestItem;
 
	class example_PlateCarrier1_rgr : Vest_Base
	{
		scope = 2;
		displayName = "Example Platecarrier";
		picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa";
		model = "\A3\Characters_F\BLUFOR\equip_b_vest02";
		hiddenSelections[] = {"camo"};
		hiddenSelectionsTextures[] = {"pathtoyouraddonretexturefile.paa"};
 
		class ItemInfo : VestItem
		{
			uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest02";
			containerClass = "Supply100";
			mass = 50;
			armor = 5*0.5;
			passThrough = 0.7;
			hiddenSelections[] = {"camo"};
		};
	};
};
arma3/config/stiltman-retexturing-tutorial.txt · Last modified: 2024/08/02 15:08 by snakeman

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

All PMC web site download services are temporarily suspended until web site yearly fees have been recovered, want to download addons/mods? Then Support PMC.

If you are grateful for all the work PMC has done in the past 25 years, use Support PMC page.