Jump to content
Sign in to follow this  
Whyte_Out

New Model Vest Configs?

Recommended Posts

I have made a new vest, and I am not sure how to write the configs for it. I have read all the wikis but everytime I use their configs I always get excess info in my configs. I would like to only have what I need in their so I can use it for future templates. Anybody kind enough to help me out? Lastly, whats the difference betweeen "Model.cfg" and "Config.cpp" how do you know when you need to use one or the other, or both? Thanks in advance guys. Below, is what I have for a ghetto config, but I am fairly new to scripting so forgive me if its completely wrong.

/* Declaration as Addon-Content.*/

class CfgPatches {

/* "Hey ArmA2, this is an addon and it's named "TUT_Wall"*/

/* The name should be indentical to the folder's name*/

class Jpc_Vest {

units[] = {};

weapons[] = {"Jpc_Vest"};

requiredVersion = 0.1;

requiredAddons[] = {};

};

};

/* The category in the editor like "Objects" or "Cars".*/

class CfgVehicleClasses {

class Jpc_Vest {

displayName = "JPC Assualt Vest";

};

class VestItem;

class Vest_Camo_Base: ItemCore

{

class ItemInfo;

};

class Jpc_Vest: ItemCore

{

class ItemInfo;

};

uniformModel = "Jpc_Vest\Data\Jpc_Vest.p3d";

};

};

};

Share this post


Link to post
Share on other sites

Firstly, I need to add the caveat that I'm far from the best person to respond to config stuff, I can do it but I'm sure there are people who make much tidier configs than I do. Anyways:

Lastly, whats the difference betweeen "Model.cfg" and "Config.cpp" how do you know when you need to use one or the other, or both?

Model.cfg

Every model you make needs a model.cfg, without one the game would either crash when you load your model, or load a static model that doesn't animate properly (at least with regards to infantry modding). The sample A3 files on the character modding page of the wiki should contain a model.cfg, what you'll need to do is add the name of your P3D file to the bottom of it and then define what it will inherit from (for movement/animation), normally it'll look something like this:

class MY_P3D_NAME: ArmaMan {};

Below is the whole sample model.cfg with the above put in place:

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

};

I imagine that you can remove some of the other entries above it but I'm probably not the best person to explain that. The model.cfg needs to be placed in the same location as the model it is referencing, if you have models in different folders then they will need separate model.cfgs in each of those folders AFAIK.

Config.cpp

The config file is the file that defines what exactly you model is and does. Normally, the easiest way to do most of the work is to inherit from another object that does the same thing. So for a vest/body armour, you could inherit from the plate carrier used by the US forces already in the game. Obviously there will be some things that you want different on your vest but this will take care of everything else. As an example, with my Osprey armour used for my Brit infantry I use:

class cfgWeapons

