keeway 287 Posted April 16, 2014 (edited) Hello guys, I'v just successfully ported Volha to Arma 3, few things still need to be done. I decided to make bigger pack called "Arma Car Pack" to increase the number of vehicles in Arma 3. WIP screenshots: 16.04 http://i58.tinypic.com/35lgt9v.jpg (340 kB) 19.04 http://cloud-4.steampowered.com/ugc/598160297163060407/2D211BB55F9A124EEAD398768E02D0DFB7C93F34/ (479 kB) Situation: * Volga - some animations still waiting to be fixed * SUV - fixing psychX, need some model fixes, *will containt custom textures* * Next vehicle? Ikarus? Credits: * Aplion for guide * Raid for being patient to me * Alwarren answered serval questions * Reyhard outstanding help with configs and physX * BadHabitz for sharing with me "core" to port SUV * Python for giving me an permission to use his http://forums.bistudio.com/showthread.php?137017-SUV-Recolours Edited April 22, 2014 by Keeway Share this post Link to post Share on other sites
Raid 18 Posted April 17, 2014 No worries mate. You will get the hang of it. Share this post Link to post Share on other sites
keeway 287 Posted April 17, 2014 Flying Volga ! http://cloud-4.steampowered.com/ugc/597034314856380791/FC3B361E3F222157DFD8C3CE60B697F1928AC77C/ textures and sounds are already done, now set sail on proxies then physX and we are done. ---------- Post added at 13:39 ---------- Previous post was at 11:40 ---------- Tried to fix config by copying the hatchback one and changing everything for Volga And below the result http://i57.tinypic.com/4uh05k.jpg Any ideas? Share this post Link to post Share on other sites
surpher 1 Posted April 17, 2014 Flying Volga! -> Might help The error message is telling you that you are missing a } somewhere, it maybe in your CfgVehicles.hpp file. Share this post Link to post Share on other sites
keeway 287 Posted April 20, 2014 Daily Update, sounds and animations still needs to be done https://www.youtube.com/watch?v=KmR6EUJlsPw Share this post Link to post Share on other sites
Redphoenix 1540 Posted April 20, 2014 Raise your latStiffX a bit. The steering seems a bit overresponsive. Share this post Link to post Share on other sites
keeway 287 Posted April 20, 2014 My PsychX.hpp - click "spoiler" to expand. Went from 25 to 40 and I didnt noticed the difference. And I'm still having a problem with configuring model.cfg normalSpeedForwardCoef=0.9; enginePower=70; maxOmega=471; peakTorque=170; idleRPM=400; redRpm=4000; terrainCoef=2.3; turnCoef=2.5; precision=10; brakeDistance=3; acceleration=20; fireResistance=5; thrustDelay=0.2; brakeIdleSpeed=1.78; maxSpeed=130; fuelCapacity=55; wheelCircumference=2.4; antiRollbarForceCoef=0.5; antiRollbarForceLimit=0.5; antiRollbarSpeedMin=20; antiRollbarSpeedMax=80; changeGearMinEffectivity[]={0.94999999,0.15000001,0.94999999,0.94999999,0.94999999,0.949999999}; class complexGearbox { GearboxRatios[]= { "R1", -3.5, "N", 0, "D1", 3.5, "D2", 2.26, "D3", 1.45, "D4", 1.0 }; TransmissionRatios[]= { "High", 3 }; gearBoxMode="auto"; moveOffGear=1; driveString="D"; neutralString="N"; reverseString="R"; }; simulation="carx"; dampersBumpCoef=0.6; differentialType="rear_limited"; frontRearSplit=0.3; frontBias=1.5; rearBias=1.5; centreBias=1.3; clutchStrength=20; dampingRateFullThrottle=0.079999998; dampingRateZeroThrottleClutchEngaged=1.34999999; dampingRateZeroThrottleClutchDisengaged=0.34999999; torqueCurve[]= { {0,0}, {0.14,0.649}, {0.29,0.8}, {0.43,0.949}, {0.6,1}, {0.71,0.89}, {0.86,0.8}, {1,0.5} }; switchTime=0.20; latency=1; class Wheels { class LF { boneName="wheel_1_1_damper"; steering=1; side="left"; center="wheel_1_1_axis"; boundary="wheel_1_1_bound"; mass=15; MOI=3.3; dampingRate=0.3; maxBrakeTorque=2000; maxHandBrakeTorque=0; suspTravelDirection[]={0,-1,0}; suspForceAppPointOffset="wheel_1_1_axis"; tireForceAppPointOffset="wheel_1_1_axis"; maxCompression=0.15; MaxDroop=0.05000001; mMaxDroop=0.05000001; sprungMass=325.0; springStrength=8125; springDamperRate=1300; longitudinalStiffnessPerUnitGravity=10000; latStiffX=40; latStiffY=180; frictionVsSlipGraph[]= { {0,1}, {0.5,2}, {1,3} }; }; class LR: LF { boneName="wheel_1_2_damper"; steering=0; center="wheel_1_2_axis"; boundary="wheel_1_2_bound"; suspForceAppPointOffset="wheel_1_2_axis"; tireForceAppPointOffset="wheel_1_2_axis"; maxHandBrakeTorque=3000; latStiffY=180; }; class RF: LF { boneName="wheel_2_1_damper"; center="wheel_2_1_axis"; boundary="wheel_2_1_bound"; suspForceAppPointOffset="wheel_2_1_axis"; tireForceAppPointOffset="wheel_2_1_axis"; steering=1; side="right"; }; class RR: RF { boneName="wheel_2_2_damper"; steering=0; center="wheel_2_2_axis"; boundary="wheel_2_2_bound"; suspForceAppPointOffset="wheel_2_2_axis"; tireForceAppPointOffset="wheel_2_2_axis"; maxHandBrakeTorque=3000; latStiffY=180; }; }; Share this post Link to post Share on other sites
alduric 10 Posted April 20, 2014 Show us your model.cfg and list your selections in model + all memory points. Share this post Link to post Share on other sites
blu3sman 11 Posted April 20, 2014 Try this. It will handle much better. latStiffX = 2.5; latStiffY = 15; frictionVsSlipGraph[] = { { 0.2,0.8 }, { 0.4,0.6 }, { 1.0,0.4 }}; Share this post Link to post Share on other sites
keeway 287 Posted April 20, 2014 (edited) Model.cfg 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 civil_car: Car { skeletonInherit="Car"; skeletonBones[]= { "reverse_light","", "daylights","damageHide", "door1","", "door2","", "glass5","damageHide", }; }; }; 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 { htMin = 60; // Minimum half-cooling time (in seconds) htMax = 180; // Maximum half-cooling time (in seconds) afMax = 100; // Maximum temperature in case the model is alive (in celsius) mfMax = 8; // 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 = 150; // Metabolism temperature of the model (in celsius) sections[]= { "ammo", "zadni svetlo", "brzdove svetlo", "spz", "motor", "body", "clan", "clan_sign", "zasleh", "Light_R", "Light_L", "podsvit pristroju", "glass1", "glass2", "glass3", "glass4", "glass5", "glass6", }; skeletonName="Car"; class Animations { // destruct START class damageHide { type="hide"; source="damage"; 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.99999; }; 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 = 0; maxValue = 1; hidevalue = 0.00000; UnHidevalue = 1.00000; }; 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"; 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";}; class wheel_1_3_Damage:wheel_1_1_Damage {source="HitLMWheel";selection="wheel_1_3_damper";}; class wheel_1_4_Damage:wheel_1_1_Damage {source="HitLF2Wheel";selection="wheel_1_4_damper";}; class wheel_2_1_Damage:wheel_1_1_Damage {source="HitRFWheel";selection="wheel_2_1_damper";}; class wheel_2_2_Damage:wheel_1_1_Damage {source="HitRBWheel";selection="wheel_2_2_damper";}; class wheel_2_3_Damage:wheel_1_1_Damage {source="HitRMWheel";selection="wheel_2_3_damper";}; class wheel_2_4_Damage:wheel_1_1_Damage {source="HitRF2Wheel";selection="wheel_2_4_damper";}; class wheel_1_1_Damper_Damage_BackAnim:wheel_1_1_Damage {selection="wheel_1_1_damper";offset1 = -1.2*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";}; // Wheels Damage END // Wheels END //Glass Damage START class Glass1_destruct { type="hide"; selection="glass1"; source="HitGlass1"; minValue = 0; maxValue = 1; hidevalue = 0.99999; }; 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";}; class Glass5_destruct:Glass1_destruct{selection="glass5";source="HitGlass5";}; class Glass6_destruct:Glass1_destruct{selection="glass6";source="HitGlass6";}; //Glass Damage END // destruct END class Fuel: Rotation { source="fuel"; selection="fuel"; axis="fuel_axis"; maxValue=1; memory=1; angle0="rad -110"; angle1=0; }; class IndicatorSpeed: Rotation { source="speed"; selection="mph"; axis="mph_axis"; memory=1; maxValue=38.900002; angle1="rad -265"; }; class IndicatorFuel: Rotation { type="rotation"; source="fuel"; selection="fuel_1"; axis="fuel_1_axis"; memory=1; minValue=0.000000; maxValue=1.000000; angle0=-0.087266; angle1=-1.658063; }; class IndicatorRPM: Rotation { source="rpm"; selection="rpm"; axis="rpm_axis"; memory=1; angle1="rad 80"; }; class DrivingWheel: Rotation { source="drivingWheel"; selection="drivewheel"; axis="drivewheel_axis"; minValue=-1; maxValue=1; angle0=(rad 80); angle1=(rad -80); }; class Steering_1_1 { type="rotationY"; source="drivingWheel"; selection="wheel_1_1_steering"; axis="wheel_1_1_steering_axis"; memory=1; minValue="rad -90"; maxValue="rad +90"; angle0=1.047198; angle1=-1.047198; }; class Steering_2_1: Steering_1_1 { selection="wheel_2_1_steering"; axis="wheel_2_1_steering_axis"; angle0=1.047198; angle1=-1.047198; }; 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 daylights { type="hide"; source="rpm"; selection="daylights"; minValue=-0.8; maxValue=0.2; unhidevalue=1; sourceAddress="clamp"; }; class reverse_light { type="Hide"; selection="reverse_light"; sourceAddress="clamp"; source="Gear"; minValue = -1; maxValue = 0; hideValue = "0.2"; }; }; }; class volha: Car { skeletonName = "volha"; sectionsInherit = "Car"; sections[]= { "Camo1", "body", "motor", "palivo", }; class Animations: Animations { class wheel_1_1_Damage: wheel_1_1_Damage{offset1=0.18000001;}; class wheel_1_2_Damage: wheel_1_2_Damage{offset1=0.18000001;}; class wheel_2_1_Damage: wheel_2_1_Damage{offset1=0.18000001;}; class wheel_2_2_Damage: wheel_2_2_Damage{offset1=0.18000001;}; class wheel_1_1_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim{offset1=-0.18000001;}; class wheel_1_2_Damper_Damage_BackAnim: wheel_1_2_Damper_Damage_BackAnim{offset1=-0.18000001;}; class wheel_2_1_Damper_Damage_BackAnim: wheel_2_1_Damper_Damage_BackAnim{offset1=-0.18000001;}; class wheel_2_2_Damper_Damage_BackAnim: wheel_2_2_Damper_Damage_BackAnim{offset1=-0.18000001;}; class DrivingWheel { type="rotation"; source="drivingWheel"; selection="drivewheel"; axis="drivewheel_axis"; memory=1; minValue=-1; maxValue=1; angle0=(rad 70); angle1=(rad -70); }; class Steering_1_1 { type="rotationY"; source="drivingWheel"; selection="wheel_1_1_steering"; axis="wheel_1_1_steering_axis"; memory=1; minValue="rad -90"; maxValue="rad +90"; angle0=1.0471981; angle1=-1.0471981; }; class Steering_2_1: Steering_1_1 { selection="wheel_2_1_steering"; axis="wheel_2_1_steering_axis"; angle0=1.0471981; angle1=-1.0471981; }; class IndicatorSpeed: Rotation { memory=1; maxValue=66.900002; angle0=-0.052360; angle1=4.537856; }; class IndicatorRPM: Rotation { memory=1; angle0=-0.104720; angle1=4.363323; }; class fuel { type="rotation"; source="fuel"; selection="fuel"; axis="fuel_axis"; memory=1; minValue=0; maxValue=1; angle0=0; angle1="rad +55"; }; class prop_01 { type="rotation"; source="rpm"; selection="prop_1"; axis="prop_1_axis"; memory=1; minValue=1000; maxValue=7000; angle0="rad 30"; angle1="rad 35"; }; class daylights { type="hide"; source="rpm"; selection="daylights"; minValue=-0.8; maxValue=0.2; unhidevalue=1; sourceAddress="clamp"; }; class reverse_light { type="Hide"; selection="reverse_light"; sourceAddress="clamp"; source="Gear"; minValue = -1; maxValue = 0; hideValue = "0.2"; }; class damageHidedoor1:damageHide { selection="door1"; }; class damageHidedoor2:damageHide { selection="door2"; }; class Glass5_destruct { type="hide"; selection="glass5"; source="HitGlass5"; minValue = 0; maxValue = 1; hidevalue = 0.99999; }; 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"; }; }; }; }; And memory points: *Basic_Damper_Destruct_A *circulum_Reference *drivewheel_axis *konec L svetla *konec P svetla *L svetlo *mph_axis *P svetlo *pos cargo *pos cargo dir *pos driver *pos driver dir *posun wheel_1_1 *posun wheel_1_2 *posun wheel_2_1 *posun wheel_2_2 *stopa PLP *stopa PPL *stopa PPP *stopa ZLL *stopa ZLP *stopa ZPP *supply *vyfuk konec *vyfuk start *wheel_1_1_axis *wheel_1_1_bound *wheel_1_1_steering_axis *wheel_1_2_axis *wheel_1_2_bound *wheel_2_1_axis *wheel_2_1_bound *wheel_2_1_steering_axis *wheel_2_2_axis *wheel_2_2_bound *zamerny Edited April 21, 2014 by Keeway Share this post Link to post Share on other sites
alduric 10 Posted April 21, 2014 If this will not work, pack your source and send it to me, or visit me on my TS3. I added wheel rotation and front wheel steering animation. Model.cfg 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 civil_car: Car { skeletonInherit="Car"; skeletonBones[]= { "reverse_light","", "daylights","damageHide", "door1","", "door2","", "glass5","damageHide", }; }; }; 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 { htMin = 60; // Minimum half-cooling time (in seconds) htMax = 180; // Maximum half-cooling time (in seconds) afMax = 100; // Maximum temperature in case the model is alive (in celsius) mfMax = 8; // 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 = 150; // Metabolism temperature of the model (in celsius) sections[]= { "ammo", "zadni svetlo", "brzdove svetlo", "spz", "motor", "body", "clan", "clan_sign", "zasleh", "Light_R", "Light_L", "podsvit pristroju", "glass1", "glass2", "glass3", "glass4", "glass5", "glass6", }; skeletonName="Car"; class Animations { // destruct START class damageHide { type="hide"; source="damage"; 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.99999; }; 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 = 0; maxValue = 1; hidevalue = 0.00000; UnHidevalue = 1.00000; }; class wheel_1_2_destruct_unhide:wheel_1_1_destruct_unhid e {source="HitLBWheel";selection="wheel_1_2_unhide"; }; class wheel_1_3_destruct_unhide:wheel_1_1_destruct_unhid e {source="HitLMWheel";selection="wheel_1_3_unhide"; }; class wheel_1_4_destruct_unhide:wheel_1_1_destruct_unhid e {source="HitLF2Wheel";selection="wheel_1_4_unhide" ;}; class wheel_2_1_destruct_unhide:wheel_1_1_destruct_unhid e {source="HitRFWheel";selection="wheel_2_1_unhide"; }; class wheel_2_2_destruct_unhide:wheel_1_1_destruct_unhid e {source="HitRBWheel";selection="wheel_2_2_unhide"; }; class wheel_2_3_destruct_unhide:wheel_1_1_destruct_unhid e {source="HitRMWheel";selection="wheel_2_3_unhide"; }; class wheel_2_4_destruct_unhide:wheel_1_1_destruct_unhid e {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"; 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"; }; class wheel_1_3_Damage:wheel_1_1_Damage {source="HitLMWheel";selection="wheel_1_3_damper"; }; class wheel_1_4_Damage:wheel_1_1_Damage {source="HitLF2Wheel";selection="wheel_1_4_damper" ;}; class wheel_2_1_Damage:wheel_1_1_Damage {source="HitRFWheel";selection="wheel_2_1_damper"; }; class wheel_2_2_Damage:wheel_1_1_Damage {source="HitRBWheel";selection="wheel_2_2_damper"; }; class wheel_2_3_Damage:wheel_1_1_Damage {source="HitRMWheel";selection="wheel_2_3_damper"; }; class wheel_2_4_Damage:wheel_1_1_Damage {source="HitRF2Wheel";selection="wheel_2_4_damper" ;}; class wheel_1_1_Damper_Damage_BackAnim:wheel_1_1_Damage {selection="wheel_1_1_damper";offset1 = -1.2*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" ;}; // Wheels Damage END // Wheels END //Glass Damage START class Glass1_destruct { type="hide"; selection="glass1"; source="HitGlass1"; minValue = 0; maxValue = 1; hidevalue = 0.99999; }; 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";}; class Glass5_destruct:Glass1_destruct{selection="glass5" ;source="HitGlass5";}; class Glass6_destruct:Glass1_destruct{selection="glass6" ;source="HitGlass6";}; //Glass Damage END // destruct END class Fuel: Rotation { source="fuel"; selection="fuel"; axis="fuel_axis"; maxValue=1; memory=1; angle0="rad -110"; angle1=0; }; class IndicatorSpeed: Rotation { source="speed"; selection="mph"; axis="mph_axis"; memory=1; maxValue=38.900002; angle1="rad -265"; }; class IndicatorFuel: Rotation { type="rotation"; source="fuel"; selection="fuel_1"; axis="fuel_1_axis"; memory=1; minValue=0.000000; maxValue=1.000000; angle0=-0.087266; angle1=-1.658063; }; class IndicatorRPM: Rotation { source="rpm"; selection="rpm"; axis="rpm_axis"; memory=1; angle1="rad 80"; }; class DrivingWheel: Rotation { source="drivingWheel"; selection="drivewheel"; axis="drivewheel_axis"; minValue=-1; maxValue=1; angle0=(rad 80); angle1=(rad -80); }; class Steering_1_1 { type="rotationY"; source="drivingWheel"; selection="wheel_1_1_steering"; axis="wheel_1_1_steering_axis"; memory=1; minValue="rad -90"; maxValue="rad +90"; angle0=1.047198; angle1=-1.047198; }; class Steering_2_1: Steering_1_1 { selection="wheel_2_1_steering"; axis="wheel_2_1_steering_axis"; angle0=1.047198; angle1=-1.047198; }; class Wheel_1_1 { type="rotationX"; source="wheel"; memory = 1; animPeriod = 0; selection="wheel_1_1"; axis="wheel_1_1_axis"; minValue = 0.0; maxValue = 1.0; minPhase = 0.0; maxPhase = 1.0; angle0 = 0.0; angle1 = -6.2831855; }; class wheel_2_1 { type="rotationX"; source="wheel"; memory = 1; animPeriod = 0; selection="wheel_2_1"; axis="wheel_2_1_axis"; minValue = 0.0; maxValue = 1.0; minPhase = 0.0; maxPhase = 1.0; angle0 = 0.0; angle1 = -6.2831855; }; class wheel_1_2 { type="rotationX"; source="wheel"; memory = 1; animPeriod = 0; selection="wheel_1_2"; axis="wheel_1_2_axis"; minValue = 0.0; maxValue = 1.0; minPhase = 0.0; maxPhase = 1.0; angle0 = 0.0; angle1 = -6.2831855; }; class Wheel_2_2 { type="rotationX"; source="wheel"; memory = 1; animPeriod = 0; selection="wheel_2_2"; axis="wheel_2_2_axis"; minValue = 0.0; maxValue = 1.0; minPhase = 0.0; maxPhase = 1.0; angle0 = 0.0; angle1 = -6.2831855; }; 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 daylights { type="hide"; source="rpm"; selection="daylights"; minValue=-0.8; maxValue=0.2; unhidevalue=1; sourceAddress="clamp"; }; class reverse_light { type="Hide"; selection="reverse_light"; sourceAddress="clamp"; source="Gear"; minValue = -1; maxValue = 0; hideValue = "0.2"; }; }; }; class volha: Car { skeletonName = "volha"; sectionsInherit = "Car"; sections[]= { "Camo1", "body", "motor", "palivo", }; class Animations: Animations { class wheel_1_1_Damage: wheel_1_1_Damage{offset1=0.18000001;}; class wheel_1_2_Damage: wheel_1_2_Damage{offset1=0.18000001;}; class wheel_2_1_Damage: wheel_2_1_Damage{offset1=0.18000001;}; class wheel_2_2_Damage: wheel_2_2_Damage{offset1=0.18000001;}; class wheel_1_1_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim{offset1=-0.18000001;}; class wheel_1_2_Damper_Damage_BackAnim: wheel_1_2_Damper_Damage_BackAnim{offset1=-0.18000001;}; class wheel_2_1_Damper_Damage_BackAnim: wheel_2_1_Damper_Damage_BackAnim{offset1=-0.18000001;}; class wheel_2_2_Damper_Damage_BackAnim: wheel_2_2_Damper_Damage_BackAnim{offset1=-0.18000001;}; class DrivingWheel { type="rotation"; source="drivingWheel"; selection="drivewheel"; axis="drivewheel_axis"; memory=1; minValue=-1; maxValue=1; angle0=(rad 70); angle1=(rad -70); }; class Steering_1_1 { type="rotationY"; source="drivingWheel"; memory = 1; animPeriod = 0; selection="wheel_1_1_steering"; axis="wheel_1_1_steering_axis"; minValue = -1.5707964; maxValue = 1.5707964; minPhase = -1.5707964; maxPhase = 1.5707964; angle0 = 1.047198; angle1 = -1.047198; }; class Steering_2_1 { type="rotationY"; source="drivingWheel"; memory = 1; animPeriod = 0; selection="wheel_2_1_steering"; axis="wheel_2_1_steering_axis"; minValue = -1.5707964; maxValue = 1.5707964; minPhase = -1.5707964; maxPhase = 1.5707964; angle0 = 1.047198; angle1 = -1.047198; }; class IndicatorSpeed: Rotation { memory=1; maxValue=66.900002; angle0=-0.052360; angle1=4.537856; }; class IndicatorRPM: Rotation { memory=1; angle0=-0.104720; angle1=4.363323; }; class fuel { type="rotation"; source="fuel"; selection="fuel"; axis="fuel_axis"; memory=1; minValue=0; maxValue=1; angle0=0; angle1="rad +55"; }; class prop_01 { type="rotation"; source="rpm"; selection="prop_1"; axis="prop_1_axis"; memory=1; minValue=1000; maxValue=7000; angle0="rad 30"; angle1="rad 35"; }; class daylights { type="hide"; source="rpm"; selection="daylights"; minValue=-0.8; maxValue=0.2; unhidevalue=1; sourceAddress="clamp"; }; class reverse_light { type="Hide"; selection="reverse_light"; sourceAddress="clamp"; source="Gear"; minValue = -1; maxValue = 0; hideValue = "0.2"; }; class damageHidedoor1:damageHide { selection="door1"; }; class damageHidedoor2:damageHide { selection="door2"; }; class Glass5_destruct { type="hide"; selection="glass5"; source="HitGlass5"; minValue = 0; maxValue = 1; hidevalue = 0.99999; }; 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"; }; }; }; }; Share this post Link to post Share on other sites
keeway 287 Posted April 21, 2014 File acp_cars\volha\model.cfg, line 269; /CfgModels/Car/Animations.wheel_1_2_Damper_Damage_BackAnim Undefined base class 'wheel_1_1_Damper_' Alduric thanks for invitation, I will visit your team speak for sure. Share this post Link to post Share on other sites
i3luevein 10 Posted April 22, 2014 What help do you need mate? It was a very quick port, maybe 1 hours work with some fine tuning on the physx If you need anything mate send me a PM I'll be glad to help Share this post Link to post Share on other sites
keeway 287 Posted April 22, 2014 Thanks for the proposition I'v just pm'ed you. Now Im having problem with SUV and the wheel, could anyone help me? I bet it's psychX fault so here check it please. normalSpeedForwardCoef=0.9; enginePower=140; maxOmega=471; peakTorque=350; idleRPM=600; redRpm=5400; terrainCoef=2.3; turnCoef=2.5; precision=10; brakeDistance=3; acceleration=20; fireResistance=5; thrustDelay=0.2; brakeIdleSpeed=1.78; maxSpeed=170; fuelCapacity=119; wheelCircumference=2.4; antiRollbarForceCoef=0.5; antiRollbarForceLimit=0.5; antiRollbarSpeedMin=20; antiRollbarSpeedMax=80; changeGearMinEffectivity[]={0.94999999,0.15000001,0.94999999,0.94999999,0.94999999,0.949999999,0.94999999,0.949999999}; class complexGearbox { GearboxRatios[]= { "R1", -3.5, "N", 0, "D1", 3.5, "D2", 3, "D3", 2.5, "D4", 2.0, "D5", 1.5, "D6", 1.0 }; TransmissionRatios[]= { "High", 4.111 }; gearBoxMode="auto"; moveOffGear=1; driveString="D"; neutralString="N"; reverseString="R"; }; simulation="carx"; dampersBumpCoef=0.3; differentialType="rear_open"; frontRearSplit=0.5; frontBias=1.3; rearBias=1.3; centreBias=1.5; clutchStrength=15; dampingRateFullThrottle=0.08; dampingRateZeroThrottleClutchEngaged=0.35; dampingRateZeroThrottleClutchDisengaged=0.35; torqueCurve[]={{0.000, 0.000}, {0.178, 0.800}, {0.250, 1.0}, {0.461, 0.900}, {0.900, 0.800}, {1.000, 0.300}}; switchTime=0.01; latency=1; class Wheels { class LF { boneName="wheel_1_1_damper"; steering=1; side="left"; center="wheel_1_1_axis"; boundary="wheel_1_1_bound"; mass=15; MOI=3.3; dampingRate=0.1; maxBrakeTorque=1500; maxHandBrakeTorque=0; suspTravelDirection[]={0,-1,0}; suspForceAppPointOffset="wheel_1_1_axis"; tireForceAppPointOffset="wheel_1_1_axis"; maxCompression=0.15; MaxDroop=0.05000001; mMaxDroop=0.05000001; sprungMass=700.0; springStrength=17500; springDamperRate=2800; longitudinalStiffnessPerUnitGravity=10000; latStiffX = 25; latStiffY = 180; frictionVsSlipGraph[] = { { 0.2,0.8 }, { 0.4,0.6 }, { 1.0,0.4 } }; }; class LR: LF { boneName="wheel_1_2_damper"; steering=0; center="wheel_1_2_axis"; boundary="wheel_1_2_bound"; suspForceAppPointOffset="wheel_1_2_axis"; tireForceAppPointOffset="wheel_1_2_axis"; maxHandBrakeTorque=3000; latStiffY=180; }; class RF: LF { boneName="wheel_2_1_damper"; center="wheel_2_1_axis"; boundary="wheel_2_1_bound"; suspForceAppPointOffset="wheel_2_1_axis"; tireForceAppPointOffset="wheel_2_1_axis"; steering=1; side="right"; }; class RR: RF { boneName="wheel_2_2_damper"; steering=0; center="wheel_2_2_axis"; boundary="wheel_2_2_bound"; suspForceAppPointOffset="wheel_2_2_axis"; tireForceAppPointOffset="wheel_2_2_axis"; maxHandBrakeTorque=3000; latStiffY=180; }; }; Share this post Link to post Share on other sites
Varanon 892 Posted April 22, 2014 The wheel-in-ground is usually a result of the wrong sprungMass, springStrength and springDamperRate values. Make sure the springMass is correct (a quarter of the car's weight) and compute springStrength and springDamperRate from there. Edit: I already fully ported the SUV for CUP, I suggest if you don't know CUP yet, you should check them out. See my signature. Share this post Link to post Share on other sites
blu3sman 11 Posted April 22, 2014 problem with SUV and the wheel Decrease maxCompression to maybe 0.10 Ideally maxCompression and mMaxDroop should match with offset0 offset1​ values for damper animation from model.cfg Share this post Link to post Share on other sites