Jump to content
Sign in to follow this  
CameronMcDonald

Got animations working!

Recommended Posts

OK lads, listen up:

Finish whatever modifications you're doing on your unit.

I'm not sure exactly which of the following made everything work, it could simply be one or a combination of both, however, I know the last one was required.

1. Open the BISkeleton P3D, and copy everything from the Memory LOD, and whack it into your man's memory LOD.

2. Grab your man's config file, and whack the following in (thanks to DJFrogStar (and by extension, dbobrick for giving it to him) for swinging it over, I only had to modify it a little bit biggrin_o.gif ):

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class CfgSkeletons

{

class Default;

class Head

{

isDiscrete = 0;

skeletonInherit = "";

skeletonBones[] =

{

"neck","",

"neck1","neck",

   "head","neck1",

"lBrow","head",

"mBrow","head",

"rBrow","head",

"lMouth","head",

"mMouth","head",

"rMouth","head",

"eyelids","head",

"LLip","head"

};

};

class OFP2_ManSkeleton

{

isDiscrete = 0;

skeletonInherit = "Head";

skeletonBones[] =

{

"weapon","",

"launcher","",

"Camera","",

"Spine","",

"Spine1","",

"Spine2","",

"Spine3","",

"Pelvis","",

//Left upper side

"LeftShoulder","",

"LeftArm","",

"LeftArmRoll","",

"LeftForeArm","",

"LeftForeArmRoll","",

"LeftHand","",

"LeftHandRing","",

"LeftHandRing1","",

"LeftHandRing2","",

"LeftHandRing3","",

"LeftHandPinky1","",

"LeftHandPinky2","",

"LeftHandPinky3","",

"LeftHandMiddle1","",

"LeftHandMiddle2","",

"LeftHandMiddle3","",

"LeftHandIndex1","",

"LeftHandIndex2","",

"LeftHandIndex3","",

"LeftHandThumb1","",

"LeftHandThumb2","",

"LeftHandThumb3","",

//Right upper side

"RightShoulder","",

"RightArm","",

"RightArmRoll","",

"RightForeArm","",

"RightForeArmRoll","",

"RightHand","",

"RightHandRing","",

"RightHandRing1","",

"RightHandRing2","",

"RightHandRing3","",

"RightHandPinky1","",

"RightHandPinky2","",

"RightHandPinky3","",

"RightHandMiddle1","",

"RightHandMiddle2","",

"RightHandMiddle3","",

"RightHandIndex1","",

"RightHandIndex2","",

"RightHandIndex3","",

"RightHandThumb1","",

"RightHandThumb2","",

"RightHandThumb3","",

//Left lower side

"LeftUpLeg","",

"LeftUpLegRoll","",

"LeftLeg","",

"LeftLegRoll","",

"LeftFoot","",

"LeftToeBase","",

//Right lower side

"RightUpLeg","",

"RightUpLegRoll","",

"RightLeg","",

"RightLegRoll","",

"RightFoot","",

"RightToeBase",""

};

};

class Flag: Default {};

class FlagCarrier: Default

{

skeletonInherit = "Default";

skeletonBones[] =

{

"stozar","",

"vlajka",""

};

};

};

class CfgModels

{

class Default;

class flag_vojak : Default

{

sections[] = {"latka"};

};

class Head: Default

{

skeletonName = "Head";

sections[] =

{

"swap_hhl",

"hide_eyewear"

};

};

class YOUR MODEL NAME HERE: Default

{

 skeletonName = "OFP2_ManSkeleton";

sections[] =

{

"swap_hhl","swap_wound_head","swap_wound_body","swap_wound_legL","swap_wound_armL","swap_wound_armR","swap_wound_legL","swap_wound_legR","hide_eyewear","hide_medic","swap_bdu", "hide_teamcolor"

};

};

};

I inserted it under CfgVehicleClasses, but before CfgVehicles. Hope this helps.

Voila:

animsry2.th.jpg

Let me know if this causes any problems.  smile_o.gif

Share this post


Link to post
Share on other sites

Cameron, you've just proven it again: you are a genius smile_o.gif.

Good job.

Duh, so Bis gave us example models but not their configs? This sucks T_T.

Share this post


Link to post
Share on other sites
Guest

I got it from dbobrick... so thank him

Share this post


Link to post
Share on other sites

Hahaha! That looks very familiar, i've been playing around today and can't believe i missed this! Thanks for sharing.

Share this post


Link to post
Share on other sites

Glad I could help, though I'm picking bugs in my own work already! icon_rolleyes.gif

