Jump to content
Sign in to follow this  
CyberpunkDev

Custom animations & custom skeleton supported yet?

Recommended Posts

I have non-human characters and animations I'm hoping to get in the game to use with some AI scripts but I don't see any tutorials on how to get a completely new character with new skeleton / anims in game.

Is this possible to do yet? Once I have my character and all the different animations ready in Maya, how would I get it working in game? Is it a really extensive undocumented scripting process that no one knows much about yet?

Share this post


Link to post
Share on other sites

Depends how complex you wanna be ,

I have had some success with Animals but had a problem witht he last update and ofp2manskeleton change when Binarising anims but its possible yes

what Nonhumans have you ?

Share this post


Link to post
Share on other sites
I have non-human characters and animations I'm hoping to get in the game to use with some AI scripts but I don't see any tutorials on how to get a completely new character with new skeleton / anims in game.

Is this possible to do yet? Once I have my character and all the different animations ready in Maya, how would I get it working in game? Is it a really extensive undocumented scripting process that no one knows much about yet?

Lol good timing :) - this is definitely possible as I'm doing the same thing since ~2 months on an unregular schedule for a human character (and allready have the custom character skeleton ingame + working rtms, although I wasn't the guy to create the custom rtms) .

It's just not very documentated. Most time-consuming would be a) creating the proper rtms for your character and b) configure all the animation entries. If you want him to shoot, run, walk etc. (like I did), after the rtms are done, you have to go through like 8000 lines of config.

Should your character be able to walk, shoot etc. like an arma2 soldier or is sth different (e.g. like thromps orca he created for arma3)?

@thromp

Damn you beat me

Edited by Icewindo

Share this post


Link to post
Share on other sites
8000 config entries

haha you must have the educed edition , i think there was about 100,000 lines in my config for a Rat i just made so the Snakes can eat lol

Joking of course but this RTM thing you mention sounds interesting , is he/she using maya or something ?

Share this post


Link to post
Share on other sites
haha you must have the educed edition , i think there was about 100,000 lines in my config for a Rat i just made so the Snakes can eat lol

Joking of course but this RTM thing you mention sounds interesting , is he/she using maya or something ?

Yeah it was actually 8000 lines - just changed it :p .

Ah nah, the RTMs were allready created by a very clever guy in ofpanim for an OFP mod (he also used rtmtoolbox) and they're pretty awesome for that (he created like 50+ anims, wth).

I ported the anims he created to be used with a new updated 3d model using the same skeleton in ArmA2. I've copied the whole standard arma2 cfgmoves and replaced the anims where I had existing anims - i have about 80% of the anims replaced which is pretty nice. Still having some problems with the leaning anims - I dont think its done by RTMs but by some transformation of the points based on entries in class BlendAnims.

The whole project is a big secret, but I'd be happy to share knowledge of my process on custom soldiers.

If you DL a maya trial thromp, for anims you could also use teacups ArmA RTM script. I've tested it with his rigged a1 soldier example the last week and I can say that imo it's way more effective than ofpanim. A keyframe anim that took me ~4 hours in ofpanim I did in 10 minutes of maya while it even looked more natural.

The whole animation process in maya is more intuitive - you dont have to move the points around by using an pretty unresponsive axis slider but drag them around like e.g. in pivot (program for creating 2d stick figure anims).

edit:

just noticed this was arma3 lol - damn. well i did all this stuff for A2 but since you got your whales to work thromp I wouldn't say it's not possible the same way.

Edited by Icewindo

Share this post


Link to post
Share on other sites
If you DL a maya trial thromp, for anims you could also use teacups ArmA RTM script. I've tested it with his rigged a1 soldier example the last week and I can say that imo it's way more effective than ofpanim. A keyframe anim that took me ~4 hours in ofpanim I did in 10 minutes of maya while it even looked more natural.

ill try it , i downloaded the trial on monday to check that fbx in the a3 download , i did some handanim with a2 skeleton and it works in A3 so i guess the old arma stuff might still work ,ill give it a try even tho i am just doing some small animals like Rats and maybe a Cat if i find a good model on Blendswap :)

Share this post


Link to post
Share on other sites
Depends how complex you wanna be ,

I have had some success with Animals but had a problem witht he last update and ofp2manskeleton change when Binarising anims but its possible yes

Thats really interesting, since you're checking Maya out could you import one of your animals to it, do some animating and share the process of how to get that in game? If you do happen to export anything from Maya that is.

what Nonhumans have you ?

I have a bunch of characters I was working on for my game, hard surface mechanical drones & quadraped monsters different species all rigged up ready to go. I want to add AI and an ability to hunt them for food, even some more normal type like wolves or something I would do, to spice up arma's forests in general.

Yeah it was actually 8000 lines - just changed it :p .

