Jump to content
Sign in to follow this  
ADuke

Hand Animations

Recommended Posts

Has anyone had any success in opening the ArmA 2 hand animations for weapons in o2 (and editing them) with the BI skeleton (old or new). If so, how did you do it?

Thanks,

-ADuke

Share this post


Link to post
Share on other sites

BIS's .rtm files for ArmA 2 are binarized as rtmb format. This is analogous to the ODOL .p3d format, in that you'd have to decode the binary data in order to open them.

You probably wont find a program to open rtmb compressed files for the same reason you wont find one that'll open ArmA 2's ODOL format.

I'd like to find out how to make new rifle holding animations myself. So far my hand animations just end up as horrible distortions. Hopefully someone out there knows how to do them...

Share this post


Link to post
Share on other sites
Has anyone had any success in opening the ArmA 2 hand animations for weapons in o2 (and editing them) with the BI skeleton (old or new). If so, how did you do it?

Thanks,

-ADuke

all A2 content is binarized. Afaik files such as p3ds and rtms cannot be "unbinarized". The rvmats and configs can.

Share this post


Link to post
Share on other sites

They can be unbinarized if you would know how. ArmA ODOL format for example is good documented and can be unbinarized (you wont get the same MLOD as the original source MLOD but you get nearly everything to produce the same ODOL again)

Share this post


Link to post
Share on other sites

Weapon holding animation is simple static pose (like static cargo animation). You can make the animation in O2 it using released rigid character model (BISkeleton). You can use any RTM of man from Arma1 as sources for basic pose. RTM of handgrip is configured in the weapon config and engine uses only hand bones position relative to weapon bone.

Share this post


Link to post
Share on other sites

How do the commanding hand animations work?(the ones that the squad leader waves when you issue a command)

Share this post


Link to post
Share on other sites
Weapon holding animation is simple static pose (like static cargo animation). You can make the animation in O2 it using released rigid character model (BISkeleton). You can use any RTM of man from Arma1 as sources for basic pose. RTM of handgrip is configured in the weapon config and engine uses only hand bones position relative to weapon bone.

Are the names of the keyframes (times) important and how many should there be? Most static cargo anims in ArmA 1 had 3 keyframes; the default pose at -0.5 and two identical keyframes at 0.0 and 1.0.

I've tried to make new hand anims repeatedly using "anim\sdr\idl\erc\stp\ras\rfl\aidlpercmstpsraswrfldnon**.rtm" series of anims from ArmA 1 as a base: Deleting the keyframes between 0.0 and 1.0 so as to create a static anim, then repositioning the arms to suit the weapon model. However, the arms have have always distorted ingame, rather than animating properly once the "handanim[] =" value was assigned to my new rtm in the weapon's config.

Share this post


Link to post
Share on other sites
Weapon holding animation is simple static pose (like static cargo animation). You can make the animation in O2 it using released rigid character model (BISkeleton). You can use any RTM of man from Arma1 as sources for basic pose. RTM of handgrip is configured in the weapon config and engine uses only hand bones position relative to weapon bone.

OK, sounds easy enough, thanks for the info and thanks to all who replied. Too bad the default hand animations are binarized.

Share this post


Link to post
Share on other sites
Are the names of the keyframes (times) important and how many should there be? Most static cargo anims in ArmA 1 had 3 keyframes; the default pose at -0.5 and two identical keyframes at 0.0 and 1.0.

I've tried to make new hand anims repeatedly using "anim\sdr\idl\erc\stp\ras\rfl\aidlpercmstpsraswrfldnon**.rtm" series of anims from ArmA 1 as a base: Deleting the keyframes between 0.0 and 1.0 so as to create a static anim, then repositioning the arms to suit the weapon model. However, the arms have have always distorted ingame, rather than animating properly once the "handanim[] =" value was assigned to my new rtm in the weapon's config.

I am having this same problem, this is what it looks like...

handx.jpg

Pretty scary huh?

Share this post


Link to post
Share on other sites

Yep, that's the exact same result I get. The arm and hand verts stretch way out to the character's left

Kinda looks like something out of John Carpenter's "The Thing"

Share this post


Link to post
Share on other sites

