Port ArmA 2 Vehicles To ArmA 3 Aplion Model.Cfg

ArmA 3 Forum, ArmA 3, ArmA 3 Config, ArmA 3 Missions, ArmA 3 3D Modeling, ArmA 3 Scripting, ArmA 3 Terrain, ArmA 3 Texturing, ArmA 3 Tools

This is the model.cfg file from Port ArmA 2 Vehicles To ArmA 3 tutorial.

#define BULLET_HIDE(x,from,count) class Bullet##x\
			{\
				type="hide";\
				source="revolving";\
				sourceAddress="mirror";\
				selection=bullet##x;\
				minValue=-1.000000;\
				maxValue= 0.000000;\
				hideValue=((count+x-from-2)/count)+0.00001;\
			};
class Rotation
{
	type = "rotation";
	memory = 1;
	minValue = 0;
	maxValue = 1;
	angle0 = 0;
	angle1 = 1;
};
class CfgSkeletons
{
	class Default
	{
		isDiscrete = 1;
		skeletonInherit = "";
		skeletonBones[] = {};
	};
	class Vehicle : Default {};
	class Car : Vehicle {
		skeletonBones[]=
		{
			"drivewheel","",
 
			"wheel_1_1_damper_land","",
			"wheel_1_2_damper_land","",
			"wheel_1_3_damper_land","",
			"wheel_1_4_damper_land","",
 
			"wheel_2_1_damper_land","",
			"wheel_2_2_damper_land","",
			"wheel_2_3_damper_land","",
			"wheel_2_4_damper_land","",
 
			"wheel_1_1_damper","wheel_1_1_damper_land",
			"wheel_1_2_damper","wheel_1_2_damper_land",
			"wheel_1_3_damper","wheel_1_3_damper_land",
			"wheel_1_4_damper","wheel_1_4_damper_land",
 
			"wheel_2_1_damper","wheel_2_1_damper_land",
			"wheel_2_2_damper","wheel_2_2_damper_land",
			"wheel_2_3_damper","wheel_2_3_damper_land",
			"wheel_2_4_damper","wheel_2_4_damper_land",
 
			"wheel_1_1_steering","wheel_1_1_damper",
			"wheel_1_2_steering","wheel_1_2_damper",
			"wheel_1_3_steering","wheel_1_3_damper",
			"wheel_1_4_steering","wheel_1_4_damper",
 
			"wheel_2_1_steering","wheel_2_1_damper",
			"wheel_2_2_steering","wheel_2_2_damper",
			"wheel_2_3_steering","wheel_2_3_damper",
			"wheel_2_4_steering","wheel_2_4_damper",
 
			"wheel_1_1","wheel_1_1_steering",
			"wheel_1_2","wheel_1_2_steering",
			"wheel_1_3","wheel_1_3_steering",
			"wheel_1_4","wheel_1_4_steering",
 
			"wheel_2_1","wheel_2_1_steering",
			"wheel_2_2","wheel_2_2_steering",
			"wheel_2_3","wheel_2_3_steering",
			"wheel_2_4","wheel_2_4_steering",
 
			"wheel_1_1_unhide","wheel_1_1",
			"wheel_1_2_unhide","wheel_1_2",
			"wheel_1_3_unhide","wheel_1_3",
			"wheel_1_4_unhide","wheel_1_4",
 
			"wheel_2_1_unhide","wheel_2_1",
			"wheel_2_2_unhide","wheel_2_2",
			"wheel_2_3_unhide","wheel_2_3",
			"wheel_2_4_unhide","wheel_2_4",
 
			"wheel_1_1_hide","wheel_1_1",
			"wheel_1_2_hide","wheel_1_2",
			"wheel_1_3_hide","wheel_1_3",
			"wheel_1_4_hide","wheel_1_4",
 
			"wheel_2_1_hide","wheel_2_1",
			"wheel_2_2_hide","wheel_2_2",
			"wheel_2_3_hide","wheel_2_3",
			"wheel_2_4_hide","wheel_2_4",
 
			"OtocVez","",
			"OtocHlaven","OtocVez",
 
			"damageHide","",
			"damageVez","OtocVez",
			"damageHlaven","OtocHlaven",
 
			"ukaz_rychlo","",
			"ukaz_rychlo2","",
			"ukaz_rpm","",
			"mph","",
			"rpm","",
			"fuel","",
			"fuel_1","",
			"fuel_01","",
			"fuel_2","",
			"fuel_3","",
			"prop_01","",
			"prop_02","",
			"prop_2","",
			"prop_1","",
			"glass1","damageHide",
			"glass2","damageHide",
			"glass3","damageHide",
			"glass4","damageHide",
		};
	};
	class HMMWVSkeleton:Car
	{
		isDiscrete=1;
		skeletonInherit="Car";
		skeletonBones[]=
		{
			"ammo_belt","OtocHlaven"
		};
	};
	class HMMWV_M2_Skeleton:HMMWVSkeleton
	{
		isDiscrete=1;
		skeletonInherit="HMMWVSkeleton";
		skeletonBones[]=
		{
 
			"ammo_belt","OtocHlaven_Shake",
			"OtocHlaven_Shake","OtocHlaven",
			"bolt","OtocHlaven_Shake",
			"recoil","OtocHlaven_Shake",
			"charging_handle","OtocHlaven_Shake",
			"magazine","OtocHlaven_Shake",
			"feedtray_cover","OtocHlaven_Shake",
			"bullet001","bullet002",
			"bullet002","bullet003",
			"bullet003","bullet004",
			"bullet004","bullet005",
			"bullet005","bullet006",
			"bullet006","bullet007",
			"bullet007","bullet008",
			"bullet008","bullet009",
			"bullet009","bullet010",
			"bullet010","bullet011",
			"bullet011","bullet012",
			"bullet012","ammo_belt"
		};
	};
};
 