8000 are you kidding? That is insane, I hope you are exaggerating ? I can't see how adding a new animset would require that much scripting, that is like a nightmare mod pipeline. I don't think I could add and change 8 thousand lines for each character.

Edited by CyberpunkDev

Share this post


Link to post
Share on other sites
Thats really interesting, since you're checking Maya out could you import one of your animals to it, do some animating and share the process of how to get that in game? If you do happen to export anything from Maya that is.

i will be more likely to use Blender for my Animals to be honest then export the .BVh format and import direct to 02 .

quickest way to get your things in that are hunters and dont need complex is to go with Rabbit setup for cfgMoves , it can be scripted and simple

next level is class woman no Weapons but more complex controls and Cargo Animations necessary ( not sure if config for A3 is there yet )

then of course full blown soldier which you need to be sure you cover all the norma animations a soldier can do if it is to be playable not necessarily to have a keyframe but to make sure have them defined and set as "" so game wont crash arma.rpt whn some player as one of your Bots try to get in a car or plane or something and you have no animation set for it.

Basicly config movesare the imprtant thing my advice starte eay with rabbit it needs only really 3 animations ( 5 in total but actualy 2 are simple config changes to run and sprint ) so make a walk /Run/Die animation and it will go in game very easily.

simplest way and people will kill me for saying this is get OFPanim export the skeleton of your droid from o2 to ? p3d old and thne open in ofpanim .

otherwise if you can do in maya or max and export BVH or even better 3ds ( all frames and then import to 02 (make sure you slect button all frames) et voila

hope this mess helps ;)

Share this post


Link to post
Share on other sites

8000 are you kidding? That is insane, I hope you are exaggerating ? I can't see how adding a new animset would require that much scripting, that is like a nightmare mod pipeline. I don't think I could add and change 8 thousand lines for each character.

I'm afraid not, though its about ~650+ lines you need to change their file settings from and not 8000 (8000 lines is total count of lines). I've just done a total search for the number of comments I added and it was about 700. Everytime I replaced an RTM I commented out the original so subtracting some other stuff I commented on I changed about ~650 entries

--

As thromp said it all depends on the complexity. If you want the character to just be able to move without changing posture and speed, it's easier. E.g. the woman cfgmoves has alot less entries.

But there's really a large set of anims if you want everything like the a2 soldier. E.g. for just the rifle anims you'll have anims for rifle move/walk/run/sprint in Front,Left-Front, Right-Front, Backwards, Left-Backwards, Right-Backwards, rifle crawl (in all directions again) , rifle crouch (in all directions again), rifle transitions (still) to prone/kneel/stand in all combinations, run/sprint transitions to stop, rifle AIM anims, extra idle Anims for the AI, put down anims for rifle, rifle death anims while running, while standing, while prone etc. (although death anims would probably drop out in A3)

So with just the rifle stuff you'd allready have like 100 entries or so that'd have be adjusted.

cfgMovesMaleSdr normally even has 30k lines - it's the cutscene anims that clutter it up.

Here's the cut-down config without cutscene stuff - I used this extract as a template for my new characters and have replaced about ~80% of the total anims so far in my config.

Original cut-down cfg

http://pastebin.com/HtFVpr2M

the names are quite cryptic, but follow a logic. E.g. "AmovPknlMrunSrasWpstDr" would better translate to Move_Kneeled_Running_Raised_Pistol_reverse

I doubt this count changed much in ArmA3 - more likely it's risen up again, with the adding of diving anims, the combat run, different postures etc.

Edited by Icewindo

Share this post


Link to post
Share on other sites

Now I understand, the whole config is 8k lines, well 9k total, but you only have to change a line for every animation you add. So you're saying theres 650 animations? You made that many anims for your character already? Wow.

Well thanks for posting thats exactly what I needed

You said the game crashes if you don't put them all in? Or do you just put a blank frame animation in the lines you dont have anims for yet just to test and see it working?

Edited by CyberpunkDev

Share this post


Link to post
Share on other sites
Now I understand, the whole config is 8k lines, well 9k total, but you only have to change a line for every animation you add. So you're saying theres 650 animations? You made that many anims for your character already? Wow.

Well thanks for posting thats exactly what I needed, I was going crazy when you said 8 thousand lines, but I see now.

You said the game crashes if you don't put them all in? Or do you just put a blank frame animation in the lines you dont have anims for now just to test and see it working?

Nah the game will not crash - you can leave the old anims in the definitions - every anim that is missing though will sink the character into the ground so you notice quick whats missing. Some of the anims also repeat themselves in the config, BIS has been doing alot of variations of anims. So while they e.g. created 12 idle animations for crouch stance I have none available.

So I just replaced all idle crouch anims with the crouch stance general as a cheap exit.

In total I only have 270 anim files to work with from OFP so I also replaced all kneel walk anims with walk anims and some other stuff I had do it the same way. But I didn't create the anims, I'm porting it with his permission/support. Still, I also find the number of anims very impressive.

