-
Content Count
1003 -
Joined
-
Last visited
-
Medals
-
Medals
Everything posted by alleycat
-
Weapon sounds affected by suppressors change in 1.23
alleycat replied to pettka's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Hi I am working through my first weapon export and the weapon has no muzzle flash. It does have some smoke puffs at the muzzle and the bullet appears to spawn too. Is that issue related to this? config.cpp /* Thompson M1921 created by cat */ //#include "basicdefines_A3.hpp" class CfgPatches { class cat_thompson1921 { units[]={}; weapons[]={"cat_thompson1921_stick"}; requiredVersion=0.1; requiredAddons[]={"A3_Weapons_F"}; }; }; /// All firemodes, to be sure class Mode_SemiAuto; class Mode_Burst; class Mode_FullAuto; class CfgWeapons { //Inheritance class Default {}; class RifleCore: Default {}; class Rifle: RifleCore {}; class Rifle_Base_F: Rifle { class WeaponSlotsInfo; class GunParticles; }; class SMG_01_Base: Rifle_Base_F {}; class SMG_01_F: SMG_01_Base {}; class CAT_thompson1921_stick: SMG_01_F { descriptionshort = "Submachine Gun<br />Caliber: .45 ACP"; dexterity = 100; displayname = "Thompson M1921 (20Rnd Stick)"; model = "cat_thompson\p3d\cat_thompson_stick.p3d"; picture = "\A3\Weapons_F_beta\Smgs\SMG_01\data\UI\gear_SMG_01_X_CA.paa"; scope = 2; uipicture = "\A3\Weapons_F\data\UI\icon_regular_CA.paa"; handanim[] = {"OFP2_ManSkeleton", "cat_thompson\anim\cat1.rtm"}; memorypointcamera = "eye"; modelOptics = "-"; reloadaction = ""; modes[] = {"Single", "FullAuto"}; // Size of recoil sway of the cursor maxRecoilSway=0.0125; // Speed at which the recoil sway goes back to zero (from maxRecoilSway to 0 in 1/swayDecaySpeed seconds) swayDecaySpeed=1.25; magazineReloadTime=5; class Library { libtextdesc = "$str_a3_cfgweapons_hgun_smg_01_library0"; }; class Single: Mode_SemiAuto { reloadtime = 0.085; sounds[] = {StandardSound, SilencedSound}; class BaseSoundModeType /// I am too lazy to copy this twice into both standard and silenced sounds, that is why there is a base class from which both inherit (and sound of closure stays the same no matter what muzzle accessory is used) { weaponSoundEffect = "DefaultRifle"; closure1[]={"A3\sounds_f\weapons\closure\closure_rifle_2", db-12, 1,10}; closure2[]={"A3\sounds_f\weapons\closure\closure_rifle_3", db-12, 1,10}; soundClosure[]={closure1,0.5, closure2,0.5}; }; class StandardSound: BaseSoundModeType /// Sounds inside this class are used when soundTypeIndex = 0, according to sounds[] { begin1[]={"A3\Sounds_F\weapons\SMG_02\SMG_02_st_1b", db0, 1,500}; begin2[]={"A3\Sounds_F\weapons\SMG_02\SMG_02_st_2b", db0, 1,500}; begin3[]={"A3\Sounds_F\weapons\SMG_02\SMG_02_st_3b", db0, 1,500}; soundBegin[]={begin1,0.33, begin2,0.33, begin3,0.34}; }; class SilencedSound: BaseSoundModeType /// Sounds inside this class are used when soundTypeIndex = 1, according to sounds[] { begin1[]={"A3\sounds_f\weapons\silenced\silent-07", db-1, 1,200}; begin2[]={"A3\sounds_f\weapons\silenced\silent-08", db-1, 1,200}; soundBegin[]={begin1,0.5, begin2,0.5}; }; /// various other fire mode parameters }; }; }; // -
Booleans are perfectly fine if you do it clean. So in your case, create the "negative shape" of the depression as a separate object, then bool carve it. Booleans only get a bad rep when people overuse it in places where regular poly by poly modeling would be more clean.
-
dev branch tools stuck at license screen
alleycat replied to alleycat's topic in ARMA 3 - BI TOOLS - TROUBLESHOOTING
After shift-tabbing a few times I was able to use an (invisible) cursor to mark the text and scroll down, then the button was clickable. The operating system is Windows 7. The text and the buttons displayed. I have no idea about programming windowsbut it appears As if the program switched to a different screen or frame that was not visible causing the input block which in windows is shown wit the DING sound. -
booleans. bool carve that shit like it owes you money
-
Th top row of points is the bolt_catch axis and the row below is bolt_axis. And I added a copy of the boly object and named it just to cover both bolt and bolt axis. The objects are just their own named selection. I cant use the bulldozer because it never boots, crashes ever y time with an external viewer error ---------- Post added at 09:18 PM ---------- Previous post was at 07:32 PM ---------- Ok got the dozer to run (it throws a few errors but the model shows) and when pressing enter it only shows ANIM in the top left but nothing else. So I assume its the model.cfg
-
How to animate a bolt moving? I have looked at the sample file, added my own bolt_axis points. This is the model.cfg: class CfgSkeletons { class Test_Weapon { pivotsModel=""; isDiscrete = 0; skeletonInherit = ""; skeletonBones[] = { "trigger", "", /// not in this model, but good to use "bolt", "", "bolt_catch", "", "magazine", "", "safety", "", "muzzleFlash", "", "OP", "", "ForeSight", "", "BackSight", "" }; }; }; class CfgModels { class Default; class Optic: Default { sections[]= { "zasleh" }; }; class Weapon: Default { sections[]= { "zasleh" }; htMin = 1; // Minimum half-cooling time (in seconds) htMax = 600; // Maximum half-cooling time (in seconds) afMax = 0; // Maximum temperature in case the model is alive (in celsius) mfMax = 0; // Maximum temperature when the model is moving (in celsius) mFact = 1; // Metabolism factor - number from interval <0, 1> (0 - metabolism has no influence, 1 - metabolism has full influence (no other temperature source will be considered)). tBody = 100; // Metabolism temperature of the model (in celsius) skeletonName="Weapon"; class Animations { class zaslehROT { type="rotation"; source="clockMinute"; sourceAddress="loop"; selection="zasleh"; begin="usti hlavne"; end="konec hlavne"; memory=1; minValue=0.0166665; maxValue=0.016666666666666666666666666666667; angle0="rad 0"; angle1="rad 360"; }; class magazine_hide { type="hide"; source="reloadMagazine"; sourceAddress="mirror"; selection="magazine"; minValue=0.0; maxValue=0.4; hideValue=0.5; }; class reload_ammobelt_hide: magazine_hide { selection="ammo_belt"; }; class reload_ammobelt_bottom_hide: magazine_hide { selection="ammo_belt_bottom"; }; class ammobelt_hide: magazine_hide { source="isEmpty"; selection="ammo_belt"; minValue=0.000000; maxValue=1.000000; hideValue=1.000000; }; class ammobelt_bottom_hide: ammobelt_hide { selection="ammo_belt_bottom"; }; /// Hiding of magazine if weapon has none class no_magazine { type="hide"; source="hasMagazine"; selection="magazine"; minValue=0.000000; maxValue=1.00000; hideValue=0.5; unhideValue = -1.0; }; }; }; class Rifle: Weapon { skeletonName="Rifle"; class Animations: Animations { class magazine_hide:magazine_hide { sourceAddress="mirror"; minValue=0.0; maxValue=0.56; hideValue=0.36; }; class bolt_empty { type="translation"; source="isEmpty"; selection="bolt"; axis="bolt_axis"; memory=1; minValue=0.000000; maxValue=0.500000; offset0=0; offset1=0.5; }; class bullet_cover { type="rotation"; source="reload"; sourceAddress="mirror"; selection="bullet_cover"; axis="bullet_cover_axis"; memory=1; minValue=0.0; maxValue=0.5; angle0=0; angle1=-0.4; }; class bolt_fire_begin { type="translation"; source="reload"; selection="bolt"; axis="bolt_axis"; memory=1; minValue=0.000000; maxValue=0.300000; offset0=0; offset1=0.5; }; class bolt_fire_end:bolt_fire_begin { minValue=0.500000; maxValue=1.000000; offset0=0; offset1=-0.5; }; class bolt_reload_begin { type="translation"; source="reloadMagazine"; selection="bolt"; axis="bolt_axis"; memory=1; minValue=0.1; maxValue=0.15; offset0=0; offset1=0.5; }; class bolt_reload_end:bolt_reload_begin { minValue=0.980000; maxValue=1.000000; offset0=0; offset1=-0.5; }; }; }; class Test_WeaponBase: Rifle { skeletonName = "Test_Weapon"; sectionsInherit = ""; sections[] = {"muzzleFlash","Camo"}; class Animations { class trigger /// not in this model, but good to use { type = "rotation"; source = "reload"; sourceAddress = "clamp"; selection = "trigger"; axis = "trigger_axis"; minValue = 0; maxValue = "1"; angle0 = "0"; angle1 = "rad -30"; }; class bolt { type = "translation"; source = "reload"; sourceAddress = clamp; selection = "bolt"; axis = "bolt_axis"; minValue = 0.5; maxValue = 1; offset0 = 0; offset1 = 0.3; }; class bolt_2: bolt { minValue = 0; maxValue = 0.5; offset0 = 0; offset1 = 0.7; }; class bolt_empty: bolt{ source = "isEmptyNoReload"; minValue = 0; maxValue = 1; offset0 = 0; offset1 = 1; }; class bolt_reload_move_1: bolt_empty { source="reloadMagazine"; // z: should work like that only if weapon is empty minValue=0; maxValue=0.00001; }; class bolt_reload_move_2: bolt_reload_move_1 { source="reloadMagazine"; // z: should work like that only if weapon is empty minValue=0.78; maxValue=0.80; offset1 = -1; }; class bolt_catch: bolt { selection = "bolt_catch"; axis = "bolt_catch_axis"; }; class bolt_catch_2: bolt_2 { selection = "bolt_catch"; axis = "bolt_catch_axis"; }; class bolt_catch_empty: bolt_empty { selection = "bolt_catch"; axis = "bolt_catch_axis"; }; class bolt_catch_reload_move_1: bolt_reload_move_1 { selection = "bolt_catch"; axis = "bolt_catch_axis"; }; class bolt_catch_reload_move_2: bolt_reload_move_2 { selection = "bolt_catch"; axis = "bolt_catch_axis"; }; class magazine_hide { type="hide"; source="reloadMagazine"; selection="magazine"; minValue=0.000000; maxValue=1.00000; hideValue=0.188; unhideValue = 0.550; }; class no_magazine { type="hide"; source="hasMagazine"; selection="magazine"; minValue=0.000000; maxValue=1.00000; hideValue=0.5; unhideValue = -1.0; }; class magazine_reload_move_1 { type = "translation"; source = "reloadMagazine"; selection = "magazine"; axis = "magazine_axis"; minValue = 0.145; maxValue = 0.170; offset0 = 0.0; offset1 = 0.5; }; class magazine_reload_move_2: magazine_reload_move_1 { minValue = 0.573; maxValue = 0.602; offset0 = 0.0; offset1 = -0.5; }; class muzzleFlashROT { type="rotationX"; source="ammoRandom"; //use ammo count as phase for animation sourceAddress="loop"; //loop when phase out of bounds selection="muzzleFlash"; //selection we want to rotate axis=""; //no own axis - center of rotation is computed from selection centerFirstVertex=true; //use first vertex of selection as center of rotation minValue=0; maxValue=4; //rotation angle will be 360/4 = 90 degrees angle0="rad 0"; angle1="rad 360"; }; class OP_ROT { type="rotation"; source="zeroing2"; // use second muzzle zeroing for rotation sourceAddress="loop"; // loop when phase out of bounds selection="OP"; // selection we want to rotate axis="OP_axis"; // has its own axis minValue=0; maxValue=3; angle0="rad 0"; angle1="rad 65"; }; class BackSight_optic { type="rotation"; source="hasOptics"; selection="BackSight"; axis="BackSight_axis"; memory=1; minValue=0.0000000; maxValue=1.0000000; angle0=0.000000; angle1=(rad 90); }; class ForeSight_optic: BackSight_optic { selection="ForeSight"; axis="ForeSight_axis"; angle1=(rad 90); }; // Rotation of fire mode switch class safety_mode_rot { type = rotation; source = weaponMode; selection = "safety"; axis = "safety_axis"; memory = 1; minValue = 0; maxValue = 0.25; angle0 = 0; angle1 = (rad -52); }; }; }; class CAT_thompson1921_stick: Test_WeaponBase {}; }; I used the model.cfg from the sample, and replace the last class with my weapon name.
-
Is the skeleton name soem secret name that is somewhere in the arma3 files? Zachs tutorial skeleton looks like this: class CfgSkeletons { class Default { isDiscrete=1; skeletonInherit=""; skeletonBones[]={}; }; class tb_arifle_m16a4_base: Default { skeletonBones[]= { "magazine", "", "bolt", "" }; }; }; class CfgModels { class Default { sectionsInherit=""; sections[]={}; skeletonName=""; }; class tb_arifle_m16a4_base: Default { sections[]= { "magazine", "bolt" }; skeletonName="tb_arifle_m16a4_base"; class Animations { }; }; class hkump45: tb_arifle_m16a4_base { class Animations { class magazine_reload_move_1 { type="translation"; source="reloadMagazine"; selection="magazine"; axis="magazine_axis"; minValue=0.145; maxValue=0.2; offset0=0; offset1=0.40000001; }; class magazine_hide { type="hide"; source="reloadMagazine"; selection="magazine"; minValue= 0; maxValue=1; minPhase= 0; maxPhase=1; hideValue=1; sourceAddress="mirror"; }; class bolt_empty { type="translation"; source="isempty"; selection="bolt"; memory=1; sourceAddress="clamp"; minValue=0; maxValue=1; begin="bolt_start"; end="bolt_end"; offset0=0; offset1=1; }; class bolt_empty_1 { type="translation"; source="reloadMagazine"; selection="bolt"; memory=1; sourceAddress="clamp"; minValue=0; maxValue=1; begin="bolt_start"; end="bolt_end"; offset0=0; offset1=1; }; }; }; }; Which uses skeletonName="tb_arifle_m16a4_base"; which at this point is just random names of things someone got from somewhere.
-
Thanks for the help, however this did not work either. Can I be sure the problem lies with the model.cfg and not on the p3d? Is there a simple way to see if the model.cfg is even read? I have other weird behaviour in the gun, for example, no muzzle flash but smoke sprites and the actual bullets do spawn. Also casings are only visible in 3rd person. I will post my config: /* Thompson M1921 created by cat */ #include "basicdefines_A3.hpp" class CfgPatches { class CAT_thompson1921 { units[]={}; weapons[]={"CAT_thompson1921_stick"}; requiredVersion=0.1; requiredAddons[]={"A3_Weapons_F"}; }; }; /// All firemodes, to be sure class Mode_SemiAuto; class Mode_Burst; class Mode_FullAuto; /// Weapon slots class SlotInfo; class CowsSlot; class PointerSlot; #include "cfgRecoils.hpp" /// specific recoil patterns for this rifle #include "cfgMagazines.hpp" /// specific magazines for this rifle #include "cfgAmmo.hpp" /// specific ammo for this rifle class CfgWeapons { //Inheritance class Default {}; class RifleCore: Default {}; class Rifle: RifleCore {}; class Rifle_Base_F: Rifle { class WeaponSlotsInfo; class GunParticles; }; class SMG_01_Base: Rifle_Base_F {}; class SMG_01_F: SMG_01_Base {}; class CAT_thompson1921_stick: SMG_01_F { descriptionshort = "Submachine Gun<br />Caliber: .45 ACP"; dexterity = 100; displayname = "Thompson M1921 (20Rnd Stick)"; model = "cat_thompson\p3d\cat_thompson_stick.p3d"; picture = "\A3\Weapons_F_beta\Smgs\SMG_01\data\UI\gear_SMG_01_X_CA.paa"; scope = 2; uipicture = "\A3\Weapons_F\data\UI\icon_regular_CA.paa"; //handanim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F_beta\rifles\mk20\data\Anim\mk20.rtm"}; handanim[] = {"OFP2_ManSkeleton", "cat_thompson\anim\cat1.rtm"}; memorypointcamera = "eye"; modelOptics = "-"; reloadaction = ""; modes[] = {"Single", "FullAuto"}; // Size of recoil sway of the cursor maxRecoilSway=0.0125; // Speed at which the recoil sway goes back to zero (from maxRecoilSway to 0 in 1/swayDecaySpeed seconds) swayDecaySpeed=1.25; /* class WeaponSlotsInfo: WeaponSlotsInfo { mass = 60; }; */ class Library { libtextdesc = "$str_a3_cfgweapons_hgun_smg_01_library0"; }; }; }; // I cloned the vermin and overwrote the parts I wanted to change, perhaps something broke in here.
-
The p3d file is: cat_thompson_stick.p3d
-
Well for me it looks like some overengineered programmers geeking out. As an artist I find it tiring having to worry how to make use of this correctly. Having 500 parameters in one large bracket is more managable than running down an inheritance tree and tripping over shit all the time. Something beind defined again in a child class? So what? Stuff being defined all the time double is still a faster workflow than carefully picking through the inheritance. Isnt the asset workflow supposed to be made accessible to artists?
-
I dont get why this often praised inheritance is supposed to "save work" when all it does is eat time because people have to trace the inheritance tree to get what they want + loads of crashes from improperly inherited classes. I rather have one list of 500 parameters in one bracket and edit this per weapon. This would actually have saved much more time. But to get back to the problem I have, while your explanation was very useful to understand the model.cfg I am still not getting why my model does not connect to it.
-
How would I fix this? And why is that happening on a default model.cfg supplied with the sample files?
-
Is there a guide on how to create RVMAT so one can slap normal maps on an object? And by guide, an actual guide with a simple workable example and not that esoteric shit on the wikiwhere all the options are explained but they leave out a basic example. And why are there no samples one can look at? Why are arma files encrypted even? WHY IS EVERYTHING IN THIS GAME's PIPELINE MADE TO MAXIMIZE ANGER AND RAGE IN PEOPLE. And the best part most files are encrpyted because someone might rip a piece of shit text file that explains how to put a normal map on something I have seen crap modding tools for other games but this game adds new layer of crap and failure at every stage
-
Help with custom HandAnimation
alleycat replied to Mickyleitor's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
I am trying to find out what is actually broken. Is the skeleton in the sample not matching what the game uses, is the packer broken? -
Addon Builder Config Error
alleycat replied to theevancat's topic in ARMA 3 - BI TOOLS - TROUBLESHOOTING
What does that mean? -
Help with custom HandAnimation
alleycat replied to Mickyleitor's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Yes I saw that you can hold CTRL to rotate bones. So I guess my problem is to fix binarizing then. ---------- Post added at 05:08 PM ---------- Previous post was at 05:00 PM ---------- Binarizing with the old packer does work, however the garbled animation persists. The new packer throws an error: http://forums.bistudio.com/showthread.php?181512-Addon-Builder-Config-Error -
Addon Builder Config Error
alleycat replied to theevancat's topic in ARMA 3 - BI TOOLS - TROUBLESHOOTING
Getting the same problem -
Help with custom HandAnimation
alleycat replied to Mickyleitor's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Ok thanks for the explanation. I will try that now. However what is weird is that so far I did not binarize my addons (It crashes if I check "binarize" in the addon builder, is this because i have not created signature file yet?). So by your explanation the binarizing during packing breaks the rtm file, but it appeas this happens without binarizing too. ---------- Post added at 03:51 PM ---------- Previous post was at 03:40 PM ---------- Still does not work. Here is what I did 1. Exported the hand animation into a folder with the same model.cfg that is from the a3 animation examples 1.1 2. Exported, loaded game, the polygons of the hand were a garbled mess like at the start of your topic 3. Installed the old addon builder by tom and repeated the process 4. still the same as 2 5. Extracted the rtm from pbo and put it into the prepack folder, with removed model.cfg, and recompiled. 6. Then used new addon builder to pack, but the problem stays. ---------- Post added at 03:58 PM ---------- Previous post was at 03:51 PM ---------- Also do I need to binarize for this to work? It throws an error if I try (error in config) -
1. I would like to know wether exporting animations (mainly hand poses) from .fbx into O2 works. I am using XSI so I can not relate to the 3DS MAX way of doing it but I assume the exporter would look similar in both programs. What settings does the export need to export a single frame animation? 2. Is there any way to manuall rotate bones in O2 or do you have to select selections and use the numerical input to totate?
-
.fbx > O2, does it work? (animations)
alleycat replied to alleycat's topic in ARMA 3 - MODELLING - (O2)
This is what I have so far. -
Try copying the links in the browser, they work on my pc. You make the cuts, then select the whole line and simply drag them straight down, forming a slight curve in the profile so that the top right side of the object (where the all lines end) form a "U" shape. do not angle them towards each other, just drag each line down straight
-
http://i.imgur.com/mGha8YY.jpg http://i.imgur.com/AsyWFSi.jpg http://i.imgur.com/czr6bjz.jpg http://i.imgur.com/ZP19NlB.jpg http://i.imgur.com/2KJ4eth.jpg http://i.imgur.com/jCy6KKr.jpg
-
-
This is the p3d setup:
-
can you draw on the image what part you mean?