Jump to content
Sign in to follow this  
npk

Helmet appears inside chest

Recommended Posts

Hello all

I was in the midst of porting over some A2 assets when my HDD with all my work died, so I'm sitting here trying to rework the various assets.

I had various helmets working, and now it seems like I'm doing something wrong as when I check the model ingame it's attached to the characters chest region instead of the head.

I have the following selections in 1.000: 'Head' and '-Helmet'.

Using the A3 template model.cfg as per below

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", "insignia"
	};
	skeletonName = "OFP2_ManSkeleton";
};
class UN_Helmet: ArmaMan{};
};

Share this post


Link to post
Share on other sites

Try this one. Replace Your_Helmet with the P3d Name (Minus the .p3d) - I know they look similar, but somehow the one Stiltman gave me works over the one I wrote that was almost identical :L

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 Your_Helmet : ArmaMan {};

};

Share this post


Link to post
Share on other sites

in your model, do you have autocenter=0 in geometry lod?

You also need a named selection called "head" to tie it to the head bone movement in all resolution lods

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  

×