OK, well, the next step seems to be adding selections in order to get the face-changing +/- wounds working.

I think selections will have to be added in the right spots of the p3D, namely, "swap_hhl" and the wound lines.

Share this post


Link to post
Share on other sites

What do you say to the nice Mr McDonald?

dpminarma.jpg

"Thank you!"

wink_o.gif

I am however still getting one error:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">Warning Message: No entry 'model.cfg/CfgModels/UKF_UK1.sectionsInherit'.

Warning Message: '/' is not a value

Share this post


Link to post
Share on other sites

Nice model mate, glad to help.

Did that error message appear in the ArmA.rpt? I'm totally stumped to what it means, though. I'll see if I got one.

I'm off to bed, in any case, if anyone can get wounds +/- faces changing normally, please, post your solution up here.

Share this post


Link to post
Share on other sites

The first part pops up on attempting to load the mission with said model. But yeah i dug the whole error out of the .rpt file.

Share this post


Link to post
Share on other sites

I have the unit working ingame OK, but after a few hours of trying to solve this I am stupmed...

I have changed the texture and material paths to point to my own addon directory. All is well except errors upon loading saying it cant find BIModels\BISoldier\data\us_molle_webbings_nohq.paa.

Obviously the said texture hasn't had its path changed to my directory, thing is I cant find any part of the soldier model that actually has this texture assigned to it?

I have used the Mass texture and material renaming tool which lists all tex/mats used in the model ad I have renamed all texures via that tool (which is much, much quicker than the old method BTW) but that texture is not named as being used on the model at all.

I do not get the error if I only rename the texture .paa files and leave the material .rvmat files alone. I then only get error messages regarding missing .rvmat files. This isnt a problem as the units look OK in game. As soon as I then rename the .rvmat files the error with the us_molle_webbings_nohq.paa tex appears and the ingame models shading looks well fooked up.

Share this post


Link to post
Share on other sites

Oww oww, i know this one. I had the same problem too.

What you need to do is use the mass texture path tool in O2, then you need to open up all of the rvmat files in MatEditor(found in the O2 folder) and change the texture paths there too.

now if someone can help me with the soldier animations?

What I tried to do now is make a separate addon folder of the people files from the weapon files. But I'm still having the same problem, the textures and shaders appear fine ingame, but the model stays at the default position. I copied the memory lod from the BISkeleton file to my modified BIsoldier model in O2, and added the skeleton cfg to my config file, but its still not animating ingame.

Quote[/b] ]// Conflict on Corellia mod

#define true 1

#define false 0

#define VSoft 0

#define VArmor 1

#define VAir 2

#define private 0

#define protected 1

#define public 2

#define TEast 0

#define TWest 1

#define TGuerrila 2

#define TCivilian 3

#define TSideUnknown 4

#define TEnemy 5

#define TFriendly 6

#define TLogic 7

#define ReadAndWrite 0

#define ReadAndCreate 1

#define ReadOnly 2

#define ReadOnlyVerified 3

class CfgPatches

{

class gd_inf

{

units[] = {"reb_inf"};

weapons[] = {};

requiredVersion = 0.1;

requiredAddons[] = {"CAData", "CA_Anims_Char"};

};

};

class CfgVehicleClasses

{

class Rebel_inf

{

displayName = "Rebel Alliance";

};

};

class CfgSkeletons