Also to consider he created all those anims in ofpanim... :butbut:

Edited by Icewindo

Share this post


Link to post
Share on other sites

You said the game crashes if you don't put them all in?

Hi that might have been me that said that , what i meant was this , essentialy as human player there are certain animations as a soldier you must have designated animations for , doesnt matter if they are simple 2 frame pause and they do nothing (unless some iterpolations are reffering and the anim is not right ).

so these are the defined anim you need for a soldier type character :

class ManActions
{
	Stop = "";
	StopRelaxed = "";
	TurnL = "";
	TurnR = "";
	TurnLRelaxed = "";
	TurnRRelaxed = "";
	Default = "";
	JumpOff = "";
	ReloadMagazine = "";
	ReloadMGun = "";
	ReloadAT = "";
	ReloadMortar = "";
	ThrowGrenade = "";
	WalkF = "";
	WalkLF = "";
	WalkRF = "";
	WalkL = "";
	WalkR = "";
	WalkLB = "";
	WalkRB = "";
	WalkB = "";
	SlowF = "";
	SlowLF = "";
	SlowRF = "";
	SlowL = "";
	SlowR = "";
	SlowLB = "";
	SlowRB = "";
	SlowB = "";
	FastF = "";
	FastLF = "";
	FastRF = "";
	FastL = "";
	FastR = "";
	FastLB = "";
	FastRB = "";
	FastB = "";
	EvasiveForward = "";
	EvasiveLeft = "";
	EvasiveRight = "";
	EvasiveBack = "";
	StartSwim = "";
	StopSwim = "";
	Down = "";
	Up = "";
	PlayerStand = "";
	PlayerCrouch = "";
	PlayerProne = "";
	Lying = "";
	Stand = "";
	Combat = "";
	Crouch = "";
	CanNotMove = "";
	Civil = "";
	CivilLying = "";
	FireNotPossible = "";
	Die = "";
	WeaponOn = "";
	WeaponOff = "";
	StrokeFist = "";
	StrokeGun = "";
	SitDown = "";
	Salute = "";
	BinocOn = "";
	BinocOff = "";
	PutDown = "";
	PutDownEnd = "";
	Medic = "";
	Treated = "";
	LadderOnDown = "";
	LadderOnUp = "";
	LadderOff = "";
	LadderOffTop = "";
	LadderOffBottom = "";
	GetInLow = "";
	GetInMedium = "";
	GetInHigh = "";
	GetOutLow = "";
	GetOutMedium = "";
	GetOutHigh = "";
	TakeFlag = "";
	HandGunOn = "";
	LookAround = "";
	Eat = "";
	StopEat = "";
	Rest = "";
	StopRest = "";
};

thats bare minimum you will also need getin for each different type of vehicle too if you wish to interact with BIs things .

However for a simple Rat like i work on now , you can see how i have followed the Rabbit example and altho i dont use most of them animations i have them defined in config with a simple 2 frame stop animation

this follows on from the above code inherriting and defining where an actual animation is needed for simple rat

class Actions
{
	class NoActions :ManActions
	{
		turnSpeed = 15;
		limitFast = 22.5;
		useFastMove = 0;
		upDegree = 0;
		stance = "ManStanceUndefined";
		Stop = "Rat_Stop";
		StopRelaxed = "Rat_Stop";
		TurnL = "Rat_Stop";
		TurnR = "Rat_Stop";
		TurnLRelaxed = "Rat_Stop";
		TurnRRelaxed = "Rat_Stop";
		Default = "Rat_Stop";
		JumpOff = "Rat_Stop";
		WalkF = "Rat_Hop";
		SlowF = "Rat_Hop";
		FastF = "Rat_Hop";
		EvasiveForward = "Rat_Sprint";
		Down = "Rat_Stop";
		Up = "Rat_Stop";
		PlayerStand = "Rat_Stop";
		PlayerCrouch = "Rat_Stop";
		PlayerProne = "Rat_Stop";
		Lying = "Rat_Stop";
		Stand = "Rat_Stop";
		Combat = "Rat_Stop";
		Crouch = "Rat_Stop";
		CanNotMove = "Rat_Stop";
		Civil = "Rat_Stop";
		CivilLying = "Rat_Stop";
		FireNotPossible = "Rat_Stop";
		Die = "Rat_Die";
		LookAround = "Rat_stopV1";

	};
	class RatActions: NoActions
	{
		Stop = "Rat_Stop";
		StopRelaxed = "Rat_Stop";
		TurnL = "Rat_Stop";
		TurnR = "Rat_Stop";
		TurnLRelaxed = "Rat_Stop";
		TurnRRelaxed = "Rat_Stop";
		Default = "Rat_Stop";
		JumpOff = "Rat_Stop";
		WalkF = "Rat_Hop";
		SlowF = "Rat_Hop";
		FastF = "Rat_Hop";
		EvasiveForward = "Rat_Sprint";
		Down = "Rat_Stop";
		Up = "Rat_Stop";
		PlayerStand = "Rat_Stop";
		PlayerCrouch = "Rat_Stop";
		PlayerProne = "Rat_Stop";
		Lying = "Rat_Stop";
		Stand = "Rat_Stop";
		Combat = "Rat_Stop";
		Crouch = "Rat_Stop";
		CanNotMove = "Rat_Stop";
		Civil = "Rat_Stop";
		CivilLying = "Rat_Stop";
		FireNotPossible = "Rat_Stop";
		Die = "Rat_Die";
		LookAround = "Rat_stopV1";
		turnSpeed = 300;
		limitFast = 25.5;
		useFastMove = 0;
		upDegree = "ManPosNoWeapon";
	};
};

