Jump to content
Sign in to follow this  
antoineflemming

Looking for detailed tutorial on creating headgear, vests, and eyewear

Recommended Posts

Hi. I'm looking for a detailed tutorial on how to get custom headgear, vests, and eyewear in-game. I've been having difficulty getting a custom helmet in-game, and I really haven't seen an in-depth explanation on how to get this ingame. Basically, it's headgear that was working in Arma 2, and I'm trying to get it into Arma 3. However, I'm using the A3 headgear template, and the helmet always is positioned at the waist of the character, and doesn't move with the head. I'm not sure what I'm doing wrong. If there's anyone who's gotten helmets to work (I know there are plenty), could you please just post a sort of walkthrough of the steps you took to get your helmet model in-game (from importing into O2 to getting it working in-game). Thanks.

Note: I would have posted this in an existing thread, but there is none for general modelling questions...

Share this post


Link to post
Share on other sites

Taken from http://forums.bistudio.com/showthread.php?148130-Arma3-Characters-Modding-Tutorial

Ok, so quick and basic tutorial of how i did it.

First of set up your addon, if you use your own layout or whatever

setup.jpg

setup the config file to your needs, and the model config as taken from the arma 2 sample soldier model for instance.

Config.cpp (download)

enum {

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 My_Helmet {

units[] = {};

weapons[] = {};

requiredVersion = 0.1;

requiredAddons[] = {};

};

};

class cfgWeapons {

class ItemCore; // External class reference

class InventoryItem_Base_F; // External class reference

class HeadgearItem;

class My_new_helmet : ItemCore {

scope = 2;

weaponPoolAvailable = 1;

displayName = "Superawesome Helmet";

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

model = "\my_helmet\headgear_b_myhelmet";

class ItemInfo : HeadgearItem {

mass = 100;

uniformModel = "\my_helmet\headgear_b_myhelmet";

modelSides[] = {3, 1};

armor = 3*0.5;

passThrough = 0.8;

};

};

};

model.cfg updated with arma 3 model.cfg

class CfgSkeletons

