Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // GENERAL
- simulation = tankX;
- fuelCapacity = __EVAL(FUEL_CAPACITY_TANK * FUEL_CONSUMPTION_HIGH); // in ~ *3 minutes, time to empty
- brakeIdleSpeed = 0.1; // in m/s, forced handbrake when slower
- maxSpeed = 75;
- normalSpeedForwardCoef = 0.75; // thrust value for W
- slowSpeedForwardCoef = 0.25; // thrust value for CTRL+W
- waterResistanceCoef = 0.3;
- // ENGINE
- enginePower = 1045; // in kW, 1400hp GTD-1400
- maxOmega = 314.16; // in rad/s, 3000rpm
- minOmega = 104.72; // in rad/s, 1000rpm tactical idle
- redRpm = 3000; // max rpm for audio only
- idleRpm = 1000; // min rpm for audio only
- peakTorque = 4950; // in Nm, @ 1000rpm
- torqueCurve[] = {
- {__EVAL(1000/3000) , __EVAL(4950/4950)},
- {__EVAL(3000/3000) , __EVAL(3465/4950)}
- };
- thrustDelay = 0.5; // time it takes from 0 thrust to 1 wanted thrust
- engineMOI = 12.0;
- dampingRateFullThrottle = 1.4; // engine braking with thrust 1
- dampingRateZeroThrottleClutchEngaged = 5.0; // engine braking with thrust 0
- dampingRateZeroThrottleClutchDisengaged = 0.8; // engine braking in neutral/open clutch
- // DRIVETRAIN
- clutchStrength = 40.0;
- latency = 1.3; // time to stay in a gear
- switchTime = 0; // time off gear when switching
- changeGearType = "rpmratio"; // condition for switching gears
- /*changeGearMinEffectivity[] = { // torque ratio
- 0.85,
- 0.1,
- 0.85, 0.9, 0.95, 0.95
- };*/
- changeGearOmegaRatios[] = { // rpm ratio max/min pair
- __EVAL(3000/3000) , __EVAL(1000/3000),
- __EVAL(1000/3000) , 0,
- __EVAL(2980/3000) , __EVAL(1000/3000),
- __EVAL(2950/3000) , __EVAL(2100/3000),
- __EVAL(2950/3000) , __EVAL(2200/3000),
- __EVAL(2950/3000) , __EVAL(2200/3000)
- };
- class complexGearbox
- {
- GearboxRatios[] = {
- "R1", -6.5,
- "N" , 0,
- "D1", 4.4,
- "D2", 2.2,
- "D3", 1.5,
- "D4", 1.0
- };
- transmissionRatios[] = {"High",11.5}; // remaining drivetrain ratios (final drive)
- gearBoxMode = "auto";
- moveOffGear = 1;
- driveString = "D";
- neutralString = "N";
- reverseString = "R";
- };
- // ARTIFICIAL FORCES
- tankTurnForce = 0.95e6; // initial force applied to turning in [0,tankTurnForceAngMinSpd] ang. speed range
- tankTurnForceAngMinSpd = 0.7; // in rad/s, speed where tankTurnForce starts fading to 0 @ tankTurnForceAngSpd
- tankTurnForceAngSpd = 0.76; // in rad/s, angular speed where tankTurnForce becomes 0
- accelAidForceCoef = 2.0; // acceleration aid force
- accelAidForceYOffset = -2.0; // Y offset from the CoG where to apply the accelAidForce
- accelAidForceSpd = 1.4; // in m/s, speed where accelAidForceCoef becomes 0
- // WHEELS
- class Wheels
- {
- // LEFT SIDE
- class L2
- {
- side = "left";
- suspTravelDirection[] = SUSPTRAVELDIR_LEFT;
- boneName = "wheel_podkoloL1";
- center = "wheel_1_2_axis";
- boundary = "wheel_1_2_bound";
- steering = false;
- width = 0.5;
- mass = 200;
- MOI = __EVAL(0.5*200*(0.378626^2)); // radius 0.378626m
- dampingRate = 2250.0;
- dampingRateInAir = 2250.0;
- dampingRateDestroyed = 4000.0;
- maxDroop = 0.18;
- maxCompression = 0.18;
- sprungMass = 3358;
- springStrength = 272000;
- springDamperRate = 30000;
- maxBrakeTorque = 32000;
- latStiffX = 1.5;
- latStiffY = 30;
- longitudinalStiffnessPerUnitGravity = 12000;
- frictionVsSlipGraph[] = {
- {0.0, 0.5},
- {0.1, 1.5},
- {0.5, 0.9}
- };
- };
- class L3 : L2
- {
- boneName = "wheel_podkolol2";
- center = "wheel_1_3_axis";
- boundary = "wheel_1_3_bound";
- };
- class L4 : L2
- {
- boneName = "wheel_podkolol3";
- center = "wheel_1_4_axis";
- boundary = "wheel_1_4_bound";
- };
- class L5 : L2
- {
- boneName = "wheel_podkolol4";
- center = "wheel_1_5_axis";
- boundary = "wheel_1_5_bound";
- };
- class L6 : L2
- {
- boneName = "wheel_podkolol5";
- center = "wheel_1_6_axis";
- boundary = "wheel_1_6_bound";
- };
- class L7 : L2
- {
- boneName = "wheel_podkolol6";
- center = "wheel_1_7_axis";
- boundary = "wheel_1_7_bound";
- };
- class L8 : L2
- {
- boneName = "wheel_podkolol7";
- center = "wheel_1_8_axis";
- boundary = "wheel_1_8_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 L9 : L2
- {
- boneName = "wheel_podkolol9";
- center = "wheel_1_9_axis";
- boundary = "wheel_1_9_bound";
- maxDroop = 0.01;
- maxCompression = 0.01;
- };
- // 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 = "";
- center = "wheel_1_1_axis";
- boundary = "wheel_1_1_bound";
- maxDroop = 0.01;
- maxCompression = 0.01;
- };
- // RIGHT SIDE
- class R2 : L2
- {
- side = "right";
- suspTravelDirection[] = SUSPTRAVELDIR_RIGHT;
- boneName = "wheel_podkolop1";
- center = "wheel_2_2_axis";
- boundary = "wheel_2_2_bound";
- };
- class R3 : R2
- {
- boneName = "wheel_podkolop2";
- center = "wheel_2_3_axis";
- boundary = "wheel_2_3_bound";
- };
- class R4 : R2
- {
- boneName = "wheel_podkolop3";
- center = "wheel_2_4_axis";
- boundary = "wheel_2_4_bound";
- };
- class R5 : R2
- {
- boneName = "wheel_podkolop4";
- center = "wheel_2_5_axis";
- boundary = "wheel_2_5_bound";
- };
- class R6 : R2
- {
- boneName = "wheel_podkolop5";
- center = "wheel_2_6_axis";
- boundary = "wheel_2_6_bound";
- };
- class R7 : R2
- {
- boneName = "wheel_podkolop6";
- center = "wheel_2_7_axis";
- boundary = "wheel_2_7_bound";
- };
- class R8 : R2
- {
- boneName = "wheel_podkolop7";
- center = "wheel_2_8_axis";
- boundary = "wheel_2_8_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 R9 : R2
- {
- boneName = "wheel_podkolop9";
- center = "wheel_2_9_axis";
- boundary = "wheel_2_9_bound";
- maxDroop = 0.01;
- maxCompression = 0.01;
- };
- // 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 = "";
- center = "wheel_2_1_axis";
- boundary = "wheel_2_1_bound";
- maxDroop = 0.01;
- maxCompression = 0.01;
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement