Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ref: https://developer.nvidia.com/sites/default/files/akamai/physx/Docs/Vehicles.html#tuning-guide
- /// PhysX part
- simulation = "tankX";
- engineBrakeCoef = 0.1;
- torqueCurve[] = {
- {"(700/2640)" , 0},
- {"(1600/2640)", 0.92},
- {"(1800/2640)", 0.98},
- {"(1900/2640)", 1},
- {"(2000/2640)", 0.98},
- {"(2200/2640)", 0.96},
- {"(2400/2640)", 0.91},
- {"(4900/2640)", 0},
- };
- /*
- torqueCurve[] = { // TorqueCurve from MBT base in A3 Config (2640 seems to be redRPM, not sure where 2850 is coming from).
- {"(700/2640)",0},
- {"(1600/2640)","(2650/2850)"},
- {"(1800/2640)","(2800/2850)"},
- {"(1900/2640)","(2850/2850)"},
- {"(2000/2640)","(2800/2850)"},
- {"(2200/2640)","(2750/2850)"},
- {"(2400/2640)","(2600/2850)"},
- {"(4900/2640)","(0/2850)"}
- };
- */
- //maxOmega = 251.33;
- maxOmega = 251.33;
- //enginePower = 195;
- enginePower = 185;
- // peakTorque = 2311;
- peakTorque = 741.7;
- maxGForce = 2;
- thrustDelay = 0.1; /// how much time does it take to get the full thrust (default 1), used to reduce initial wheel slipping
- clutchStrength = 50;
- fuelCapacity = 1885;
- brakeIdleSpeed = 1.78; /// speed in m/s below which braking is applied
- latency = 1.4;
- tankTurnForce = 201710; /// Random magic number, expected to be something like 11 x mass of vehicle (was 101710 before guy played with it...)
- normalSpeedForwardCoef = 0.52;
- switchTime = 0.31;
- dampersBumpCoef = 0.3;
- changeGearMinEffectivity[] = {0.95, 0.15, 0.85, 0.95, 0.95, 0.95, 0.95};
- maxSpeed = 56;
- engineBrakeCoef = 0.2;
- overSpeedBrakeCoef = 0.8;
- dampingRateFullThrottle = 0.08;
- dampingRateZeroThrottleClutchEngaged = 2;
- dampingRateZeroThrottleClutchDisengaged = 0.5;
- wheelCircumference = 1.8;
- /// Gearbox and transmission
- idleRpm = 600; // RPM at which the engine idles.
- redRpm = 2400; // RPM at which the engine redlines.
- engineLosses = 25; // power losses on the engine's crank-shaft (before the gearbox) in Nm. (Multiplied by the gear ratio)
- transmissionLosses = 15; // power losses on wheel axis (in/after the gearbox) in Nm. (Constant)
- class complexGearbox {
- GearboxRatios[] = {
- "R1",-5.9,
- "N",0,
- "D1",5.9,
- "D2",3.8,
- "D3",2.75,
- "D4",2,
- "D5",1.23
- };
- TransmissionRatios[] = {
- "High",7
- };
- gearBoxMode = "auto"; //gearbox can be of type: full-auto (only requires 'W' or 'S'), auto (requires shift between drive and reverse), semi-auto, manual
- moveOffGear = 1; // defines what gear an automatic or semi-automatic gearbox will move off from stationary in. 1 by default.
- driveString = "D"; // string to display in the HUD for forward gears.
- neutralString = "N"; // string to display in the HUD for neutral gear.
- reverseString = "R"; // string to display in the HUD for reverse gears.
- transmissionDelay = 1;
- gearUpMaxCoef = 0.9;
- gearUpMinCoef = 0.7;
- gearDownMaxCoef = 0.75;
- gearDownMinCoef = 0.7;
- };
- /// end of gearbox
- numberPhysicalWheels = 12;
- class Wheels {
- class L2 {
- boneName = "track_L1";
- center = "wheel_1_2_axis";
- boundary = "wheel_1_2_bound";
- damping = 75.0;
- // tanks do not have steerable wheels
- steering = false;
- /// We need to distinguish the side to apply the right thrust value
- side = "left";
- /// weight of the wheel is defined per wheel, it reduces overall mass of vehicle
- weight = 60;
- mass = 60;
- MOI = 20; // Moment of Intertia (basically, momentum of wheel). lower = slower/less momentum
- latStiffX = 25;
- latStiffY = 480;
- longitudinalStiffnessPerUnitGravity = 100000;
- maxBrakeTorque = 10000;
- sprungMass = 2940.0;
- springStrength = 74500;
- springDamperRate = 9000;
- dampingRate = 1;
- dampingRateInAir = 2450.0; // Basically, how quickly the wheel will come to a stop, this and MOI are the main factors to be tweaked
- dampingRateDamaged = 10.0;
- dampingRateDestroyed = 10000.0;
- maxDroop = 0.2;
- maxCompression = 0.2;
- frictionVsSlipGraph[] = {[0,5],[0.5,5],[1,5]};
- };
- class L3: L2 {
- boneName = "track_L2";
- center = "wheel_1_3_axis";
- boundary = "wheel_1_3_bound";
- };
- class L4: L2 {
- boneName = "track_L3";
- center = "wheel_1_4_axis";
- boundary = "wheel_1_4_bound";
- };
- class L5: L2 {
- boneName = "track_L4";
- center = "wheel_1_5_axis";
- boundary = "wheel_1_5_bound";
- };
- // rear left wheel, usually Idler or Drive Sproket
- // Note, this wheel may not always be touching the ground, but we need it anyway!
- class L6: L2 {
- boneName = "track_L5";
- center = "wheel_1_6_axis";
- boundary = "wheel_1_6_bound";
- };
- // front left wheel, usually Idler or Drive Sproket
- // Note, this wheel may not always be touching the ground, but we need it anyway!
- class L1: L2 {
- boneName = "wheel_Lrear";
- center = "wheel_1_1_axis";
- boundary = "wheel_1_1_bound";
- };
- class R2: L2 {
- boneName = "track_R1";
- center = "wheel_2_2_axis";
- boundary = "wheel_2_2_bound";
- side = "right";
- };
- class R3: R2 {
- boneName = "track_R2";
- center = "wheel_2_3_axis";
- boundary = "wheel_2_3_bound";
- };
- class R4: R2 {
- boneName = "track_R3";
- center = "wheel_2_4_axis";
- boundary = "wheel_2_4_bound";
- };
- class R5: R2 {
- boneName = "track_R4";
- center = "wheel_2_5_axis";
- boundary = "wheel_2_5_bound";
- };
- // rear right wheel, usually Idler or Drive Sproket
- // Note, this wheel may not always be touching the ground, but we need it anyway!
- class R6: R2 {
- boneName = "track_R5";
- center = "wheel_2_6_axis";
- boundary = "wheel_2_6_bound";
- };
- // front right wheel, usually Idler or Drive Sproket
- // Note, this wheel may not always be touching the ground, but we need it anyway!
- class R1: R2 {
- boneName = "wheel_Rrear";
- center = "wheel_2_1_axis";
- boundary = "wheel_2_1_bound";
- };
- };
- /// End of PhysX
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement