User Tools

Site Tools


arma2:config:custom_face

ArmA 2 Custom Face

ArmA 2 Forum, ArmA 2 Home, ArmA 2 Config, ArmA 2 File Formats, ArmA 2 Missions, ArmA 2 3D Modeling, ArmA 2 Scripting, ArmA 2 Terrain, ArmA 2 Texturing, ArmA 2 Tools

ArmA 2 Custom Face

This is how you add custom faces to your soldiers.

BIS CfgFaces config can be found on Dta\bin.pbo config.

class CfgFaces
{
	class Default
	{
		class Default
		{
			name = "";
			head = "";
			material = "";
			texture = "#(rgb,8,8,3)color(0.5,0.5,1,1)";
			east = 0;
			west = 0;
			identityTypes[] =
			{
				"Default"
			};
		};
 
		class Custom
		{
			name = "";
			head = "";
			material = "";
			texture = "#(rgb,8,8,3)color(1,1,1,1)";
			front = "#(rgb,8,8,3)color(1,1,1,1)";
			side = "#(rgb,8,8,3)color(1,1,1,1)";
			back = "#(rgb,8,8,3)color(1,1,1,1)";
			east = 0;
			west = 0;
			identityTypes[] = {};
		};
	};
};

And then more in the characters.pbo

class CfgFaces
{
	class Default
	{
		class Custom;
	};
 
	class Man : Default
	{
		class Default
		{
			name = $STR_CFG_FACES_DEFAULT;
			texture = "\ca\characters\hhl\hhl_46_CO.paa";
			head = "defaultHead";
			identityTypes[] = {};
			material = "\ca\characters\heads\male\defaulthead\data\hhl_white.rvmat";
		};
 
		class Custom : Custom
		{
			name = $STR_CFG_FACES_CUSTOM;
			texture = "#(argb,8,8,3)color(0.596,0.412,0.365,1)";
			head = "defaultHead";
			identityTypes[] = {};
			material = "\ca\characters\heads\male\defaulthead\data\hhl_white.rvmat";
		};
 
		class Face01 : Default
		{
			name = "$STR_FN_Man_Face01";
			texture = "\ca\characters\hhl\hhl_01_CO.paa";
			disabled = 0;
			identityTypes[] =
			{
				"Default",
				"",
				"",
				"Head_RU",
				"Head_RU_CO",
				"Head_CDF",
				"Head_CDF_CO",
				"Head_INS",
				"Head_GUE",
				"Head_CIV",
				""
			};
		};
 
		class Face01_camo1 : Face01
		{
			head = "defaultHead_camo1";
			name = "$STR_FN_Man_Face01_camo1";
			material = "\CA\characters\Heads\Male\DefaultHead\Data\Camo1_hhl.rvmat";
			disabled = 1;
			identityTypes[] =
			{
				"",
				"",
				"Head_RU_Camo",
				"Head_RU_CO_Camo",
				"Head_CDF_Camo",
				"Head_CDF_CO_Camo",
				"Head_INS_Camo",
				"Head_GUE_Camo"
			};
		};
 
		class Face01_camo2 : Face01_camo1
		{
			head = "defaultHead_camo2";
			name = "$STR_FN_Man_Face01_camo2";
			material = "\CA\characters\Heads\Male\DefaultHead\Data\Camo2_hhl.rvmat";
			disabled = 1;
		};

CfgFaces

ArmA 2 CfgFaces

Used in conjunction with setFace.

person SetFace "cfgFaces.ClassName"; // quotes required
 
this SetFace "Marylin";
soldier1 SetFace "Face33";

“Face01” to “Face107”.

A subset of 6 Camo faces are available for each of above.

The full set of class names for “face77” would be:

Face77, Face77_camo1, Face77_camo2, Face77_camo3, Face77_camo4, Face77_camo5 and Face77_camo6

Structure

class CfgFaces
{
	class Default; // held in engine's ca_bin
	class Man: Default
	{
		class Default; // held in ca_chars
		class FaceWhatever: Default
	{
		name = "$STR_Whatever"; // every class, different string name
		texture = "\some\texture\somewhere.paa"; // THE face for this
		head = defaultHead; //classname in cfgHeads
		material = "\some\rvmat\somewhere.rvmat";
		disabled = false; // always TRUE for inherited camo faces
	};
 
