Jump to content
ADuke

Hand Animations

Recommended Posts

@TheSun

You are awesome, thanks for making the breakthrough and helping us out.

---------- Post added at 05:21 PM ---------- Previous post was at 04:54 PM ----------

Just verified that TheSun's method works, used his animation and dropped in the Model.cfg from the ArmA2 BIS examples (weapon skeletons I had defined in the config.cpp).

Thanks again TheSun

Share this post


Link to post
Share on other sites

Having some trouble and this is a bit off topic but...

I seem to remember a setting in O2 that if you move a selection in an animation (-forearm for example) the other attached bones would move with that selection.

Anyone know what that is, I seem to have forgotten.

Share this post


Link to post
Share on other sites

TheSun, you are a prince among men!

Got it to work. I can't thank you enough.

My weekend will now be spent making a whole host of animations...

Share this post


Link to post
Share on other sites

@ADuke

no idea here...

@da12thMonkey

Same here, got a bunch of weapons waiting for animations.

Share this post


Link to post
Share on other sites

TheSun

Thanks for the information.

By the way how do I get the new weapon model to appear in O2, when making the animation?

Share this post


Link to post
Share on other sites
By the way how do I get the new weapon model to appear in O2, when making the animation?

I just copy and paste from the weapon model, then move it to the position of the 'weapon' bone manually so that the ends of the buttstock or the triggers align. Then reassign the 'weapon' selection to the model I've pasted in.

Edited by da12thMonkey

Share this post


Link to post
Share on other sites

Thanks for the information, it's been a great help so far.

Anyways, I was wondering if anyone has tried doing an animation for a launcher yet?

We're having a lot of difficulties (misplaced hands even though the animation and proxys look fine in o2) getting them working, so we're really interested in a sample animation from somebody.

Edited by TeRp

Share this post


Link to post
Share on other sites

Thanks The Sun,

I had no issue with BinPBO copying the .rtm's to the output .pbo.

Whether you have the *.rtm as one of the 'files to copy directly' or not it still doesn't binarize them into RTMB's.

And, I still can't preview them in Buldozer. As for the rest... excellent trouble-shooting.

Cheers.

Edited by Synide

Share this post


Link to post
Share on other sites

Another question,

Is it possible to say...

Copy a hand from one animation and paste it into another animation without breaking anything?

I would like to use a closed fist hand from one animation and put it into another.

Share this post


Link to post
Share on other sites

Ah... I worked out how to convert the unbinarized .rtm's to binarized using BinPBO etc.

When binarize processes a .p3d it thinks... model ! ahah... I know how to process that and hmmm... while i'm about it i'll see if there is a <NameOfModel>.cfg, or a <FolderTheP3DIsSittingIn>.cfg or a model.cfg sitting in the same folder as the .p3d that might have some skeleton/anim stuff in it.

Ok, so in terms of an .rtm... You need to think of the .rtm as 'just another model'... ok, so it's not a 3d model but to binarize.exe it's a 'model' of animation and as such needs a skeleton to process it.

So... if you have say...

P:\SYM\SYM_Wpns_BigFatGuns\anims\reload_prone.rtm

P:\SYM\SYM_Wpns_BigFatGuns\anims\reload_crouched.rtm

P:\SYM\SYM_Wpns_BigFatGuns\anims\reload_standing.rtm

You'd create either a 'anims.cfg' or a 'model.cfg' in the 'P:\SYM\SYM_Wpns_BigFatGuns\anims' folder. It would have similar information in it to the following. FYI, I prefer to call my model.cfg's the name of the folder as this can save a hua of amount of grief when you have alot of stuff.

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",

"HeadCutScene","head",

"jaw","head",

"chin","head",

"jaw_rf","head",

"jaw_rm","head",

"jaw_rs","head",

"jaw_lf","head",

"jaw_lm","head",

"jaw_ls","head",

"ear_r","head",

"ear_l","head",

"lip_lc","head",

"lip_lwlb","head",

"lip_lwlf","head",

"lip_lwm","head",

"lip_lwrf","head",

"lip_lwrb","head",

"lip_rc","head",

"lip_uprb","head",

"lip_uprf","head",

"lip_upm","head",

"lip_uplf","head",

"lip_uplb","head",

"nose_tip","head",

"nose_r","head",

"nose_l","head",

"zig_lt","head",

"zig_lm","head",

"zig_lb","head",

"zig_rt","head",

"zig_rm","head",

"zig_rb","head",

"cheek_r","head",

"cheek_l","head",

"eyebrow_lb","head",

"eyebrow_lm","head",

"eyebrow_lf","head",

"corr","head",

"eyebrow_rf","head",

"eyebrow_rm","head",

"eyebrow_rb","head",

"eye_upr","head",

"eye_lwr","head",

"eye_upl","head",

"eye_lwl","head",

"cheek_rf","head",

"cheek_rm","head",

"cheek_rb","head",

"cheek_lf","head",

"cheek_lm","head",

"cheek_lb","head",

"forehead_l","head",

"forehead_m","head",

"forehead_r","head",

"l_eye","head",

"r_eye","head",

"l_pupila","head",

"r_pupila","head",

"neck_t","head",

"neck_b","head",

"neck_r","head",

"neck_l","head",

"tongue_b","head",