{

class Default;

class Head

{

isDiscrete = 0;

skeletonInherit = "";

skeletonBones[] =

{

"neck","",

"neck1","neck",

"head","neck1",

"lBrow","head",

"mBrow","head",

"rBrow","head",

"lMouth","head",

"mMouth","head",

"rMouth","head",

"eyelids","head",

"LLip","head"

};

};

class OFP2_ManSkeleton

{

isDiscrete = 0;

skeletonInherit = "Head";

skeletonBones[] =

{

"weapon","",

"launcher","",

"Camera","",

"Spine","",

"Spine1","",

"Spine2","",

"Spine3","",

"Pelvis","",

//Left upper side

"LeftShoulder","",

"LeftArm","",

"LeftArmRoll","",

"LeftForeArm","",

"LeftForeArmRoll","",

"LeftHand","",

"LeftHandRing","",

"LeftHandRing1","",

"LeftHandRing2","",

"LeftHandRing3","",

"LeftHandPinky1","",

"LeftHandPinky2","",

"LeftHandPinky3","",

"LeftHandMiddle1","",

"LeftHandMiddle2","",

"LeftHandMiddle3","",

"LeftHandIndex1","",

"LeftHandIndex2","",

"LeftHandIndex3","",

"LeftHandThumb1","",

"LeftHandThumb2","",

"LeftHandThumb3","",

//Right upper side

"RightShoulder","",

"RightArm","",

"RightArmRoll","",

"RightForeArm","",

"RightForeArmRoll","",

"RightHand","",

"RightHandRing","",

"RightHandRing1","",

"RightHandRing2","",

"RightHandRing3","",

"RightHandPinky1","",

"RightHandPinky2","",

"RightHandPinky3","",

"RightHandMiddle1","",

"RightHandMiddle2","",

"RightHandMiddle3","",

"RightHandIndex1","",

"RightHandIndex2","",

"RightHandIndex3","",

"RightHandThumb1","",

"RightHandThumb2","",

"RightHandThumb3","",

//Left lower side

"LeftUpLeg","",

"LeftUpLegRoll","",

"LeftLeg","",

"LeftLegRoll","",

"LeftFoot","",

"LeftToeBase","",

//Right lower side

"RightUpLeg","",

"RightUpLegRoll","",

"RightLeg","",

"RightLegRoll","",

"RightFoot","",

"RightToeBase",""

};

};

class Flag: Default {};

class FlagCarrier: Default

{

skeletonInherit = "Default";

skeletonBones[] =

{

"stozar","",

"vlajka",""

};

};

};

class CfgModels {

class Default { sections[] = {}; sectionsInherit=""; };

class flag_vojak : Default

{

sections[] = {"latka"};

};

class Head: Default

{

skeletonName = "head";

sections[] =

{

"swap_hhl",

"hide_eyewear"

};

};

class rebel_inf: Default

{

skeletonName = "OFP2_ManSkeleton";

sections[] =

{

"swap_hhl","swap_wound_head","swap_wound_body","swap_wo

und_legL","swap_wound_armL","swap_wound_armR","swap_wound_le

gL","swap_wound_legR","hide_eyewear","hide_medic",&quot

;swap_bdu", "hide_teamcolor"

};

};

};