{

/*extern*/ class VestItem;

/*extern*/ class HeadgearItem;

/*extern*/ class UniformItem;

/*extern*/ class V_PlateCarrier1_rgr;

class STKR_Osprey_R: V_PlateCarrier1_rgr

{

scope = 2;

displayName = "Assualt Osprey R";

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

model = "\STKR_BritMTP\equipment\Osprey_R";

class ItemInfo: VestItem

{

uniformModel = "\STKR_BritMTP\equipment\Osprey_R";

containerClass = "Supply100";

mass = 50;

armor = "5*0.5";

passThrough = 0.7;

};

};

As you can see, I inherit the information used by the US plate carrier, and then define a few of my own values below. One thing to note, when inheriting from other classes, you need to make sure that they have been mentioned above in your config which is what all the /*extern*/ classes are. The classname you define (so in my example STKR_Osprey_R) is what you would used to add the vest to a unit in an infantry config. Most of the other sections should be fairly self explanatory. One point of confusion might be model and uniformModel, although I haven't tested it myself, I assume model is for when the vest is on the ground and uniformModel is for when the vest is being worn by a unit.

Hope that helps.

Share this post


Link to post
Share on other sites

Thanks stalker, this is all very helpful I will give it a go. Thanks for the fast response mate.

Share this post


Link to post
Share on other sites

Ok, I tried all this but I still get an error and my game wont start? All I did was copy and paste everything than changed the names of everything that was yours to mine. My game still wont launch...any Ideas?

Error Report:

File c:\users\wyteout\desktop\jpc_vest\config.cpp, line 21: /cfgWeapons/: Missing '}'

Error reading binary file 'c:\users\wyteout\desktop\jpc_vest\config.cpp'

W:\C\El\ParamFile\paramFile.cpp(753) : Class destroyed, but still locked

Convert model c:\users\wyteout\desktop\jpc_vest\Jpc_Vest.p3d -> C:\Users\WyteOut\AppData\Local\Temp\ARMAaddons\jpc_vest\Jpc_Vest.p3d

Cannot register unknown string STR_STATE_HEALSOLDIER

Cannot register unknown string STR_STATE_FIRST_AID

Cannot register unknown string STR_UI_RADARRANGE

Cannot register unknown string STR_ACTION_LAUNCHCM

Cannot register unknown string STR_ACTION_NEXTCM

Cannot register unknown string STR_USRACT_ACTION_CONTEXT

Cannot register unknown string STR_USRACT_OPTICS_MODE

Cannot register unknown string STR_USRACT_ZEROING_UP

Cannot register unknown string STR_USRACT_ZEROING_DOWN

Cannot register unknown string STR_USRACT_NETWORK_DS_INTERFACE

Cannot register unknown string STR_USRACT_BULD_TERRAIN_RAISE_10CM

Cannot register unknown string STR_USRACT_BULD_TERRAIN_LOWER_10CM

Cannot register unknown string STR_USRACT_BULD_TERRAIN_RAISE_50CM

Cannot register unknown string STR_USRACT_BULD_TERRAIN_LOWER_50CM

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_0

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_1

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_2

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_3

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_4

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_5

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_6

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_7

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_8

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_9

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_10

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_11

Cannot register unknown string STR_DISP_LEFT

Cannot register unknown string STR_DIFF_CAMERA_SHAKE

Cannot register unknown string STR_FREETRACK

Cannot register unknown string STR_ADDON_ACTIONS_INSTALL_CORE

Cannot register unknown string STR_ADDON_ACTIONS_INSTALL_MOD

Cannot register unknown string STR_ADDON_ACTIONS_PLAY_MISSION

Cannot register unknown string STR_ADDON_ACTIONS_TRY_ENTITY

Cannot register unknown string STR_ADDON_ACTIONS_TRY_WEAPON

Cannot register unknown string STR_MSG_ADDON_NOT_FOUND

Cannot register unknown string STR_MSG_ADDON_CANNOT_OPEN

Cannot register unknown string STR_MSG_ADDON_UNKNOWN_PRODUCT

Cannot register unknown string STR_INCOMPATIBLE_LOAD_GAME_ATTEMPT

Warning: CfgVehicles missing in PreloadConfig - may slow down vehicle creation

Warning: CfgAmmo missing in PreloadConfig - may slow down vehicle creation

Warning: CfgNonAIVehicles missing in PreloadConfig - may slow down vehicle creation

File c:\users\wyteout\desktop\jpc_vest\Config.cpp, line 21: /cfgWeapons/: Missing '}'

Error 3 while parsing

Error in config c:\users\wyteout\desktop\jpc_vest\Config.cpp

w:\C_branch\Poseidon\Arrowhead\El\ParamFile\paramFile.cpp(753) : Class destroyed, but still locked

File c:\users\wyteout\desktop\jpc_vest\Config.cpp, line 21: /cfgWeapons/: Missing '}'

Error 3 while parsing

Error in config c:\users\wyteout\desktop\jpc_vest\Config.cpp

w:\C_branch\Poseidon\Arrowhead\El\ParamFile\paramFile.cpp(753) : Class destroyed, but still locked

Cannot load font core\data\fonts\lucidaconsoleb8

Fonts file \core\data\fonts\lucidaConsoleB8 not found

Cannot load font core\data\fonts\lucidaconsoleb11

Fonts file \core\data\fonts\lucidaConsoleB11 not found

<model = "c:\users\wyteout\desktop\jpc_vest\Jpc_Vest.p3d">

Cannot load material file a3\characters_f\common\data\tacticalvest.rvmat.

Cannot load material file a3\characters_f\common\data\tacticalvest.rvmat

Warning: Degenerated faces found in model c:\users\wyteout\desktop\jpc_vest\jpc_vest.p3d:10000

Warnings in c:\users\wyteout\desktop\jpc_vest\jpc_vest.p3d:11000

</model>

Creating texture headers file...

Texture headers file was not created - no textures found.

Update* I got the game to launch with no errors but when I try to equip the vest it just doesnt show on the model. Doesn't give me any errors saying "Error vest does not exist" and kick back into the editor. So I know it registering the classname but it just wont show. Kind of at a stump and can't seem to figure it out. Hopefully I figure it out I dunno what else to check though.

Edited by Whyte_Out

Share this post


Link to post
Share on other sites

ok, I can't even find it in the crates or even when I try to call it by the classname? Shouldn't it be defined in the config? I am using addVest "Jpc_Vest" and it wont even show up. No, errors just doesn't show.

Config.cpp

class cfgWeapons {

class ItemCore; // External class reference

class InventoryItem_Base_F; // External class reference

class HeadgearItem;

class Uniform_Base;

class UniformItem;

class V_PlateCarrier1_rgr;

class VestItem;

class Jpc_Vest: V_PlateCarrier1_rgr

{

scope = 2;

displayName = "JPC Vest";

picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_C A.paa"; // or where ever you got a picture

model = "\Jpc_Vest\Data\Jpc_Vest.p3d";

class ItemInfo: VestItem

{

uniformModel = "\Jpc_Vest\Data\Jpc_Vest.p3d";

containerClass = "Supply100"; // or what ever space it got

mass = 50;

armor = "5*0.5"; // if bodyarmor various calues can be used

passThrough = 0.7; // how much the vest stops a bullet going through

};

};

};

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\SkeletonPivo ts.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_inju ry","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 Jpc_Vest: ArmaMan {};

};