"tongue_m","head",

"tongue_f","head",

//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"

};

pivotsModel="";

};

};

class CfgModels {

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

class ArmaMan : Default {

sections[]={"osobnost","Head_Injury","Body_Injury","l_leg_injury","l_arm_injury","r_arm_injury","r_leg_injury","clan","clan_sign","Camo","CamoB"};

skeletonName = "OFP2_ManSkeleton";

};

class reload_prone : ArmaMan {};

class reload_crouched : ArmaMan {};

class reload_standing : ArmaMan {};

};

For each unbinarized .rtm anim file you have in the folder just specify it at the end of the 'model.cfg' in the anims folder.

Now, run BinPBO and... In your 'temp' output folder you'll notice now that there should be a <NameOfRTMFile>.rtm.dep and the .rtm will be a lot smaller as it's now binarized.

Cheers.

Edited by Synide

Share this post


Link to post
Share on other sites

Thanks, TheSun. It really worked. As I understood the anim does not affects to a position of weapon, does it?

Share this post


Link to post
Share on other sites

From what I personally have seen the weapon position isn't affected by the animation.

On another note..

In my animation I had torn the Left arm completely off the body and positioned the hand relative to the weapon. This didn't break anything, the hand was right where I had placed it, so that means that the anim only records the hand position and not the arm.

Thought I would mention that in case anyone had trouble trying to rotate the hand relative to the left arm axis, which is very limiting and difficult to get the position that you want.

Share this post


Link to post
Share on other sites

Tried to make the animations but for some reason the local axis doesn't move when I select a bone, the axis moves with no problem on ArmA 1 skeleton, but on ArmA 2 skeleton the local axis is always in the middle of the skeleton.

Share this post


Link to post
Share on other sites
engine uses only hand bones position relative to weapon bone.
so that means that the anim only records the hand position and not the arm.

:D

From what I personally have seen the weapon position isn't affected by the animation.

If this is correct, then unlike what we used to do in OFP/ArmA1 days where we lined up the pistol grip (for the most part) with the BI weapons for closest "best grip" we should now find some sort of good position for the butt plate of the stock, then adjust the arms to fit - thereby hopefully eliminating any cases where the butt sticks into the guys shoulder.

Share this post


Link to post
Share on other sites
Tried to make the animations but for some reason the local axis doesn't move when I select a bone, the axis moves with no problem on ArmA 1 skeleton, but on ArmA 2 skeleton the local axis is always in the middle of the skeleton.

Use the ArmA 1 skeleton then, I do. It works for ArmA 2 as well, just lacks the facial bones and stuff.

You can move the align the axis along the bones on the ArmA 2 skeleton manually though by finding the joint proxy (the little triangles at the top of the bone) then going Points\Transform 3D\From Proxy.

Share this post


Link to post
Share on other sites

@DM

so that means that the anim only records the hand position and not the arm.

That was in response to this....

@ADuke - not only hands but whole arms

To reiterate this...

engine uses only hand bones position relative to weapon bone.

Share this post


Link to post
Share on other sites
If this is correct, then unlike what we used to do in OFP/ArmA1 days where we lined up the pistol grip (for the most part) with the BI weapons for closest "best grip" we should now find some sort of good position for the butt plate of the stock, then adjust the arms to fit - thereby hopefully eliminating any cases where the butt sticks into the guys shoulder.

Be aware that stance switching animations (and perhaps others as well, such as movements) seem to use fixed-hand anims. Try switching stances with a GL weapon. Shouldn't be very noticeable though.

Share this post


Link to post
Share on other sites

Got animations to work but for some reason can't preview them in Buldozer, when I apply the .rtm to the model, the model simply disappears. :rolleyes: Looks like I have to binirize and load ArmA 2 each time to preview the weapon animations...

Share this post


Link to post
Share on other sites

Animations work in buldozer, when i place the model with aplied animation into another model (empty/new file) as a proxy.

Share this post


Link to post
Share on other sites

So from what I understand the anims only affect hands, but you can't change the actual weapon position?

Share this post


Link to post
Share on other sites
So from what I understand the anims only affect hands, but you can't change the actual weapon position?

You can't change the position of the weapon bone relative to the skeleton through handanim; you'd have to create an entirely new animation (move) to do that. However you can move the position of the weapon model relative to its origin on the weapon bone by moving the model inside the weapon model .p3d, and include a corresponding handanim to create the illusion that the weapon has moved, and the hands along with it.

As stated though, the hands shift to a default position when playing some animations (such as changing a magazine). If the weapon model is too far from the centre of the grid. This could result in the weapon appearing to shift far away from the hands while some animations are played.

I made a pretty swanky hip-firing anim for UKF's GPMG to test this out, but it looked un-natural when prone.

Edited by da12thMonkey

Share this post


Link to post
Share on other sites
I made a pretty swanky hip-firing anim for UKF's GPMG to test this out, but it looked un-natural when prone.

We demand pictures! :D

Share this post


Link to post
Share on other sites

I'm afraid I deleted that .rtm before I sent the weapons folder back over to Chris to sort them out.

If you try to visualise that bit in 'Commando' where Arnie's finished hacking people to bits with assorted sharp metal objects that he's found laying about in a shed; you're pretty close.

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

×