class CfgModels
{
	class Default
	{
		sectionsInherit = "";
		sections[] = {};
		skeletonName = "";
	};
	class Vehicle: Default
	{
		sections[] =
		{
			"cislo",
			"grupa",
			"side",
			"sektor",
			"clan",
			"clan_sign",
			"podsvit pristroju",
			"poskozeni",
			"L svetlo",
			"P svetlo",
			"zasleh"
		};
	};	
	class Car: Vehicle
	{
		sectionsInherit="Vehicle";
		sections[]=
		{
			"ammo",
			"sklo predni p",
			"sklo predni l",
			"zadni svetlo",
			"brzdove svetlo",
			"spz",
			"karoserie",
			"motor",
			"zbran",
			"vez",
			"zbytek",
			"clan",
			"clan_sign",
			"zasleh",
			"P svetlo",
			"L svetlo",
			"palivo",
			"glass1",
			"glass2",
			"glass3",
			"glass4"
		};
		skeletonName="Car";
		class Animations
		{
			// destruct START
			class damageHide
			{
				type="hide";
				source="damage"; //damage //test
				selection="damageHide";
				hideValue=1.0;
			};
			class damageHideVez:damageHide
			{
				selection="OtocVez";
			};
			class damageHideHlaven:damageHide
			{
				selection="OtocHlaven";
			};
 
				// Wheels START
				// Wheels Complete Destruct START
				class wheel_1_1_destruct
				{
					type="hide";
					selection="wheel_1_1_hide";
					source="HitLFWheel";
					minValue = 0; // upravit na 0.99
					maxValue = 1; // upravit na 1.0
					hidevalue = 0.99;
				};
				class wheel_1_2_destruct:wheel_1_1_destruct {source="HitLBWheel";selection="wheel_1_2_hide";};
				class wheel_1_3_destruct:wheel_1_1_destruct {source="HitLMWheel";selection="wheel_1_3_hide";};
				class wheel_1_4_destruct:wheel_1_1_destruct {source="HitLF2Wheel";selection="wheel_1_4_hide";};
 