	class OneOfSixCamos: FaceWhatever
	{
		/* uses the same face texture (obviously) */
		disabled = true; // always
		name = "$STR_UniqueName";
		head = "alwaysOneOf6Classes"; // changes wounds
		material = "\AlwaysOneOfSix\Different\FacePaints.rvmat";
	}

One single head model is used for ALL faces. On which, a different base texture is applied for EVERY 'face'.

Separately, each of these faces have different face paint, and they, require a separate head class to reflect the different wound appearances.

ALL of the camo derivatives use one of six common face paints.

Specifying \root and .paa extension are essential.

head = inevitably leads to one, single, defaultp3d held in \ca\characters\man\defaulthead\defaulthead.p3d;

Subset themes

The above 107 faces are duplicated, class wise in black and green masks also a women models, and, a few face models for some special US soldiers.

Adding a Face

Camouflage subclasses are not required.

class CfgFaces
{
	class Default; // held in engine's ca_bin
	class Man: Default
	{
		class Default; // held in ca_chars
		class FaceWhatever: Default
		{
			disabled = false; // should be part of default, but was overlooked
 
			name = "$STR_Whatever";
			texture = "\some\texture\somewhere.paa"; // THE face for this
			identityTypes[] =
			{
				"Default",
				"Head_USMC",
				"Head_USMC_CO",
				"",
				"",
				"Head_CDF",
				"Head_CDF_CO",
				"",
				"Head_GUE",
				"Head_CIV",
				""
			};
		};

Example African (black) Faces

African black faces for characters

African names:

class CfgWorlds
{
	class GenericNames
	{
		class PMC_Somali_Names
		{
			class FirstNames
			{
				adalberto = "Adalberto";
				//etc
			};
			class LastNames
			{
				morales = "Morales";
				// etc

Face configs:

class CfgFaces
{
	class Man;
	class PMC_Somali_Faces: Man
	{
		class Default
		{
			name = "$STR_CFG_FACES_DEFAULT";
			texture = "\ca\characters\hhl\hhl_31_CO.paa";
			head = "BlackHead";
			identityTypes[] = {};
			material = "\ca\characters\heads\male\BlackHead\data\hhl_black.rvmat";
		};
		class Custom: Default
		{
			name = "$STR_CFG_FACES_CUSTOM";
			texture = "#(argb,8,8,3)color(0.596,0.412,0.365,1)";
			head = "BlackHead";
			identityTypes[] = {};
			material = "\ca\characters\heads\male\BlackHead\data\hhl_black.rvmat";
		};
		class Face26: Default
		{
			name = "$STR_FN_Man_Face26";
			texture = "\ca\characters\hhl\hhl_26_CO.paa";
			disabled = 0;
			identityTypes[] = {"Default","","","Head_USMC","Head_USMC_CO","Head_CDF","Head_CDF_CO","Head_INS","Head_GUE","Head_CIV",""};
		};
		class Face27: Default
		{
			name = "$STR_FN_Man_Face27";
			texture = "\ca\characters\hhl\hhl_27_CO.paa";
			disabled = 0;
			identityTypes[] = {"Default","","","Head_USMC","Head_USMC_CO","Head_CDF","Head_CDF_CO","Head_INS","Head_GUE","Head_CIV",""};
		};
		// etc

Then in character's class you make:

genericNames = "PMC_Somali_Names";
faceType = "PMC_Somali_Faces";
arma2/config/custom_face.txt · Last modified: 2024/08/01 17:02 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.