Jump to content
Noks - Ohliger

Ingame rotation problem (does not appear in O2)

Recommended Posts

Hello,

 

I have a problem with my animations which do not appear to rotate around the right axis, but only in game.

 

 

Here are the rendered animations in O2 :

 

da151e0cc565482580ca8440d6b1a1df.png

In red you will see the axis, in green the rotating bones.

 

 

Here in arma 3 :

 

fdb15755dd778fa257b31ff49eebf012.jpg

 

Looks like the rotation center is the center of the player.

 

class CfgSkeletons
{
	class MY_SPLENDID_WEAPON
	{
		pivotsModel="";
		isDiscrete = 1;
		skeletonInherit = "";
		skeletonBones[] =
		{
			"trigger",			"",
			"bolt",				"",
			"bolthandle",		"bolt",
			"ejector",			"bolt",
			"firepin",			"bolt",
			"magazine",			"",
			"bullets",			"",
			"safety",			"",
			"muzzleFlash",		"",
			"foresight_unhide",	"",
			"Sight", 			"foresight_unhide",
			"foresight_hide", 	"",
			"BackSight",		"",
			"fireselector",		""
		};
	};
};
class CfgModels
{
	class MY_SPLENDID_WEAPON
	{
        htMin=0;
        htMax=0;
        afMax=0;
        mfMax=0;
        mFact=0;
        tBody=0;
		skeletonName = "MY_SPLENDID_WEAPON";
		sectionsInherit = "";
		sections[] = {"muzzleFlash"};
		class Animations
		{
/*
			class safety_mode_rot
			{
				type			= "rotation";
				source			= "weaponMode";
				selection		= "safety";
				axis			= "safety_axis";
				memory			= 1;
				minValue		= 0;
				maxValue		= 0;
				angle0			= "rad 180";
				angle1			= "rad 0";
			};
*/			
			
			class trigger
			{
				type = "rotation";
				source = "reload";
				sourceAddress = "clamp";
				selection = "trigger";
				axis = "trigger_axis";
				memory = 1;
				minValue = 0;
				maxValue = 0.05;
				angle0 = "0";
				angle1 = "rad 15";
			};
			class firepin
			{
				type = "translation";
				source = "reload";
				sourceAddress = "clamp";
				selection = "firepin";
				axis = "firepin_axis";
				memory = 1;
				minValue = 0;
				maxValue = 0.06;
				minPhase = 0;
				maxPhase = 0.06;
				offset0 = -0.5;
				offset1 = 0;
			};
			class bolt_reload_move_1
			{
				type = "rotation";
				source = "reload";
				sourceAddress = "clamp";
				selection = "bolt";
				axis = "bolt_axis";
				memory = 1;
				minValue = 0.2;
				maxValue = 0.3;
				angle0 = "rad 0";
				angle1 = "rad 80";
			};
			class bolt_reload_move_2
			{
				type = "translation";
				source = "reload";
				sourceAddress = "clamp";
				axis = "bolt_axis";
				selection = "bolt";
				minValue = 0.30001;
				maxValue = 0.4;
				offset0 = 0;
				offset1 = -1;
			};
			
			class bolt_reloadmagazine_move_1
			{
				type = "rotation";
				source = "reloadMagazine";
				sourceAddress = "clamp";
				selection = "bolt";
				axis = "bolt_axis";
				memory = 1;
				minValue = 0.05;
				maxValue = 0.1;
				angle0 = "rad 0";
				angle1 = "rad 80";
			};
			class bolt_reloadmagazine_move_2
			{
				type = "translation";
				source = "reloadMagazine";
				sourceAddress = "clamp";
				axis = "bolt_axis";
				selection = "bolt";
				minValue = 0.10001;
				maxValue = 0.2;
				offset0 = 0;
				offset1 = -1;
			};
			class magazine_unhide
			{
				type = "hide";
				source = "reloadMagazine";
				selection = "magazine";
				minValue = 0;
				maxValue = 1;
				unhideValue = 0.55001;
				hideValue = 0.602;
			};
			class magazine_hide: magazine_unhide
			{
				hideValue = 0;
				unhideValue = 0.550;
			};
			class magazine_reload_move_1
			{
				type = "translation";
				source = "reloadMagazine";
				selection = "magazine";
				axis = "magazine_axis";
				memory = 1;
				minValue = 0.55001;
				maxValue = 0.602;
				offset0 = 0;
				offset1 = -1;
			};
			class bolt_reloadmagazine_move_3
			{
				type = "translation";
				source = "reloadMagazine";
				sourceAddress = "clamp";
				axis = "bolt_axis";
				selection = "bolt";
				minValue = 0.7;
				maxValue = 0.8;
				offset0 = 0;
				offset1 = 1;
			};
			class bolt_reloadmagazine_move_4
			{
				type = "rotation";
				source = "reloadMagazine";
				sourceAddress = "clamp";
				selection = "bolt";
				axis = "bolt_axis";
				memory = 1;
				minValue = 0.80001;
				maxValue = 0.9;
				angle0 = "rad 0";
				angle1 = "rad -80";
			};
			
			class bullets_hide: magazine_unhide
			{
				source = "isEmpty";
				selection = "bullets";
				hideValue = 1;
				unhideValue = 0;
			};
			
			class raise_frontsight
			{
				type = "rotation";
				source = "zeroing1";
				selection = "foresight_unhide";
				axis = "foresight_axis";
				memory = 1;
				minValue = 0;
				maxValue = 0.2;
				angle0 = 0;
				angle1 = "rad -90";
			};
			class zeroing
			{
				type = "translation";
				source = "zeroing1";
				sourceAddress = "clamp";
				selection = "Sight";
				axis = "sight_axis";
				memory = 1;
				minValue = 0.2;
				maxValue = 1;
				offset0 = 0;
				offset1 = 1;
			};
			
			class muzzleFlashROT
			{
				type="rotationX";
				source="ammoRandom";
				sourceAddress="loop";
				selection="muzzleFlash";
				axis="";
				memory = 0;
				centerFirstVertex=true;
				minValue=0;
				maxValue=4;
				angle0="rad 0";
				angle1="rad 360";
			};		
			
			class foresight_hide
			{
				type = "hide";
				source = "hasOptics";
				selection = "foresight_hide";
				memory = 0;
				minValue = 0;
				maxValue = 1;
				hideValue = 0;
				unHideValue = 1;
			};
			class foresight_unhide: foresight_hide
			{
				selection = "foresight_unhide";
				hideValue = 0.9;
				unHideValue = 0;
			};
		};
	};
};

The animated bones are "foresight_unhide" and "bolt".

The classnames of the animations are "raise_frontsight", "zeroing", "bolt_reload_move_1" and "bolt_reloadmagazine_move_1" / "bolt_reloadmagazine_move_4".

Share this post


Link to post
Share on other sites

You have "autocenter = 0" in the Geometry LOD properties?

Have you double and triple checked the spelling of your axis memory points are the same as in the model.cfg?

 

  • Like 1

Share this post


Link to post
Share on other sites

Oh yes finally, thanks for the answer!

 

I just tried with the autocenter property set to 0 and it worked just perfectly!

I had never heard about property before that, thank you so much.

 

EDIT: I'm so happy, I will credit for your help even though that was almost nothing.

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

×