				class wheel_2_1_destruct:wheel_1_1_destruct {source="HitRFWheel";selection="wheel_2_1_hide";};
				class wheel_2_2_destruct:wheel_1_1_destruct {source="HitRBWheel";selection="wheel_2_2_hide";};
				class wheel_2_3_destruct:wheel_1_1_destruct {source="HitRMWheel";selection="wheel_2_3_hide";};
				class wheel_2_4_destruct:wheel_1_1_destruct {source="HitRF2Wheel";selection="wheel_2_4_hide";};
 
				class wheel_1_1_destruct_unhide
				{
					type="hide";
					selection="wheel_1_1_unhide";
					source="HitLFWheel";
					minValue = -1; // upravit na 0.99
					maxValue = 0; // upravit na 1.0
					hidevalue = 0.01;
					sourceAddress="mirror";
				};
				class wheel_1_2_destruct_unhide:wheel_1_1_destruct_unhide {source="HitLBWheel";selection="wheel_1_2_unhide";};
				class wheel_1_3_destruct_unhide:wheel_1_1_destruct_unhide {source="HitLMWheel";selection="wheel_1_3_unhide";};
				class wheel_1_4_destruct_unhide:wheel_1_1_destruct_unhide {source="HitLF2Wheel";selection="wheel_1_4_unhide";};
 
				class wheel_2_1_destruct_unhide:wheel_1_1_destruct_unhide {source="HitRFWheel";selection="wheel_2_1_unhide";};
				class wheel_2_2_destruct_unhide:wheel_1_1_destruct_unhide {source="HitRBWheel";selection="wheel_2_2_unhide";};
				class wheel_2_3_destruct_unhide:wheel_1_1_destruct_unhide {source="HitRMWheel";selection="wheel_2_3_unhide";};
				class wheel_2_4_destruct_unhide:wheel_1_1_destruct_unhide {source="HitRF2Wheel";selection="wheel_2_4_unhide";};
 
				// Wheels Complete Destruct END
 
				#define DamageOffset 0.2
				// Wheels Damage START
				class wheel_1_1_Damage:wheel_1_1_destruct
				{
					type="translation";
					axis="Basic_Damper_Destruct_Axis";
					memory=1;
					selection="wheel_1_1_damper_land";
					source="HitLFWheel";
					minValue = 0.0;
					maxValue = 1;
					offset0 = 0;
					offset1 = DamageOffset;
				};
				class wheel_1_2_Damage:wheel_1_1_Damage {source="HitLBWheel";selection="wheel_1_2_damper_land";};
				class wheel_1_3_Damage:wheel_1_1_Damage {source="HitLMWheel";selection="wheel_1_3_damper_land";};
				class wheel_1_4_Damage:wheel_1_1_Damage {source="HitLF2Wheel";selection="wheel_1_4_damper_land";};
 
				class wheel_2_1_Damage:wheel_1_1_Damage {source="HitRFWheel";selection="wheel_2_1_damper_land";};
				class wheel_2_2_Damage:wheel_1_1_Damage {source="HitRBWheel";selection="wheel_2_2_damper_land";};
				class wheel_2_3_Damage:wheel_1_1_Damage {source="HitRMWheel";selection="wheel_2_3_damper_land";};
				class wheel_2_4_Damage:wheel_1_1_Damage {source="HitRF2Wheel";selection="wheel_2_4_damper_land";};
 
 
				// animace damper smerem nahoru START
				class wheel_1_1_Damper_Damage_BackAnim:wheel_1_1_Damage {selection="wheel_1_1_damper";offset1 = -1*DamageOffset;};
				class wheel_1_2_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitLBWheel";selection="wheel_1_2_damper";};
				class wheel_1_3_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitLMWheel";selection="wheel_1_3_damper";};
				class wheel_1_4_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitLF2Wheel";selection="wheel_1_4_damper";};
 
				class wheel_2_1_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitRFWheel";selection="wheel_2_1_damper";};
				class wheel_2_2_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitRBWheel";selection="wheel_2_2_damper";};
				class wheel_2_3_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitRMWheel";selection="wheel_2_3_damper";};
				class wheel_2_4_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitRF2Wheel";selection="wheel_2_4_damper";};
				// animace damper smerem nahoru END
 