I have tried every different keyframe configuration so far, all with the same result, also tried to move the entire "-forearm" selection along with the hand, same result. All I am trying to do is mimic the MK48 animation with the left hand moved back so the character can grip a vertical foregrip on a standard length m4 fore-end.

Maybe Armored Sheep will come back.. I hope.

Edited by ADuke

Share this post


Link to post
Share on other sites

Indeed.

I've tried all sorts of keyframe set-ups, translations and rotations of the model relative to the origin of the X,Y,Z axis, tried looking for named properties that might be needed and references in the games config that might need setting up: all sorts of stuff, but nothing's worked so far...

Like you, all I really want to do is make a vert-grip anim like the Mk.48's, just for a shorter weapon.

Share this post


Link to post
Share on other sites

The pic indicates you are viewing it in-game. Have you binarized the .rtm?

When you open the BIS A2 Soldier and load in your .rtm and view it in Buldozer does it also exhibit this warping?

When you save out your 'new' anim to disk do you get any warning/errors popping up?

I could have a quick squizzy at the .rtm here if you wanna send it over. It's more likely though that it's something todo with your point/poly selections and/or weights but kinda hard to tell.

Share this post


Link to post
Share on other sites

Well, here's hoping that we can figure out our mutual dilemma. I thought this may be a problem with my character model being ported from ArmA 1 but no dice, happens the same on the default USMC models, so that's one more variable down.

---------- Post added at 02:33 PM ---------- Previous post was at 02:31 PM ----------

The pic indicates you are viewing it in-game. Have you binarized the .rtm?

When you open the BIS A2 Soldier and load in your .rtm and view it in Buldozer does it also exhibit this warping?

When you save out your 'new' anim to disk do you get any warning/errors popping up?

I could have a quick squizzy at the .rtm here if you wanna send it over. It's more likely though that it's something todo with your point/poly selections and/or weights but kinda hard to tell.

OK, thanks, going to upload a.rar with the anim to filefront.

Share this post


Link to post
Share on other sites

I just gues, but might be, you defined ROOT bone when Oxygen asked for it during export to RTM?

If so, than delete this root bone definition in O2 options and when exporting to RTM cancel/skip the root bone question dialogue.

Another problem can be if you dont use my rigid skeleton model, but some other mesh with skinning. RTM can be exported only from mesh with 100% weight for selections, no skinning, otherwise you got such movie "The Thing" distorsions.

Edited by Armored_Sheep

Share this post


Link to post
Share on other sites

OK so here is my anim, looks pretty bad I know, but I was assuming all I needed was the hand parts.

I just gues, but might be that you defined ROOT bone when Oxygen asked for it during export to RTM?

If so, that delete this root bone definition in O2 options and when exporting to RTM cancel/skip the root bone question dialogue.

Thanks, that sounds like it might do the trick, going to try.

---------- Post added at 02:59 PM ---------- Previous post was at 02:46 PM ----------

I just gues, but might be, you defined ROOT bone when Oxygen asked for it during export to RTM?

If so, than delete this root bone definition in O2 options and when exporting to RTM cancel/skip the root bone question dialogue.

Another problem can be if you dont use my rigid skeleton model, but some other mesh with skinning. RTM can be exported only from mesh with 100% weight for selections, no skinning, otherwise you got such movie "The Thing" distorsions.

Ya, I am ONLY using your BI_Skeleton model.

---------- Post added at 03:17 PM ---------- Previous post was at 02:59 PM ----------

OK so here is my anim, looks pretty bad I know, but I was assuming all I needed was the hand parts.

Thanks, that sounds like it might do the trick, going to try.

---------- Post added at 02:59 PM ---------- Previous post was at 02:46 PM ----------

Ya, I am ONLY using your BI_Skeleton model.

Actually, when I "export matrices" O2 doesn't ask me for anything, just exports the animation.

Share this post


Link to post
Share on other sites
I just gues, but might be, you defined ROOT bone when Oxygen asked for it during export to RTM?

If so, than delete this root bone definition in O2 options and when exporting to RTM cancel/skip the root bone question dialogue.

