This shows you the differences between two versions of the page.
arma3:config:muzzle-flash-animation [2016-08-29 09:30] |
arma3:config:muzzle-flash-animation [2016-08-29 09:30] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== ArmA 3 Muzzle Flash Animation ====== | ||
+ | Both are named zasleh for the selectionFireAnim in the turret's config and the model.cfg has zasleh defined as a section. Then one proxy is named muzzleflash1, and the other muzzleflash2 those two are defined as bones in class CfgSkeletons: | ||
+ | <code cpp> | ||
+ | class CfgSkeletons | ||
+ | { | ||
+ | class Default | ||
+ | { | ||
+ | isDiscrete = 1; | ||
+ | skeletonInherit = ""; | ||
+ | skeletonBones[] = {}; | ||
+ | }; | ||
+ | class myWeapon: Default | ||
+ | { | ||
+ | skeletonInherit="Default"; | ||
+ | skeletonBones[]= | ||
+ | { | ||
+ | "muzzleFlash1","", | ||
+ | "muzzleFlash2","" | ||
+ | }; | ||
+ | }; | ||
+ | }; | ||
+ | </code> | ||
+ | Then both have an animation defined to rotate them at random: | ||
+ | <code cpp> | ||
+ | class zaslehROT | ||
+ | { | ||
+ | type="rotationZ"; | ||
+ | source="muzzleHMG_ROT"; | ||
+ | sourceAddress="loop"; | ||
+ | selection="muzzleFlash1"; | ||
+ | axis=""; | ||
+ | centerFirstVertex=1; | ||
+ | minValue=0; | ||
+ | maxValue=4; | ||
+ | angle0="rad 0"; | ||
+ | angle1="rad 360"; | ||
+ | }; | ||
+ | class zaslehROT2: zaslehROT | ||
+ | { | ||
+ | selection="muzzleFlash2"; | ||
+ | }; | ||
+ | </code> | ||
+ | The vehicle has a custom muzzle source based on the reload animation source. I suppose you could do the same on a weapon with source = reload; using hidevalue and unhidevalue. It works on vehicles with hidevalue = 1; but I think the reload source on vehicles runs backwards compared to what it does on weapons. |