				// Wheels Damage END
				// Wheels END
 
				//Glass Damage START
				class Glass1_destruct
				{
					type="hide";
					selection="glass1";
					source="HitGlass1";
					minValue = 0; // upravit na 0.99
					maxValue = 1; // upravit na 1.0
					hidevalue = 0.99;
				};
				class Glass2_destruct:Glass1_destruct{selection="glass2";source="HitGlass2";};
				class Glass3_destruct:Glass1_destruct{selection="glass3";source="HitGlass3";};
				class Glass4_destruct:Glass1_destruct{selection="glass4";source="HitGlass4";};
				//Glass Damage END
 
			// destruct END
			class IndicatorSpeed
			{
				animPeriod=0;
				type="rotation";
				source="speed";
				selection="ukaz_rychlo";
				axis="osa_rychlo";
				memory=0;
				minValue=0.000000;
				maxValue=16.670000;
				angle0=0.000000;
				angle1=2.879793;
			};
			class IndicatorSpeed2
			{
				type="rotation";
				source="speed";
				selection="ukaz_rychlo2";
				axis="osa_rychlo2";
				memory=0;
				animPeriod=0;
				minValue=0;
				maxValue=16.670000;
				angle0=0;
				angle1="rad -240";
			};
			class IndicatorRPM
			{
				animPeriod=0;
				type="rotation";
				source="rpm";
				selection="ukaz_rpm";
				axis="osa_rpm";
				memory=0;
				minValue=0.000000;
				maxValue=1.000000;
				angle0=0.000000;
				angle1=2.967060;
			};
			class DrivingWheel: Rotation
			{
				source="drivingWheel";
				selection="drivewheel";
				axis="drivewheel_axis";
				minValue=-1;
				maxValue=1;
				angle0=(rad -80);
				angle1=(rad 80);
			};
			class TurnFrontWheelR
			{
				type="rotationY";
				source="drivingWheel";
				selection="wheel_2_1_steering";
				axis="wheel_2_1_steering_axis";
				memory=1;
				animPeriod=0;
				sourceAddress="loop";
				minValue="rad -180";
				maxValue="rad +180";
				angle0="rad +90";
				angle1="rad -90";
			};
			class TurnFrontWheelL: TurnFrontWheelR
			{
				selection="wheel_1_1_steering";
				axis="wheel_1_1_steering_axis";
			};
			class TurnFrontWheelR2: TurnFrontWheelR
			{
				selection="wheel_2_4_steering";
				axis="wheel_2_4_steering_axis";
			};
			class TurnFrontWheelL2: TurnFrontWheelR
			{
				selection="wheel_1_4_steering";
				axis="wheel_1_4_steering_axis";
			};
			class Wheel_1_1
			{
				type="rotationX";
				source="wheel";
				selection="wheel_1_1";
				axis="wheel_1_1_axis";
				memory=1;
				sourceAddress="loop";
				minValue=0;
				maxValue=1;
				angle0=0;
				angle1="rad -360";
			};
			class wheel_2_1: Wheel_1_1
			{
				selection="wheel_2_1";
				axis="wheel_2_1_axis";
			};
			class wheel_1_2: Wheel_1_1
			{
				selection="wheel_1_2";
				axis="wheel_1_2_axis";
			};
			class wheel_1_3: Wheel_1_1
			{
				selection="wheel_1_3";
				axis="wheel_1_3_axis";
			};
			class Wheel_2_2: Wheel_1_1
			{
				selection="wheel_2_2";
				axis="wheel_2_2_axis";
			};
			class Wheel_2_3: Wheel_1_1
			{
				selection="wheel_2_3";
				axis="wheel_2_3_axis";
			};
			class Wheel_1_4: Wheel_1_1
			{
				selection="wheel_1_4";
				axis="wheel_1_4_axis";
			};
			class Wheel_2_4: Wheel_1_1
			{
				selection="wheel_2_4";
				axis="wheel_2_4_axis";
			};
			class Wheel_1_1_Damper
			{
				type="translation";
				source="damper";
				selection="wheel_1_1_damper_land";
				axis="posun wheel_1_1";
				animPeriod = 1;
				minValue="0";
				maxValue="1";
				offset0= "0.5";
				offset1= "-0.5";
				memory=1;
			};
			class wheel_2_1_Damper: Wheel_1_1_Damper
			{
				selection="wheel_2_1_damper_land";
			};
			class wheel_1_2_Damper: Wheel_1_1_Damper
			{
				selection="wheel_1_2_damper_land";
			};
			class Wheel_2_2_Damper: Wheel_1_1_Damper
			{
				selection="wheel_2_2_damper_land";
			};
			class damageVez: damageHide
			{
				selection="damageVez";
			};
			class damageHlaven: damageHide
			{
				selection="damageHlaven";
			};
		};
	};
 