Yea, I have the anim centre set to the head bone waaay back from when I started making crew anims for UKF's vehicles. All my anims are done on the released skeleton models; male.p3d (ArmA 2) or BISkeleton.p3d (ArmA 1). They load fine on Examples\soldier.p3d in O2, but distort ingame if they are called by handanim. They load ingame fine if they are set up as the typical cfgmoves-type anim.

I'll try it out with a blank definition.

Thanks for the info

Edited by da12thMonkey

Share this post


Link to post
Share on other sites

Some observations...

I'm sure in the earlier version of the BI Tools suite for A2 that the buldozer viewer worked when previewing a character rtm... It doesn't work for me using the version 2 tools suite install (which utilizes version 1.03.0.0 of the .exe & accompany bin.pbo shaders).

However, static 'user anims' like doors & flaps etc. that are defined in one's model.cfg file preview fine.

The A1 version of O2PE had problems interacting with the buldozer.exe instance too when previewing large .rtm's. And, it appears to still have issues.

Even swapping out the 'little block' v1.03.0.0 .exe and compiled shaders for a later ArmA2 game .exe (with it's appropriate shaders) has no effect.

When one exports an .rtm from within O2PE (tools suite v2) the resultant rtm_0101 appears to be malformed.

For instance. If you open the supplied A2 BIS character skeleton model. Load a A1 unbinarized .rtm and then immediately export it out to a new filename without making any alterations the resultant .rtm is not the same as the original. Structurally, it similar but the 'new' version has rubbish inserted into the 32 character bone name just prior to the transform.

Like the A1 example BIS character skeleton model the A2 skeleton model's selections for the right hand & some of the left hand appear to be incorrectly defined in the named selection sets with the .p3d. Whether this has an impact when 'exporting' the .rtm I am uncertain. You can re-create this issue if you import an A1 rtm_0101.rtm into the A2 example skeleton model. You'll notice when you move from frame -0.5 (the default bind pose) that some of the verts of the poly's in the left & right hands are left behind because they are not defined as part of the selections.

I've redefined them to their appropriate selections.

Armored_Sheep, I suspect that your developer O2 and anims workflow pipeline is not exactly the same as the BI Tools Suite version 2 that has been supplied to this community and as such you are not seeing the issues that we are. Perhaps it might behove you to setup a fresh install on a machine and install the BIS A2 Tools Suite version 2 supplied at about mid August to view these issues for yourself.

Perhaps I'm wrong and interaction 'tween O2PE & Buldozer and the creation of .rtm's from O2PE works flawlessly... but, I don't think this is the case.

---------- Post added at 15:38 ---------- Previous post was at 14:01 ----------

On a closer comparision 'tween a A1 rtm_0101 unbinarized .rtm loading it into A2's O2PE (v2 Tools Suite) and exporting immediately out to a new filename. And, utilizing Armourd Sheep's tip of 'Not specifying a root bone'.

The 'new' version of the .rtm has the following characteristics.

1. The overall displacement (total moving for the OFPAnim oldies) is exactly the same.

2. The bone ordering is different.

3. The 32 char length bone names are padded with spurious values. But, the asciiz is the same, just differently order as mentioned above.

4. The transforms are ever so slightly different.

My conclusion is that although A2's O2PE (v2 Tools Suite) writes what appears to be a malformed .rtm that it is sufficiently suitable for binarize (if you rtmb them) or the engine to read them and utilize them.

The issue of O2PE's interaction with buldozer.exe and or arma2.exe (in buldozer mode) still remains but isn't actually relevant to this thread. Still, it'd be nice if the tools were capable.

The issue of the verts not being assigned correctly in the BIS Example A2 Character model and whether it has any impact on your guys deformation can only be answered by a Dev.

When the both of you package up your 'new' anims into a .pbo do they binarize or are they left as unbinarized in the resultant .pbo?

The only way I know of to binarize them is to run them through binarize.exe all on the own specifying the commandline parameter -skeletion=OFP2_ManSkeleton.

Would be nice to know if there is a more efficienct manner to do this.

Do either of you have an example of your config.cpp that defines your .rtm for use in game?

Share this post


Link to post
Share on other sites

Do either of you have an example of your config.cpp that defines your .rtm for use in game?

The only reference I can find to BIS's handanim .rtm files are within the weapon configs themselves. e.g (from BIS' weapons.pbo config.bin):

};

