Jump to content
🛡️FORUMS ARE IN READ-ONLY MODE Read more... ×
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

×