	class HMMWV: Car
	{
		sectionsInherit="Car";
		sections[]=
		{
			"Camo1"
		};
		skeletonName="HMMWVSkeleton";
		class Animations: Animations
		{
			// Dampers Destruct START
			class wheel_1_1_Damage:wheel_1_1_Damage {offset1 = 0.20;};
			class wheel_1_2_Damage:wheel_1_2_Damage {offset1 = 0.20;};
//			class wheel_1_3_Damage:wheel_1_3_Damage {offset1 = 0.20;};
 
			class wheel_2_1_Damage:wheel_2_1_Damage {offset1 = 0.20;};
			class wheel_2_2_Damage:wheel_2_2_Damage {offset1 = 0.20;};
//			class wheel_2_3_Damage:wheel_2_3_Damage {offset1 = 0.20;};
			// Dampers Destruct END
 
			// animace damper smerem nahoru START
			class wheel_1_1_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {offset1 = -0.20;};
			class wheel_1_2_Damper_Damage_BackAnim:wheel_1_2_Damper_Damage_BackAnim {offset1 = -0.20;};
//			class wheel_1_3_Damper_Damage_BackAnim:wheel_1_3_Damper_Damage_BackAnim {offset1 = -0.20;};
 
			class wheel_2_1_Damper_Damage_BackAnim:wheel_2_1_Damper_Damage_BackAnim {offset1 = -0.20;};
			class wheel_2_2_Damper_Damage_BackAnim:wheel_2_2_Damper_Damage_BackAnim {offset1 = -0.20;};
//			class wheel_2_3_Damper_Damage_BackAnim:wheel_2_3_Damper_Damage_BackAnim {offset1 = -0.20;};
			// animace damper smerem nahoru END
 
			class IndicatorSpeed: IndicatorSpeed
			{
				maxValue=16.670000;
				angle0=-0.174533;
				angle1=3.141593;
			};
			class IndicatorRPM: IndicatorRPM
			{
				angle0=0.000000;
				angle1=1.483530;
			};
			class fuel
			{
				type="rotation";
				source="fuel";
				selection="fuel_1";
				axis="fuel_1_axis";
				memory=0;
				minValue=0.000000;
				maxValue=1.000000;
				angle0=-0.087266;
				angle1=-1.658063;
			};
			class prop_01
			{
				type="rotation";
				source="rpm";
				selection="prop_01";
				axis="prop_01_axis";
				memory=0;
				minValue=0.000000;
				maxValue=0.360000;
				angle0=1.396263;
				angle1=0.000000;
			};
			class prop_02
			{
				type="rotation";
				source="rpm";
				selection="prop_02";
				axis="prop_02_axis";
				memory=0;
				minValue=0.000000;
				maxValue=0.640000;
				angle0=0.349066;
				angle1=-0.349066;
			};
 
