This is an old revision of the document!
−Table of Contents
ArmA 2 Custom Face
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; };
PMCTODO :)
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", "" }; };