class M4A1_RCO_GL : M4A1 {
	scope = public;
	displayName = $STR_DN_M4A1_RCO_GL;
	handAnim[] = {"OFP2_ManSkeleton", "\Ca\weapons\data\Anim\M16GL.rtm"};
	dexterity = 1.59;
	model = "\ca\Weapons\M4A1_RCO_GL";
	picture = "\CA\weapons\data\equip\w_m4gl_acog_ca.paa";
	UiPicture = "\CA\weapons\data\Ico\i_regular_CA.paa";
	muzzles[] = {"M4_ACOG_Muzzle", "M203Muzzle"};

	class M4_ACOG_Muzzle : M4A1 {
		magazines[] = {"30Rnd_556x45_Stanag", "30Rnd_556x45_StanagSD", "20Rnd_556x45_Stanag"};
		modes[] = {"Single", "FullAuto"};
		modelOptics = "\ca\weapons\2Dscope_Acog_4x32";
		opticsPPEffects[] = {"OpticsCHAbera2", "OpticsBlur2"};
		opticsZoomInit = 0.0623;
		opticsZoomMin = 0.0623;
		opticsZoomMax = 0.0623;
		distanceZoomMin = 100;
		distanceZoomMax = 100;
		opticsFlare = true;
		opticsDisablePeripherialVision = true;
	};

The inheritance from the weapon I'm applying the anim to looks like this.