			class Wheel_1_1_Damper: Wheel_1_1_Damper
			{
				type="translation";
				source="damper";
				selection="wheel_1_1_damper_land";
				axis="posun wheel_1_1";
				animPeriod = 1;
				minValue="0";
				maxValue="1";
				offset0= "0.5";
				offset1= "-0.5";
				memory=1;
			};
			class wheel_2_1_Damper: Wheel_1_1_Damper
			{
				selection="wheel_2_1_damper_land";			
			};
			class wheel_1_2_Damper: Wheel_1_1_Damper
			{
				selection="wheel_1_2_damper_land";						
			};
			class Wheel_2_2_Damper: Wheel_1_1_Damper
			{
				selection="wheel_2_2_damper_land";		
			};			
		};
	};
	class HMMWVTurret: HMMWV
	{
		class Animations: Animations
		{
			class MainTurret
			{
				type="rotationY";
				source="mainTurret";
				selection="OtocVez";
				axis="OsaVeze";
				animPeriod=0;
				minValue="rad -360";
				maxValue="rad +360";
				angle0="rad -360";
				angle1="rad +360";
			};
			class MainGun: MainTurret
			{
				type="rotationX";
				source="mainGun";
				selection="OtocHlaven";
				axis="OsaHlavne";
			};
			class damageHlaven: damageHide
			{
				selection="damageHlaven";
			};
		};
	};
	class HMMWV50: HMMWVTurret
	{
		skeletonName="HMMWV_M2_Skeleton";
		class Animations: Animations
		{
			class ammo_belt_rotation
			{
				type="rotationZ";
				source="ReloadAnim";
				selection="ammo_belt";
				axis="ammo_belt_axis";
				memory=1;
				sourceAddress="loop";
				minValue=0.000000;
				maxValue=1.0000;
				angle0=0.000000;
				angle1=-0.209440;
			};
			class Barrel_recoil:ammo_belt_rotation
			{
				type="translation";
				selection="recoil";
				axis="recoil_axis";
				sourceAddress="mirror";
				minValue=0.0;
				maxValue=0.5;
				offset0=0;
				offset1=-0.05;
			};
			class Bolt_recoil:Barrel_recoil
			{
				selection="bolt";
				offset0=0;
				maxValue=0.5;
				offset1=-0.25;
			};
			class Turret_shake:Barrel_recoil
			{
				selection="OtocHlaven_Shake";
				axis="osaveze";
				offset0=0;
				offset1=-0.002;
				maxValue=0.05;
			};
			class Turret_shake_aside:Turret_shake
			{
				axis="osahlavne";
				maxValue=0.05*1.3;
			};
			class Charging_handle_shake:Barrel_recoil
			{
				type="rotation";
				selection="Charging_handle";
				axis="Charging_handle_axis";
				sourceAddress="mirror";
				maxValue=0.005;
				angle0=0.000000;
				angle1=-0.1;
			};
			class Feedtray_cover_up
			{
				type="rotation";
				source="reloadMagazine";
				selection="feedtray_cover";
				axis="feedtray_cover_axis";
				memory=1;
				minValue=0.1000000;
				maxValue=0.130000;
				angle0=0.000000;
				angle1=-1.570796;
			};
			class Feedtray_cover_down:feedtray_cover_up
			{
				minValue=0.860000;
				maxValue=0.900000;
				angle0=0.000000;
				angle1=1.570796;
			};
			class Bolt_reload_begin:Bolt_recoil
			{
				type="translation";
				sourceAddress="clamp";
				source="reloadMagazine";
				minValue=0.00000;
				maxValue=0.0200000;
			};
			class Bolt_reload_end:bolt_reload_begin
			{
				minValue=0.050000;
				maxValue=0.070000;
				offset0=0;
				offset1=+0.25;
			};
			class Charging_handle_reload_begin:Bolt_reload_begin{selection="Charging_handle";};
			class Charging_handle_reload_end:Bolt_reload_end{selection="Charging_handle";};
 
			class Magazine_hide
			{
				type="hide";
				source="reloadMagazine";
				sourceAddress="mirror";
				selection="magazine";
				minValue=0.0;
				maxValue=0.5;
				hideValue=0.56;
			};
		};
	};
 
};