{

class Default

{

isDiscrete = 1;

skeletonInherit = "";

skeletonBones[] = {};

};

class OFP2_ManSkeleton

{

isDiscrete = 0;

skeletonInherit = "";

skeletonBones[] =

{

"Pelvis","",

"Spine","Pelvis",

"Spine1","Spine",

"Spine2","Spine1",

"Spine3","Spine2",

"Camera","Pelvis",

"weapon","Spine1",

"launcher","Spine1",

//Head skeleton in hierarchy

"neck","Spine3",

"neck1","neck",

"head","neck1",

//New facial features

"Face_Hub","head",

"Face_Jawbone","Face_Hub",

"Face_Jowl","Face_Jawbone",

"Face_chopRight","Face_Jawbone",

"Face_chopLeft","Face_Jawbone",

"Face_LipLowerMiddle","Face_Jawbone",

"Face_LipLowerLeft","Face_Jawbone",

"Face_LipLowerRight","Face_Jawbone",

"Face_Chin","Face_Jawbone",

"Face_Tongue","Face_Jawbone",

"Face_CornerRight","Face_Hub",

"Face_CheekSideRight","Face_CornerRight",

"Face_CornerLeft","Face_Hub",

"Face_CheekSideLeft","Face_CornerLeft",

"Face_CheekFrontRight","Face_Hub",

"Face_CheekFrontLeft","Face_Hub",

"Face_CheekUpperRight","Face_Hub",

"Face_CheekUpperLeft","Face_Hub",

"Face_LipUpperMiddle","Face_Hub",

"Face_LipUpperRight","Face_Hub",

"Face_LipUpperLeft","Face_Hub",

"Face_NostrilRight","Face_Hub",

"Face_NostrilLeft","Face_Hub",

"Face_Forehead","Face_Hub",

"Face_BrowFrontRight","Face_Forehead",

"Face_BrowFrontLeft","Face_Forehead",

"Face_BrowMiddle","Face_Forehead",

"Face_BrowSideRight","Face_Forehead",

"Face_BrowSideLeft","Face_Forehead",

"Face_Eyelids","Face_Hub",

"Face_EyelidUpperRight","Face_Hub",

"Face_EyelidUpperLeft","Face_Hub",

"Face_EyelidLowerRight","Face_Hub",

"Face_EyelidLowerLeft","Face_Hub",

"EyeLeft","Face_Hub",

"EyeRight","Face_Hub",

//Left upper side

"LeftShoulder","Spine3",

"LeftArm","LeftShoulder",

"LeftArmRoll","LeftArm",

"LeftForeArm","LeftArmRoll",

"LeftForeArmRoll","LeftForeArm",

"LeftHand","LeftForeArmRoll",

"LeftHandRing","LeftHand",

"LeftHandRing1","LeftHandRing",

"LeftHandRing2","LeftHandRing1",

"LeftHandRing3","LeftHandRing2",

"LeftHandPinky1","LeftHandRing",

"LeftHandPinky2","LeftHandPinky1",

"LeftHandPinky3","LeftHandPinky2",

"LeftHandMiddle1","LeftHand",

"LeftHandMiddle2","LeftHandMiddle1",

"LeftHandMiddle3","LeftHandMiddle2",

"LeftHandIndex1","LeftHand",

"LeftHandIndex2","LeftHandIndex1",

"LeftHandIndex3","LeftHandIndex2",

"LeftHandThumb1","LeftHand",

"LeftHandThumb2","LeftHandThumb1",

"LeftHandThumb3","LeftHandThumb2",

//Right upper side

"RightShoulder","Spine3",

"RightArm","RightShoulder",

"RightArmRoll","RightArm",

"RightForeArm","RightArmRoll",

"RightForeArmRoll","RightForeArm",

"RightHand","RightForeArmRoll",

"RightHandRing","RightHand",

"RightHandRing1","RightHandRing",

"RightHandRing2","RightHandRing1",

"RightHandRing3","RightHandRing2",

"RightHandPinky1","RightHandRing",

"RightHandPinky2","RightHandPinky1",

"RightHandPinky3","RightHandPinky2",

"RightHandMiddle1","RightHand",

"RightHandMiddle2","RightHandMiddle1",

"RightHandMiddle3","RightHandMiddle2",

"RightHandIndex1","RightHand",

"RightHandIndex2","RightHandIndex1",

"RightHandIndex3","RightHandIndex2",

"RightHandThumb1","RightHand",

"RightHandThumb2","RightHandThumb1",

"RightHandThumb3","RightHandThumb2",

//Left lower side

"LeftUpLeg","Pelvis",

"LeftUpLegRoll","LeftUpLeg",

"LeftLeg","LeftUpLegRoll",

"LeftLegRoll","LeftLeg",

"LeftFoot","LeftLegRoll",

"LeftToeBase","LeftFoot",

//Right lower side

"RightUpLeg","Pelvis",

"RightUpLegRoll","RightUpLeg",

"RightLeg","RightUpLegRoll",

"RightLegRoll","RightLeg",

"RightFoot","RightLegRoll",

"RightToeBase","RightFoot"

};

// location of pivot points (local axes) for hierarchical animation

pivotsModel="A3\anims_f\data\skeleton\SkeletonPivots.p3d";

};

};

class CfgModels

{

class Default

{

sectionsInherit="";

sections[] = {};

skeletonName = "";

};

class ArmaMan : Default

{

htMin = 60; // Minimum half-cooling time (in seconds)

htMax = 1800; // Maximum half-cooling time (in seconds)

afMax = 30; // Maximum temperature in case the model is alive (in celsius)

mfMax = 0; // Maximum temperature when the model is moving (in celsius)

mFact = 1; // Metabolism factor - number from interval <0, 1> (0 - metabolism has no influence, 1 - metabolism has full influence (no other temperature source will be considered)).

tBody = 37; // Metabolism temperature of the model (in celsius)

sections[] =

{

"osobnost","Head_Injury","Body_Injury","l_leg_injury","l_arm_injury","r_arm_injury","r_leg_injury","injury_body", "injury_legs", "injury_hands",

"clan","clan_sign","Camo","CamoB","Camo1","Camo2","personality","hl", "injury_head"

};

skeletonName = "OFP2_ManSkeleton";

};

class headgear_b_myhelmet : ArmaMan {};

};

