Jump to content
Sign in to follow this  
Pomi Git

ARMA 3 Underwear modding guidelines

Recommended Posts

I received a request for help on how to get re-textured underwear into the game and I decided it might be worth me sharing my response publicly to help others. So here it is.

Firstly there is already a good guide by stiltman here on how to do config files for uniform retexture's. What I have written here is really an extension to that and specific to underwear.

Configuring uniforms of any kind in Arma 3 can certainly be confusing and it took a fair amount of time, a lot of trial and error and the odd moment of despair for me to learn. So if you're struggling, you can be assured you are not alone.

There are a few fundamental things you need to understand to make them work:

  1. uniforms are not placed over a base model like head gear and vests, they are if you will a character in themselves. When you change clothes you are in fact changing the model.
  2. in game underwear behave the same as other uniforms with one exception, you have no inventory option to remove them.
  3. underwear have a unique set up in the config file, they effectively require three classes. One within cfgweapons which acts as the underwear itself, and two within cfgvehicles. The first in cfgvehicles acts as the in game character you see walking around in undies. The second is the character that wears them underneath his main uniform (who also needs his own uniform class, so I guess thats four really :confused:).
  4. the underwear uniform class and corresponding underwear character class must be linked together. Without these links your underwear will not work :(. Within both you need a parameter called "uniformClass" where you specify the corresponding class name. So the underwear uniform class would specify the name of your underwear character class and the underwear character class would specify the underwear uniform class.
  5. If you dont want your underwear character to appear as a select-able soldier in the editor then you need to set the parameter "scope" to "= 1". = 1 means its private and cannot be directly used in game. = 2 is basically the opposite and is what your standard in game character uses.
  6. To then use the underwear with your fully clothed character you need to set the parameter "Nakeduniform" to equal the name of your underwear (the one you specified in cfgweapons).

Below is a sample config file for what you should end up with.

#define _ARMA_

//ndefs=14
enum {
OrdinalEnum = 2,
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 YOURMOD
{
	units[] = {};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {};
	version = 0.1;
};
};
class UniformSlotInfo
{
slotType = 0;
linkProxy = "-";
};
class cfgWeapons
{
	class Uniform_Base;//External Reference
	class UniformItem;//External Reference
	class U_Example_BasicBody: Uniform_Base //Your underwear class
	{
		scope = 2;
		displayName = "U_Example_BasicBody";
		picture = "\A3\characters_f\data\ui\icon_U_BasicBody_ca.paa";
		model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
		class ItemInfo: UniformItem
		{
			uniformModel = "-";
			uniformClass = "Underwear_Character_Example"; //Your example underwear character
			containerClass = "Supply0";
			mass = 1;
		};
	};

	class Example_CombatUniform_mcam : Uniform_Base  //The uniform class for fully clothed soldier
	{
		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 CfgVehicles
{
	class B_Soldier_base_F; //External reference
	class Underwear_Character_Example: O_Soldier_base_F //The soldier who appears wearing your underwear class
	{
		scope = 1;//1 = private and ensures it doesnt list as a character in the editor
		displayName = "Example Underwear Character";
		model = "\A3\Characters_F\Common\basicbody";
		uniformClass = "U_Example_BasicBody"; //Your underwear class in cfgweapons
		weapons[] = {};
		magazines[] = {};
		respawnWeapons[] = {};
		respawnMagazines[] = {};
		items[] = {};
		linkeditems[] = {};
		respawnlinkeditems[] = {};
		hiddenSelections[] = {"camo"};
		hiddenSelectionsTextures[] = {"YOURMOD\Data\basicbody_example_co.paa"};
		class Wounds
		{
			tex[] = {};
			mat[] = {"A3\Characters_F\Common\Data\basicbody.rvmat","A3\Characters_F\Common\Data\basicbody_injury.rvmat","A3\Characters_F\Common\Data\basicbody_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_old.rvmat","A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat"};
		};
	};
	class Example_Soldier_F : B_Soldier_base_F // The soldier who appears fully clothed but wears the underwear under his uniform
	{
		_generalMacro = "B_Soldier_F";
		scope = 2;
		displayName = "Uniform Test Soldier";
		nakedUniform = "U_Example_BasicBody"; //Your underwear class
		uniformClass = "Example_CombatUniform_mcam";
		hiddenSelections[] = {"Camo"};
		hiddenSelectionsTextures[] = {"pathtoyouraddonretexturefile.paa"};
	};

};
};

Edited by pomigit
Added some additional notes to config file

Share this post


Link to post
Share on other sites

:) Thanks for this! I was going to figure it out myself, but now I don't have to.

Abs

Share this post


Link to post
Share on other sites

is it feasible to create an invisible "underwear?" I don't mean to sound like a pervert, or to turn ArmA into a pornographic game....my intention is just to make a soldier with no shirt.....God this is sounding gay! I need a soldier with the ability to make it look as if he's got a bandage on the skin layer, and not on a t-shirt.

Share this post


Link to post
Share on other sites
is it feasible to create an invisible "underwear?" I don't mean to sound like a pervert, or to turn ArmA into a pornographic game....my intention is just to make a soldier with no shirt.....God this is sounding gay! I need a soldier with the ability to make it look as if he's got a bandage on the skin layer, and not on a t-shirt.

I gotcha ;) but hey nothing wrong if you are. Each to their own.