class CfgVehicles {

class Land; // External class reference

class Man : Land {

class ViewPilot; // External class reference

};

class CAManBase;

class rebel_inf: CAManBase

{

model = "\gd_people\rebel_trooper.p3d";

scope = public;

vehicleClass = "rebel_inf";

side = TGuerrila;

weapons[] = {"DH17"};

displayName = "Rebel Trooper";

magazines[] = {"pistol_pack","pistol_pack","pistol_pack","pistol_pack

"};

class Wounds {

tex[] = {};

mat[] = {"ca\characters\data\us_rukavy_hhl.rvmat", "ca\characters\data\us_rukavy_hhl_wound1.rvmat", "ca\characters\data\us_rukavy_hhl_wound2.rvmat", "ca\characters\data\us_soldier_b_body.rvmat", "ca\characters\data\us_soldier_b_body_wound1.rvmat", "ca\characters\data\us_soldier_b_body_wound2.rvmat"};

};

cost = 40000;

};

Share this post


Link to post
Share on other sites
With wounds and random faces as well? Could you please send me the config?  smile_o.gif

... Better still, don't just send it to Cameron... post it here also...

Share this post


Link to post
Share on other sites
With wounds and random faces as well? Could you please send me the config? smile_o.gif

No, just with with no error messages that I was getting before.

I was having problems with my model asking for textureds that were not even present on the model looking at it in o2. I didn't realise that the .rvmat paths had to be changed with MatEditor.exe as well as through O2 itself.

sorry if I got you hopes up whistle.gif

Share this post


Link to post
Share on other sites

how do i make the wounds work (i might have over looked something)

Share this post


Link to post
Share on other sites

Seems like wounds are defined in the RVMAT files, I found the following under the define for SoldierWB:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class Wounds {

tex[] = {};

mat[] = {"ca\characters\data\us_rukavy_hhl.rvmat", "ca\characters\data\us_rukavy_hhl_wound1.rvmat", "ca\characters\data\us_rukavy_hhl_wound2.rvmat", "ca\characters\data\us_soldier_b_body.rvmat", "ca\characters\data\us_soldier_b_body_wound1.rvmat", "ca\characters\data\us_soldier_b_body_wound2.rvmat"};

Maybe check out each one of those RVMAT files for further reference?

Share this post


Link to post
Share on other sites
Seems like wounds are defined in the RVMAT files, I found the following under the define for SoldierWB:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class Wounds {

tex[] = {};

mat[] = {"ca\characters\data\us_rukavy_hhl.rvmat", "ca\characters\data\us_rukavy_hhl_wound1.rvmat", "ca\characters\data\us_rukavy_hhl_wound2.rvmat", "ca\characters\data\us_soldier_b_body.rvmat", "ca\characters\data\us_soldier_b_body_wound1.rvmat", "ca\characters\data\us_soldier_b_body_wound2.rvmat"};

Maybe check out each one of those RVMAT files for further reference?

Exelent, just what i needed. I just needed to have the right RVMAT names and it worked like a charm

Share this post


Link to post
Share on other sites
Nice, look forward to seeing a solution posted here  wink_o.gif

Recce pack released on armaholic.com

You can have look in the readable cpp and model.cfg how it work (i will poste it here after i get home from work)

Share this post


Link to post
Share on other sites

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

//From Model.CFG

class CfgSkeletons

{

class Head

{

isDiscrete = 0;

skeletonInherit = "";

skeletonBones[] =

{

"neck","",

"neck1","neck",

"head","neck1",

"loboci","head",

"soboci","head",

"poboci","head",

"lkoutek","head",

"skoutek","head",

"pkoutek","head",

"vicka","head",

"spodni ret","head"

};

};

class OFP2_ManSkeleton

{

isDiscrete = 0;

skeletonInherit = "Head";

skeletonBones[] =

{

"weapon","",

"launcher","",

"Camera","",

"Spine","",

"Spine1","",

"Spine2","",

"Spine3","",

"Pelvis","",

//Left upper side

"LeftShoulder","",

"LeftArm","",

"LeftArmRoll","",

"LeftForeArm","",

"LeftForeArmRoll","",

"LeftHand","",

"LeftHandRing","",

"LeftHandRing1","",

"LeftHandRing2","",

"LeftHandRing3","",

"LeftHandPinky1","",

"LeftHandPinky2","",

"LeftHandPinky3","",

"LeftHandMiddle1","",

"LeftHandMiddle2","",

"LeftHandMiddle3","",

"LeftHandIndex1","",

"LeftHandIndex2","",

"LeftHandIndex3","",

"LeftHandThumb1","",

"LeftHandThumb2","",

"LeftHandThumb3","",

//Right upper side

"RightShoulder","",

"RightArm","",

"RightArmRoll","",

"RightForeArm","",

"RightForeArmRoll","",

"RightHand","",

"RightHandRing","",

"RightHandRing1","",

"RightHandRing2","",

"RightHandRing3","",

"RightHandPinky1","",

"RightHandPinky2","",

"RightHandPinky3","",

"RightHandMiddle1","",

"RightHandMiddle2","",

"RightHandMiddle3","",

"RightHandIndex1","",

"RightHandIndex2","",

"RightHandIndex3","",

"RightHandThumb1","",

"RightHandThumb2","",

"RightHandThumb3","",

//Left lower side

"LeftUpLeg","",

"LeftUpLegRoll","",

"LeftLeg","",

"LeftLegRoll","",

"LeftFoot","",

"LeftToeBase","",

//Right lower side

"RightUpLeg","",

"RightUpLegRoll","",

"RightLeg","",

"RightLegRoll","",

"RightFoot","",

"RightToeBase",""

};

};

class default;

class Flag: Default {};

class FlagCarrier: Default

{

skeletonInherit = "Default";

skeletonBones[] =

{

"stozar","",

"vlajka",""

};

};

class Weapon: Default

{

isDiscrete = 0;

skeletonInherit = "Default";

skeletonBones[]=

{

"magazine",

"",

"ammo_belt",

"",

"ammo_belt_bottom",

""

};

};

};

class CfgModels

{

class Default { sections[] = {}; sectionsInherit=""; };

class flag_vojak : Default

{

sections[] = {"latka"};

};

class Head: Default

{

sections[] =

{

"osobnost",

"brejle"

};

skeletonName = "Head";

};

class ArmaMan : Default

{

sections[] =

{

"osobnost","Head_Injury","Body_Injury","l_leg_injury","l_arm_injury","r_arm_injury","l_leg_injury"

};

skeletonName = "OFP2_ManSkeleton";

};

class YourManModelNameHere: ArmaMan {};

// --------------------WEAPON----------------------------

class Weapon: Default

{

sections[]=

{

"zasleh"

};

skeletonName="Weapon";

class Animations

{

class magazine_hide

{

type="hide";

source="reloadMagazine";

selection="magazine";

minValue=0.200000;

maxValue=0.250000;

hideValue=0.100000;

};

};

};

class YourWeaponModelNameHere: Weapon {};

};

Use this in your model.cfg file in your addon

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  

×