	class ukf_L85A2: m4a1
{
	model = "\ukf_ukweps\iron\ukf_sa80_ironsights.p3d";
	displayName = "L85A2";
	picture = "\ukf_ukweps\icons\irn80icon.paa";
	scope = 2;
	modelOptics = "-";
	optics = 1;
	distanceZoomMin = 316;
	distanceZoomMax = 316;
	handAnim[] = {"OFP2_ManSkeleton", "\ukf_ukweps\sa80\UKF_L85A2.rtm"};
	dexterity = 1.700000;
	UiPicture = "\CA\weapons\data\Ico\i_regular_CA.paa";
};

I've tried it with a typical class CfgMovesMaleSdr set up in the config too (as you would do to define any other player animation in the game), to see if I could get the anim ingame as a static anim using playmove. That worked, but the handanim still did not.

I've even checked a few of BIS's weapon model.cfgs using Mikero's PboDll toolset, just in case the info needs binarizing into the .p3d as well.

I have tried binarizing the .rtm with binarize.exe but I don't really know the correct syntax for doing rtms beside it needing the -skeleton= operator (which you told me about a few weeks ago). I'm very rusty on using the command line to pack addons: I've not done it since my early OFP exploits, so I definitely did it wrong. I've done it both with and without binarizing the rest of the .pbo

.rtm binarization might be the missing link; I'd need someone to tell me the full, correct syntax or makes a plugin/extension for BinPBO that adds the -skeleton extension for rtm binarization to do it properly though because I'm thick.

Share this post


Link to post
Share on other sites
I've even checked a few of BIS's weapon model.cfgs using Mikero's PboDll toolset, just in case the info needs binarizing into the .p3d as well.

yeah, nah... there's nothing of interest there as the character models don't use model.cfg based anims.

.rtm binarization might be the missing link; I'd need someone to tell me the full, correct syntax or makes a plugin/extension for BinPBO that adds the -skeleton extension for rtm binarization to do it properly though because I'm thick.

The current way I do it is... build the .pbo with BinPBO, specifying that it use a 'temp' folder. Once, it's finished I discard the resultant .pbo.

Then I open a 'Dos promopt' into the root of my P:\ drive where I have the following batch command file sitting. I then edit it to suit the appropriate paths and run it.

So, it processes just the .rtm and binarizes it over to the 'temp' folder.

I then navigate to the temp folder in Windows explorer and 'clean' away the .dep files and any other spurious files that may be lying around in the the folder that would have been previously .pbo'd by Filebank right at the start and then just either Filebank the folder (or Eliteness or cpbo but of course with the $pboprefix$ as appropriate).

build.cmd

d:\a2tools\binmake\binarize\binarize.exe -always -skeleton="synManSkeleton" -addon=p:\bis -binpath=d:\a2tools\binmake\binarize -textures=d:\temp p:\bis\bodies d:\temp\bis\bodies amovpercmrunsraswrfldf_amovpercmevasraswrfldr.rtm

The -skeleton is my own version, you'd probably use 'OFP2_ManSkeleton' and this of course would be defined in the model.cfg file sitting in the folder where the unbinarized.rtm is sitting.

The -addon is the 'Path To Project' folder as per BinPBO.

The -binpath is the path to your binarize.exe for the A2 tools install and should have a \bin subfolder in there already. I usually update the contents of this \binarize\bin folder with a dump from the current game version bin.pbo/config, fyi. (backup the orig. \binarize\bin folder that was installed with binarize.exe during the tools installation as it has some relevant textual comments that are sometimes of use to people...)

-textures is the path to the 'temp' folder that one would have also specified in using BinPBO.

The 3rd to last param is the path to the folder you are 'building' and of course contains the .rtm you are parsing.

The 2nd to last is the 'output' folder to where the RTMB will be written by binarize and should already exist in your 'temp' folder structure as it would have been created by BinPBO right at the start.

The last param is of course the .rtm you are binarizing.

The above will only act upon the .rtm specified and no other files, config's, .p3d's, .paa's etc will be touched.

Lemme know if you have probs. To say the least the above method is a literal pain in the arse... but it works.

Edit: This is why I asked the question in another thread about BinPBO/binarize looking for a <myamin>.cfg and whether this was the useful method of telling binarize what to do. But, no one has bothered replying to that.

Edit2: Sorry about the fast and furious details above... a bit rushed atm... hope it's understandable.

Edited by Synide

Share this post


Link to post
Share on other sites

Alright guys i made this work. This is (hopefully) all what you have to do:

- create an animation (with -0.5/0/1.0 key frames) using male.p3d and export matrices to .rtm

- copy the main model.cfg (13kb one with all the classes) from BIS "Examples" to my acr_weapons folder

- creating a separate model.cfg in each weapon's folder (f.e. acr_weapons\m60e4\model.cfg) containig the desired weapons bones and animations

- use the line

handAnim[] = {"OFP2_ManSkeleton", "\acr_weapons\data\Anim\acr_m60.rtm"};

in your weapons config.cpp with proper path to your animation

- i've also deleted the *.rtm from BinPBO options to make the BinPBO convert .rtms (although i'm not sure if it's really needed, and working)

- pack the .pbo with BinPBO

- play the game wth your new anims

Hopefully, i didn't forget anything and this will help you all. If you'll have any questions, do'nt hesitate to ask.

Share this post


Link to post
Share on other sites

OK, glad you got it to work, I have some questions...

When you made the animation did you move just the hands or does the entire skeleton follow suit with the hand positions?

Did you create it from scratch or modify an existing animation?

If you remove the model.cfg (from BIS examples) from your weapons folder, does the animation still work?

and finally....

Would you be willing to share your anim with us for reference?

A LOT of people would like to make this work and are having trouble.

Thanks, for the info and congrats on making it work.

Share this post


Link to post
Share on other sites

- copy the main model.cfg (13kb one with all the classes) from BIS "Examples" to my acr_weapons folder

- creating a separate model.cfg in each weapon's folder (f.e. acr_weapons\m60e4\model.cfg) containig the desired weapons bones and animations

So your project folder contains one model.cfg in the main folder that details the soldier cfgskeletons etc, then another model.cfg in each of your sub-folders that contain the class cfgskeletons, class cfgmodels and class animations for just the weapon .p3d you're binarizing with the model.cfg; or do these sub-folder model.cfgs also contain the data from the BIS example?

Anyway; thanks for the help everyone, I't's definitely helping. Hopefully I can get it to work myself.

Share this post


Link to post
Share on other sites

@ADuke

- not only hands but whole arms etc. don't foget to "work" only with the selections named as f.e. "-LeftForeArm" not just the "LefForeArm"

- created from scratch

- didn't try it but guess it won't because you'll lose the definition of OFP2_man_skeleton with it

- here is the file

@da12thMonkey

- sub folders contain cfgskeletons, cfgmodels and animations only for model(s) in the particular folder

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  

×