Yeah you could probably do that. You would need to replace the normal map with your own which replaces the t-shirt bump map detail with a nice ripped naked male torso and likewise in a texture. You then need to create a custom RVMAT to use the normal map. In the config you would need to use hiddenSelectionsMaterials to use your custom RVMAT.

EDIT: Thinking about it more, the only problem you would have is with matching your custom torso skin colour to the characters head, arms and legs skin colour. So you will have to either create a version for each skin colour variant and come up with some way to match them when the character is generated or create one version and restrict the character to use only use the matching head, arms and legs skin colour.

Edited by pomigit

Share this post


Link to post
Share on other sites

It wouldn't work the way you want it to. Every piece of clothing is a model that's swapped out when you change your uniform...so the underwear is actually a model of a unit in underwear with nothing underneath it. Setting the underwear to an invisible texture would only make him invisible. You would have to actually create a model of the torso...and yea, I wouldn't know how to make the custom skin (face, hands) match your cutom torso.

Abs

Share this post


Link to post
Share on other sites
is it feasible to create an invisible "underwear?" I don't mean to sound like a pervert, or to turn ArmA into a pornographic game....my intention is just to make a soldier with no shirt.....God this is sounding gay! I need a soldier with the ability to make it look as if he's got a bandage on the skin layer, and not on a t-shirt.

Tried to tell you that in the character modding thread where you mentioned changing the uniform. Unfortunately, it's the same way. :( So currently, there is no real solution. What you could try to do (if you're up for modeling) is making a vest that is a bunch of bandages. But either way, you'd have to make a new model if you wanted what you're looking for.

Share this post


Link to post
Share on other sites
Tried to tell you that in the character modding thread where you mentioned changing the uniform. Unfortunately, it's the same way. :( So currently, there is no real solution. What you could try to do (if you're up for modeling) is making a vest that is a bunch of bandages. But either way, you'd have to make a new model if you wanted what you're looking for.

Bandage on a chest would surely be better served as a normal map + texture as opposed to a separate model used as a vest. What i wrote in response would work albeit with the overhead of having to manage matching skin. But you will have that problem even if you created a new naked body model.

EDIT: @'Raptor 6 Actual' I just read your post on the character modding thread and I can see where antoineflemming is coming from. It sounds like you were/are still looking for some way to strip back certain parts of a soldiers clothing to access wounds. If this is the case the underwear model will not give you what you want and as abs has said (and as is highlighted in my guidelines) uniforms are not literally worn over the soldiers underwear body model. They are separate models. So you will need to make a model with these features.

If you want see a soldier in his undies, topless with a bandage round his torso then what i described in my response will work

Edited by pomigit

Share this post


Link to post
Share on other sites
Tried to tell you that in the character modding thread where you mentioned changing the uniform. Unfortunately, it's the same way. :( So currently, there is no real solution. What you could try to do (if you're up for modeling) is making a vest that is a bunch of bandages. But either way, you'd have to make a new model if you wanted what you're looking for.

Yeah, I understood you mate. I think Pomigit and Abs relayed the info I was thinking in the way of actually texturing the torso to look like it was unclothed. As they said though, it'd be difficult to match the skin tone, plus, add in the fact that I would need to do this for every possible soldier ingame from now until eternity....but it's something I can look into.

Thanks guys

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×