Share this post


Link to post
Share on other sites

That's your whole config?

If so it should look more like this.

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 Jpc_Vest
{
	units[] = {};
	weapons[] = {"Jpc_Vest"};
	requiredVersion = 0.1;
	requiredAddons[] = {"A3_Characters_F"};
};
};

class cfgWeapons
{
class ItemCore; // External class reference
class InventoryItem_Base_F; // External class reference
class HeadgearItem;
class Uniform_Base;
class UniformItem;
class V_PlateCarrier1_rgr;
class VestItem;


class Jpc_Vest: V_PlateCarrier1_rgr
{
	scope = 2;
	displayName = "JPC Vest";
	picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa"; // or where ever you got a picture
	model = "\Jpc_Vest\Data\Jpc_Vest.p3d";
	class ItemInfo: VestItem
	{
		uniformModel = "\Jpc_Vest\Data\Jpc_Vest.p3d";
		containerClass = "Supply100"; // or what ever space it got
		mass = 50;
		armor = "5*0.5"; // if bodyarmor various calues can be used
		passThrough = 0.7; // how much the vest stops a bullet going through
	};
};
};

Edited by surpher

Share this post


Link to post
Share on other sites

yeah, sorry l figured it out last night it was my config. Anyways new problem, my model is all distorted and stuff in game is that due to improper weighing?

Share this post


Link to post
Share on other sites

Depends how distorted we are talking, maybe post a picture if possible. If it's still reasonably similar in shape to the vest in O2 then it way just be weighted incorrectly, if they whole thing has deformed it can be an issue with the model.cfg/selections.

Share this post


Link to post
Share on other sites

Picture: Here

Picture without being weighed: Here

I been messing with it for awhile. I managed to get it up at his chest but no matter what everything still stays distorted of some kind, and I can't figure out why? I have followed the weights of the A3 Vest model to make sure but in some way shape or form it looks like that.

Question...When weighing a area if I lets say click "Left Arm" and weight the area way over by the right arm is that going to bring that side over near the "Left Arm" in game? or just move the right side whenever the "left Arm" area moves? I am just trying to fully grasp the weighing concept.

Edited by Whyte_Out

Share this post


Link to post
Share on other sites

Hmm, looking at those pictures, I'd guess that the selections you are defining in O2 (so Spine1/LeftArm and so on) aren't actually being applied to the model properly (or at all). One common error is using lower case selections when you have upper case ones in the model.cfg. So for example leftarm is different to LeftArm. In case you haven't already done it I'd say it's probably worth taking the model.cfg from the ARMA3 samples rather than using what I posted above just to rule out any issues with that.

Question...When weighing a area if I lets say click "Left Arm" and weight the area way over by the right arm is that going to bring that side over near the "Left Arm" in game? or just move the right side whenever the "left Arm" area moves? I am just trying to fully grasp the weighing concept.

It'll try and move the right side when the LeftArm section of the skeleton moves, the problem with that though is that because the right side of the model is further away from the original point of movement it's much more likely to deform.

EDIT: It might also be worth trying to apply an animation while in O2 to see if everything works in there, you could use the sample animation supplied in the ARMA3 samples. I wrote about how to do that here if you are interested.

Edited by STALKERGB

Share this post


Link to post
Share on other sites

Hmmm, I got the default vest to work with the animations but when I try animations on mine the vest doesnt do anything. This might be the problem lol w.e it is. So I took some stuff from my fest and through it onto this one and this is the outcome.

Check it

Everything looks fine, minus the fact I just randomly weighed it but for the most part it functions ok. so I don't understand why my vest completely goes crazy.

Edited by Whyte_Out

Share this post


Link to post
Share on other sites

Hmm, well if you want I'm happy to take a look at it, not too sure what the problem is then but I imagine it'll be something small that's just been overlooked, usually tends to be.

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  

×