Then setup the model in O2, pretty simple i only use one LOD for now, viewpilot one is empty.

might need a firegeometry to if you want to setup any kind of bullet resistance, and shadowlod for shadow obviously.

i have no mlod example yet since i need to make one with a sample model helmet and not our own :)

o2.jpg

Pack it all up and it should be working.

Also

you need to have Geometry LOD (even if empty) and it has to have "autocenter = 0" set in Named Property window. See the cap model in examples

You may need to fiddle with the placement of the helmet in O2, and you must set have the Geometry LOD added!

Share this post


Link to post
Share on other sites

EDIT: Now I feel dumb. Mark this as solved/delete if you want. Realized that in the model.cfg, I had the classname as the helmet classname instead of the P3D filename. Thanks for your help.

Edited by antoineflemming

Share this post


Link to post
Share on other sites

I'm getting this error too my hat sits in my waist I have used the a3 template I copied my model in named it Head in named selections named it camo too and also named it talibhat i have checked to see that in geo it is named autocentre 0.

I am not sure what I can do as its the template I used and its set the same as the baseball cap example can't see any difference from how its named to how mine is all looks ok when i go in game it does not go on my head for some thing so easy don't know where I am failing.

Share this post


Link to post
Share on other sites

Have you added the CfgModels class for your item to the model.cfg correctly?

You need to paste something like this in the end of the CfgModels section of the model.cfg that's included in the A3 example models.

class OFPECtag_myhat : ArmaMan {};

Replace "OFPECtag_myhat" with the exact filename of your hat model (the model used in my example would be OFPECtag_myhat.p3d)

The model.cfg section of Stiltman's post shows you where to add it, with an example called headgear_b_myhelmet.p3d. The model.cfg needs to be in the same folder as your .p3d I think.

Share this post


Link to post
Share on other sites

Cheers 12th ill give it another go seems i am having nothing but trouble of late spent all day making taliban units from the 2 arma2 sample models and they don't work either lolshow in game but the us soldier has no head and the russian crashes the pc with no alteration to it. sure ill get there

Share this post


Link to post
Share on other sites

Those are common problems and just require some elbow grease and research to fix.

Share this post


Link to post
Share on other sites

cheers max just seems silly this late in the day to have the errors still in the models just have to do some more reading on the forums.

Bit of progress now I now have the first hat in game the 1st model i used just would not work it was a hat and neck scarf maybe it was fubarred but i just threw the 2nd hat in the template and it went in straight away.

can i get some info for adding neck scarfs and face mask and back packs please as not sure how to go about it

will the back packs use the back pack proxy that dk released for the a2 units example or are a3 units different http://i41.tinypic.com/15ovwol.jpg (425 kB) cheers all

Edited by SmokeDog3PARA

Share this post


Link to post
Share on other sites
can i get some info for adding neck scarfs and face mask and back packs please as not sure how to go about it

will the back packs use the back pack proxy that dk released for the a2 units example or are a3 units different

Backpacks appear to function the same as in A2 although having only briefly added one of my own I can't say for sure if it all functions. Either way in case you hadn't seen this: Backpack tutorial...

Neck scarfs and face masks would either be part of the model by default, or added to something like the helmet model and applied the same way as you would any other headgear I suppose.

Share this post


Link to post
Share on other sites

cheers stalkergb for the info i had looked at your thread on backpacks have you still got the example you were hosting as the link is dead for the old 1 cheers mate for the info

Share this post


Link to post
Share on other sites
cheers stalkergb for the info i had looked at your thread on backpacks have you still got the example you were hosting as the link is dead for the old 1 cheers mate for the info

Sorry for a slow reply, though the mediafire link seemed to work for me when I tried it a minute ago, I should still have it on my computer somewhere if not though so just PM me if that's the case :)

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
Sign in to follow this  

×