wld427 1705 Posted February 9, 2010 does anyone know the particular dammage animations now used in arma2. for example i am trying to bring over my M113s based on the BIS model form arma1. I copied and pasted the hitpoints form the BIS arma2 configs for the hitpoints ie. motor, pas_l etc. I am wondering do i need an animation in the model config to make the tracks dammageable like the rest of the vehicles in arma2. if im going about this all wrong please let me know. Thanks Eddie Project RACS Share this post Link to post Share on other sites
scars09 9 Posted February 19, 2010 when u say dammageable u mean vehicle behaviour or optical effects? Hitpoints and entry in selections list inside model config work for me regarding vehicle behaviour, to get optical effects i guess a track_damage.rvmat would be needed since the material flags used before are not working anymore. Only animation needed would be the dammagehide to hide the tracks after vehicle destruction, i dont use them at the moment since they messed up quite alot of the other animations (including 90% of the model spinning like a wheel, funny). think i use a destruct model instead. regards Share this post Link to post Share on other sites
t_d 47 Posted February 19, 2010 How to create destroyed wheels Can be applied not just only for wheels ;) Share this post Link to post Share on other sites
norsu 180 Posted March 19, 2010 How to create destroyed wheelsCan be applied not just only for wheels ;) Thanks for this, made things a lot easier. However making deflating tires properly seems still a mystery to me at least. Any idea how that is done? Share this post Link to post Share on other sites
soul_assassin 1750 Posted March 20, 2010 If you implement this method, they will sink into the ground looking like they deflate. Share this post Link to post Share on other sites
[aps]gnat 28 Posted March 21, 2010 I have to say, its a pretty cool system BIS set up .... looks good in action. Unfortunately I noticed one of the default BIS light Pick-ups has 1 wheel that never deflates! Must have been a small miss by them during model making ;) Share this post Link to post Share on other sites
norsu 180 Posted March 21, 2010 Hmm, I wonder what I'm doing wrong. My wheels change damage models allright but they will not sink at all. Looking at different models with ExtractModelCfg I was able to find class wheel_2_3_Damage and class wheel_2_3_Damper_Damage_BackAnim for instance. Do I have to implement these somehow too? Share this post Link to post Share on other sites
soul_assassin 1750 Posted March 21, 2010 yes, all classes, _BackAnim is responsible for the sinking afaik, at least it stopped sinking when i removed it. Share this post Link to post Share on other sites
norsu 180 Posted March 21, 2010 Could you post an example model.cfg with those damage anims too Soul Assasin? Share this post Link to post Share on other sites
namman2 0 Posted March 22, 2010 Here you go. this is the humvee m2 model.cfg extracted from the p3d using extractModelCFG Share this post Link to post Share on other sites
norsu 180 Posted March 22, 2010 Thanks but I already checked out ExtractModelCfg results. The big question is axis in wheel_2_3_Damper_Damage_BackAnim and wheel_2_3_Damage. Where should I actually put it to make the tires sink? A simple example model with proper non extracted model.cfg would be awesome. I have the pieces of this puzzle but I don't know how to put them together. Share this post Link to post Share on other sites
soul_assassin 1750 Posted March 22, 2010 Heres the setup:The unhide section (not visible in the above pic) is a proxy to the destroyed wheel model (default bis). Also this is a set up for a driving wheel so for the other ones ommit the _steering part.Also you need a point in the LandContact LOD under the wheel called "wheel_L1_damper_land"Bone setup: "wheel_L1_damper_land","", "wheel_L1_damper","wheel_L1_damper_land", "wheel_L1_steering","wheel_L1_damper", "wheel_L1","wheel_L1_steering", "wheel_L1_unhide","wheel_L1", "wheel_L1_hide","wheel_L1", Wheel rotation: class Wheel_L1 { type = "rotationX"; source = "wheel"; selection = "Wheel_L1"; axis = "Wheel_L1"; sourceAddress = "loop"; minValue = 0; maxValue = 1; angle0 = 0; angle1 = "rad -360"; }; Wheel Steering: class wheel_L1_Steering { type = "rotationY"; source = "drivingWheel"; selection = "wheel_L1_steering"; axis = "axis_wheel_L1"; sourceAddress = "clamp"; minValue = -1; maxValue = 1; angle0 = "rad 35"; angle1 = "rad -35"; }; Damper class wheel_L1_Damper { type = "translationY"; source = "damper"; selection = "wheel_L1_damper_land"; SourceAddress = "clamp"; axis=""; animPeriod=0; minValue=-1000; maxValue=1000; }; Destruction (hiding) class wheel_L1_destruct { Type = "hide"; Source = "HitLFWheel"; Selection = "wheel_L1_hide"; MinValue = 0.00; MaxValue = 1.00; SourceAddress = "clamp"; hideValue = 0.98; }; Destruction (unhiding) class wheel_L1_unhide { Type = "hide"; Source = "HitLFWheel"; Selection = "wheel_L1_unhide"; MinValue = -1.00; MaxValue = 0.00; SourceAddress = "mirror"; hideValue = 0.02; }; Both of these are linked to the animation source in the cpp: class HitLFWheel { source = "Hit"; hitpoint = "HitLFWheel"; raw = 1; }; Which is linked to a bunch of hitpoints in the HitPoints LOD (named selection: "wheel_1_1_steering") around the wheel and a hitpoints class in the cpp (note the inheritance, comes from Car class): class HitLFWheel: HitLFWheel { armor = 0.15; name = "wheel_1_1_steering"; passThrough = 0.3; }; Carrying on in model.cfg: class wheel_L1_Damage { Type = "translation"; Source = "HitLFWheel"; Selection = "wheel_L1_damper_land"; MinValue = 0; MaxValue = 1; minPhase = 0;//rad 0 maxPhase = 1;//rad 57.2958 SourceAddress = "clamp"; Begin = "damper_begin"; End = "damper_end"; Offset0 = 0.000000; Offset1 = 0.6500000; }; Note memory points: And finally: class wheel_L1_Damper_Damage_BackAnim { Type = "translation"; Source = "HitLFWheel"; Selection = "wheel_L1_damper"; MinValue = 0.00; MaxValue = 1.00; SourceAddress = "clamp"; Begin = "damper_begin"; End = "damper_end"; Offset0 = 0.000000; Offset1 = -0.760000; }; heh all that for one wheel :) the rest is just inherited Share this post Link to post Share on other sites
norsu 180 Posted March 22, 2010 Magnificent :D! I'll give this a shot right away. Share this post Link to post Share on other sites
soul_assassin 1750 Posted March 22, 2010 Did it work? Share this post Link to post Share on other sites
norsu 180 Posted March 22, 2010 Yes it did :). However I'm a bit puzzled where the simple Wheel_L1 is in the model, it isn't visible in your screens either. I ended up using a single vertex as Wheel_L1 and it worked that way. Share this post Link to post Share on other sites
soul_assassin 1750 Posted March 22, 2010 ahh sorry of course wheel_L1 is the wheel (same as the wheel_L1_hide in the first picture) ---------- Post added at 10:04 PM ---------- Previous post was at 10:03 PM ---------- I ended up using a single vertex as Wheel_L1 and it worked that way :confused: Share this post Link to post Share on other sites
norsu 180 Posted March 22, 2010 The vertex was just a simple way to replace the missing Wheel_L1 selection. ahh sorry of course wheel_L1 is the wheel (same as the wheel_L1_hide in the first picture) Hmm, shouldn't all selections that have different animations be in their own selections so that they don't overlap each other? This why we need for example two damageHide selections, one for hull and one for turret (damageHide and damageVez.) But if it works that way too then I'm not complaining :cool:. Share this post Link to post Share on other sites
soul_assassin 1750 Posted March 22, 2010 I think the damageHull/Vez thing was just done to conform. It works fine if you have them as one selection too. Could also be because "hide" animation source is basically a scale animation that takes the center of the selection to scale things to a tiny level. Having Hull and Vez seperately insures that those parts scale into predictable centers and you dont have tiny dots floating around unpredictably. ---------- Post added at 11:09 PM ---------- Previous post was at 11:07 PM ---------- In anycase you can assign a "wheel" source and a "hide" source to the _hide selection i dont think it will make a difference Share this post Link to post Share on other sites
da12thMonkey 1943 Posted March 24, 2010 T_D, Soul_Assassin, thanks for the guide. I'd tried doing this a few months ago working from an extracted HMMWV's model.cfg, but without success. You two made it much clearer, and I've got it sorted now: :) Share this post Link to post Share on other sites
granQ 293 Posted March 30, 2010 (edited) wow soul, best post ever :) However one thing that still a question mark.. why both "wheel_L1_damper" "wheel_L1_damper_land" is the land only used in the land contact lod? oh and one more: SourceAddress = "mirror"; ?? Edited March 30, 2010 by granQ Share this post Link to post Share on other sites
soul_assassin 1750 Posted March 30, 2010 The _land is only used in the land contact lod, thus the name, while just damper is part of the model. The "mirror" sourceAdress is due to the weird nature of unhiding things in ArmA2. Btw sourceAdress is NOT the same as animationSource :p Share this post Link to post Share on other sites
granQ 293 Posted March 30, 2010 oh thanks for the head up.. maybe should have tried that before (ended up doing manual hiding with script and settexture.) Anyway, thanks again for great pics and guide :) Share this post Link to post Share on other sites
vilas 477 Posted June 9, 2012 (edited) never mind, sorted it out , i had "zbytek" on wheels and that's why it was not working :) sory Edited June 9, 2012 by vilas Share this post Link to post Share on other sites