Bonezz 10 Posted January 21, 2018 Hey all probably this been asked before but i couldnt find anything for what i need im converting a truck to arma and yes i know they dont support trucks and trailers but i wana do it so i have everything setup wheels spin in buldozer and i game they spin too but i have one wheel wheel_2_3 floating and i dont have an idea why i tweaked sprungMass and other stuff but didnt work. heres a pic https://gyazo.com/29c44612bd9b7cfc6813a31e07917502 model.cfg Spoiler 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 pete_379_dc: Car { skeletonInherit="Car"; isDiscrete = 1; skeletonBones[]= { "damagehide","", "drivewheel","", "volant","drivewheel", "ventilate","", "speed","", "oil","", "glass1","damagehide", "glass2","damagehide", "glass3","damagehide", "glass4","damagehide", "RGlass","damagehide", "LGlass","damagehide" }; }; }; class CfgModels { class Vehicle { sectionsInherit = ""; sections[] = {}; skeletonName = ""; }; class Car: Vehicle { sections[] = {}; class Animations { // 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 class Glass1_destruct {source="HitGlass1"; selection="glass1"; type="hide"; minValue = 0; maxValue = 1; minPhase=0; maxPhase=1; hideValue = 0.99;}; class Glass2_destruct {source="HitGlass2"; selection="glass2"; type="hide"; minValue = 0; maxValue = 1; minPhase=0; maxPhase=1; hideValue = 0.99;}; class Glass3_destruct {source="HitGlass3"; selection="glass3"; type="hide"; minValue = 0; maxValue = 1; minPhase=0; maxPhase=1; hideValue = 0.99;}; class Glass4_destruct {source="HitGlass4"; selection="glass4"; type="hide"; minValue = 0; maxValue = 1; minPhase=0; maxPhase=1; hideValue = 0.99;}; class RGlass_destruct {source="HitRGlass"; selection="Rglass"; type="hide"; minValue = 0; maxValue = 1; minPhase=0; maxPhase=1; hideValue = 0.99;}; class LGlass_destruct {source="HitLGlass"; selection="Lglass"; type="hide"; minValue = 0; maxValue = 1; minPhase=0; maxPhase=1; hideValue = 0.99;}; class damageHide {type="hide"; source="damage"; selection="damageHide"; sourceAddress = clamp; minValue = 0.0; maxValue = 1.0; minPhase=0; maxPhase=1; hideValue = 1.0;}; class reverse_light { type="Hide"; selection="reverse_light"; sourceAddress="clamp"; source="Gear"; minValue = -1; maxValue = 0; hideValue = "0.2"; }; }; }; class pete_379_dc: Car { sections[]= { "glass1", "glass2", "glass3", "glass4", "RGlass", "LGlass", "motor", "p svetlo", "l svetlo", "zbytek", "camo1", "camo2", "podsvit pristroju", "backlight", "brakelight", "spz", "trunk", "door_1_1", "door_1_2", "door_2_1", "door_2_2", "damagehide", "palivo", "karoserie", "reverse_light", "wheel_1_1", "wheel_1_2", "wheel_1_3", "wheel_2_1", "wheel_2_2", "wheel_2_3", "rpm", "mph", "zadni_kapota", "pedall", "pedalr" }; sectionsInherit="Car"; skeletonName="pete_379_dc"; class Animations:Animations { class IndicatorSpeed { animPeriod=0; type="rotation"; source="speed"; selection="speed"; axis="speed_axis"; memory=1; minValue=0.000000; maxValue=35; angle0=0.000000; angle1=5; }; class IndicatorRPM { animPeriod=0; type="rotation"; source="rpm"; selection="rpm"; axis="rpm_axis"; memory=1; minValue=0.000000; maxValue=1.000000; angle0=0.000000; angle1=3.8; }; class Ventilate: IndicatorRPM { selection="ventilate"; axis="ventilate_axis"; angle1="2* rad 360"; sourceAddress="loop"; }; class IndicatorOilTemp: IndicatorRPM { source="rpm"; selection="oil"; axis="oil_axis"; memory=0; maxValue=0.3; angle1="1.5"; }; class Fuel: IndicatorRPM { source="fuel"; selection="fuel"; axis="fuel_axis"; memory=0; maxValue=1.000000; angle0=0; angle1=2.2; }; class DrivingWheel: Rotation { source="drivingWheel"; selection="drivewheel"; axis="drivewheel_axis"; minValue=-1; maxValue=1; angle0=(rad 80); angle1=(rad -80); }; class reverse_light { type="Hide"; selection="reverse_light"; sourceAddress="clamp"; source="Gear"; minValue = -1; maxValue = 0; hideValue = "0.2"; }; class Steering_1_1 { type="rotationY"; source="drivingWheel"; selection="wheel_1_1_steering"; axis="wheel_1_1_steering_axis"; memory=1; minValue= -1; maxValue= 1; angle0= 0.65; angle1= -0.65; }; class Steering_2_1: Steering_1_1 { selection="wheel_2_1_steering"; axis="wheel_2_1_steering_axis"; }; class Wheel_1_1 {selection="wheel_1_1"; axis="wheel_1_1_axis"; type="rotationX"; source="wheel"; memory=1; sourceAddress="loop"; minValue=0; maxValue=1; angle0=0; angle1="rad -360";}; 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_1_4: Wheel_1_1 {selection="wheel_1_4"; axis="wheel_1_4_axis";}; class wheel_2_1: Wheel_1_1 {selection="wheel_2_1"; axis="wheel_2_1_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_2_4: Wheel_1_1 {selection="Wheel_2_4"; axis="wheel_2_4_axis";}; class Wheel_1_1_Damper {selection="wheel_1_1_damper_land"; axis="wheel_1_1_damper_axis"; offset0= "0.5"; offset1= "-0.3"; type="translation"; source="damper"; animPeriod = 1; minValue="0"; maxValue="1"; memory=1;}; class wheel_1_2_Damper: Wheel_1_1_Damper {selection="wheel_1_2_damper_land"; axis="wheel_1_2_damper_axis";}; class wheel_1_3_Damper: Wheel_1_1_Damper {selection="wheel_1_3_damper_land"; axis="wheel_1_3_damper_axis";}; class wheel_1_4_Damper: Wheel_1_1_Damper {selection="wheel_1_4_damper_land"; axis="wheel_1_4_damper_axis";}; class wheel_2_1_Damper: Wheel_1_1_Damper {selection="wheel_2_1_damper_land"; axis="wheel_1_1_damper_axis";}; class Wheel_2_2_Damper: Wheel_1_1_Damper {selection="wheel_2_2_damper_land"; axis="wheel_2_2_damper_axis";}; class wheel_2_3_Damper: Wheel_1_1_Damper {selection="wheel_2_3_damper_land"; axis="wheel_2_3_damper_axis";}; class wheel_2_4_Damper: Wheel_1_1_Damper {selection="wheel_2_4_damper_land"; axis="wheel_2_4_damper_axis";}; }; }; }; physx.hpp Spoiler /// splendid tutorial by RedPhoenix could be found at /// http://forums.bistudio.com/showthread.php?165390-Tutorial-Creating-Custom-Engine-Gearbox-and-Suspension-Vehicle-configuration thrustDelay = 0.2; /// initial delay to cause lesser slip when on 1st gear - thrust goes from zero to full in this time brakeIdleSpeed = 1.78; /// under what speed (in m/s) does the brake apply for a vehicle without thrust maxSpeed = 250; /// vehicle can go a bit over, but dramatically decreases thrust fuelCapacity = 80; wheelCircumference = 2.277; /// diameter of 725 antiRollbarForceCoef = 0; /// how strong is the anti-roll bar of vehicle preventing it to lose grip in turns (not any magical stuff, real ARB) antiRollbarForceLimit = 0; /// highest possible force of ARB antiRollbarSpeedMin = 0; /// the roll bar force gets from zero to full in range of min and max speed antiRollbarSpeedMax = 0; /// this simulates losing grip at high speed turns selectionBackLights = "backlight"; selectionBrakeLights = "brakelight"; /// Gearbox and transmission via PhysX idleRpm = 600; // RPM at which the engine idles. redRpm = 6000; // RPM at which the engine redlines. class complexGearbox { GearboxRatios[] = {"R1",-6.575,"N",0,"D1",4.827,"D2",2.855,"D3",1.716,"D4",1.073,"D5",0.755,"D6",0.575}; TransmissionRatios[] = {"High",5.69}; gearBoxMode = "auto"; moveOffGear = 1; driveString = "D"; neutralString = "N"; reverseString = "R"; }; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// PhysX parameters ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // <Description>: Defines simulation type of the vehicle. PhysX simulation ends with letter "x", "carx", "tankx" ... // <Type>: string // <Default>: (required) simulation = "carx"; // <Description>: Defines how much dampers react to random little bumps on surface. It's only visual effect, doesn't influence drive simulation, // only taken into account when calculating damper animation. // <Type>: float // <Default>: 0.0 dampersBumpCoef = 0.05; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Differential parameters ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // <Description>: A number of differential types are supported: 4-wheel drive with open differential, 4-wheel drive with limited slip, front-wheel drive // with open differential, front-wheel drive with limited slip, rear-wheel drive with open differential, rear-wheel drive with limited slip. // <Type>: string; acceptable values: "all_open", "all_limited", "front_open", "front_limited", "rear_open", "rear_limited" // <Default>: "all_limited" differentialType = "all_open"; // <Description>: Ratio of engine power that goes to front wheels out of total power for 4-wheel drive differentials. // Choosing a value greater than 0.5 delivers more torque to the front wheels, while choosing a value less than 0.5 // delivers more torque to the rear wheels. This value is ignored for front-wheel drive and rear-wheel drive differentials. // <Type>: float // <Default>: 0.5 frontRearSplit = 0.5; // <Description>: This is the largest possible relative difference between speed of front wheels. It helps to have outside wheels a bit faster // during the turns, but it prevents the faster wheel to take all the power while sliding. The power is shifted to slower wheel once the value is reached. // Locked differential has value of 1, the softer is the lock the greater should the value be. // This value is ignored except for front-wheel drive or four wheel drive with limited slip. // A good starting value is around 1.3. // <Type>: // <Default>: frontBias = 1.5; // <Description>: This is similar to frontBias except that it refers to the rear wheels. // This value is ignored except for rear-wheel drive or four wheel drive with limited slip. // A good starting value is around 1.3. // <Type>: float // <Default>: 1.3 rearBias = 1.3; // <Description>: This value is similar to the frontBias and rearBias, except that it refers to the sum of the front wheel rotation speeds and the sum // of the rear wheel rotation speeds. // This value is ignored except for four wheel drive with limited slip. // A good starting value is around 1.3. // <Type>: float // <Default>: 1.3 centreBias = 1.3; // <Description>: How fast is engine power distributed to the wheels. Stronger values mean more aggressive drive performance inclining to // slip a little while changing gears while weaker values are better for comfortable seamless ride. // <Type>: float // <Default>: 10.0 clutchStrength = 15.0; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Engine parameters ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // <Description>: Power of the engine in kW. // <Type>: float // <Default>: (required) enginePower = 410; // <Description>: This is the maximum rotational speed of the engine expressed in radians per second. It could be calculated from maximum // engine RPM like this: // maxOmega = (maxRpm*2*Pi)/60. // <Type>: float // <Default>: 600 which is cca 6000 rounds per minute. maxOmega = 720; // <Description>: This is the maximum torque that is ever available from the engine. This is expressed in Newton metres. // <Type>: float // <Default>: value calculated from enginePower according to http://en.wikipedia.org/wiki/Horsepower#Relationship_with_torque peakTorque = 350; // <Description>: These three values describe internal damping of the engine. Bigger values mean greater damping. Clutch disengaged value // is used while shifting gears, engine interpolates between clutch engaged and full throttle values according to throttle input. // We tend to use slightly lower clutch engaged values because it allows cars to turn more smoothly. // Typical values in range (0.25,3). The simulation can become unstable with damping rates of 0. // <Type>: float, float, float // <Default>: 0.08, 2.0, 0.35 dampingRateFullThrottle = 0.08; dampingRateZeroThrottleClutchEngaged = 0.35; dampingRateZeroThrottleClutchDisengaged = 0.35; // <Description>: This is a graph of peak torque versus engine rotational speed. // The x-axis of the curve is the relative engine speed; that is, the engine speed divided by the maximum engine speed. The y-axis of the curve is a // multiplier in range (0,1) that is used to scale the peak torque. It is good to keep the values in mind while setting changeGearMinEffectivity. // <Type>: Array[i][2] where i = number of samples, maximum 8; // <Default>: {{0.0, 0.8}, {0.33, 1.0}, {1.0, 0.8}} 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}}; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Gearbox parameters ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // <Description>: Value of minimal gear effectivity to hold current gear. If there is better gear and effectivity is below this value then change gear. // <Range>: (0,1) // <Type>: Array[i] where i = number of gears // <Default>: 0.95 for every value (Neutral = 0.15 Not sure how important this is but we want to kick out of neutral very quickly) changeGearMinEffectivity[] = {0.95, 0.15, 0.95, 0.95, 0.95, 0.95, 0.95}; // <Description>: The switch time describes how long it takes (in seconds) for a gear change to be completed. This needs to be set to aggresive shifting // or it would cause issues while trying to run aggressively (mainly during evading the enemies). // <Type>: float // <Default>: 0.01 switchTime = 0.31; // <Description>: Set the latency time of the gearbox, specified in s. // This is used to prevent instant shifting after changing gears - there is some power loss during gear change and it could seem that // previous gear is better for a brief time after shifting. // <Type>: float // <Default>: 2.0 latency = 1.0; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Wheels parameters ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// class Wheels { class L1 { boneName = "wheel_1_1_damper"; steering = 1; side = "left"; center = "wheel_1_1_axis"; boundary = "wheel_1_1_bound"; width = "0.2"; mass = 80; MOI = 40; dampingRate = 0.1; dampingRateDamaged = 1.0; dampingRateDestroyed = 1000.0; maxBrakeTorque = 7500; maxHandBrakeTorque = 0; suspTravelDirection[] = {0,-1,0}; suspForceAppPointOffset = "wheel_1_1_axis"; tireForceAppPointOffset = "wheel_1_1_axis"; maxCompression = 0.15; mMaxDroop = 0.15; sprungMass = 2000; springStrength = 94000; springDamperRate = 9000; longitudinalStiffnessPerUnitGravity = 10000; latStiffX = 25; latStiffY = 180; frictionVsSlipGraph[] = {{ 0,1 },{ 0.5,1 },{ 1,1 }}; }; class L2: L1 { 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"; sprungMass = 1750; springStrength = 34000; springDamperRate = 9000; }; class L3: L2 { boneName = "wheel_1_3_damper"; steering = 0; center = "wheel_1_3_axis"; boundary = "wheel_1_3_bound"; suspForceAppPointOffset = "wheel_1_3_axis"; tireForceAppPointOffset = "wheel_1_3_axis"; maxHandBrakeTorque = 75000; }; class R1: L1 { 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 R2: L2 { 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"; side = "right"; maxHandBrakeTorque = 0; }; class R3: R2 { boneName = "wheel_2_3_damper"; steering = 0; center = "wheel_2_3_axis"; boundary = "wheel_2_3_bound"; suspForceAppPointOffset = "wheel_2_3_axis"; tireForceAppPointOffset = "wheel_2_3_axis"; maxHandBrakeTorque = 75000; sprungMass = 1750; springStrength = 34000; springDamperRate = 9000; }; }; please if anyone can help let me know. Share this post Link to post Share on other sites