As you see only really 5 keyframes but in essence the config makes 7 or 8 out of them so the rat can sprint and run off one animation by speeding up or slowing down or making different dying animation.

class States
{
	class Rat_Stop: StandBase
	{
		file = "\thromp\thromp_rat\anim\Rat_basicIdle";
		duty = -1;
		variantsAI[] = {"Rat_Stop",0.2,"Rat_StopV1",0.6,"Rat_Hop",0.2};
		speed = -1;
		relSpeedMin = 1;
		relSpeedMax = 1;
		connectTo[] = {"Rat_Stop",0.02,"Rat_StopV1",0.02,"Rat_Hop",0.1};
		connectFrom[] = {"Rat_Stop",0.02,"Rat_StopV1",0.02,"Rat_Hop",0.1};
		interpolateTo[] = {"Rat_Hop",0.1,"Rat_Die",0.1};
		preload = 1;
	};
	class Rat_Init: Rat_Stop
	{
		actions = "RatActions";
	};
	class Rat_StopV1: Rat_Stop
	{
		file = "\thromp\thromp_rat\anim\Rat_idleLookAround";
		connectTo[] = {"Rat_Stop",0.02,"Rat_StopV1",0.01,"Rat_Hop",0.1};
		speed = -1.1;
	};
	class Rat_Hop: StandBase
	{
		file = "\thromp\thromp_rat\anim\Rat_walk";
		duty = -0.7;
		speed = -1.0;
		connectFrom[] = {"Rat_Run",0.1,"Rat_Stop",0.1};
		connectTo[] = {"Rat_Run",0.1,"Rat_Stop",0.1};
		interpolateTo[] = {"Rat_Die",0.1};
	};
	class Rat_Run: StandBase
	{
		file = "\thromp\thromp_rat\anim\Rat_run";
		duty = -0.5;
		relSpeedMin = 0.5;
		relSpeedMax = 1;
		speed = -0.9;
		connectFrom[] = {"Rat_Sprint",0.2,"Rat_Hop",0.1};
		connectTo[] = {"Rat_Sprint",0.2,"Rat_Hop",0.1};
		interpolateTo[] = {"Rat_Die",0.1};
	};
	class Rat_Sprint: StandBase
	{
		file = "\thromp\thromp_rat\anim\Rat_run";
		duty = 0.5;
		relSpeedMin = 0.5;
		relSpeedMax = 1;
		speed = -0.4;
		connectTo[] = {"Rat_Sprint",0.1,"Rat_Run",0.2};
		connectFrom[] = {"Rat_Sprint",0.1,"Rat_Run",0.2};
		interpolateTo[] = {"Rat_Die",0.1};
	};
	class Rat_Die: DefaultDie
	{
		actions = "NoActions";
		file = "\thromp\thromp_rat\anim\Rat_die";
		speed = -1;
		looped = 0;
		variantsPlayer[] = {};
		variantsAI[] = {"Rat_Die",0.5,"Rat_Die3",0.5};
		variantAfter[] = {0,0,0};
		terminal = 1;
	};
	class Rat_Die3: Rat_Die
	{
		file = "\thromp\thromp_rat\anim\Rat_die";
	};
};

full config

http://pastebin.com/VTKSdbZT

and the Rat_skel has defined is imply a model.cfg

class CfgSkeletons
{
class default;
class rat_skel: default
{
               isdiscrete =0 ;
	skeletonInherit="";
	skeletonBones[]=
	{
"head","",
"body_f","head",
"body_m","body_f",
"body_r","body_m",
"left_legR","body_r",
"right_legR","body_r",
"tail","body_r",
"left_leg","body_f",
"right_leg","body_f"
	};
};


};

class CfgModels
{
class default;
class thr_rat_01: default
{
	sectionsInherit="";
	sections[]=
	{

	};
	skeletonName="rat_skel";

};

class thr_rat_02: thr_rat_01 {};

};

Edited by Thromp

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  

×