Guest User

Untitled

a guest
Jul 9th, 2018
291
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // GENERAL
  2. simulation = tankX;
  3. fuelCapacity = __EVAL(FUEL_CAPACITY_TANK * FUEL_CONSUMPTION_HIGH); // in ~ *3 minutes, time to empty
  4. brakeIdleSpeed = 0.1; // in m/s, forced handbrake when slower
  5. maxSpeed = 75;
  6. normalSpeedForwardCoef = 0.75; // thrust value for W
  7. slowSpeedForwardCoef = 0.25; // thrust value for CTRL+W
  8. waterResistanceCoef = 0.3;
  9.  
  10. // ENGINE
  11. enginePower = 1045; // in kW, 1400hp GTD-1400
  12. maxOmega = 314.16; // in rad/s, 3000rpm
  13. minOmega = 104.72; // in rad/s, 1000rpm tactical idle
  14. redRpm = 3000; // max rpm for audio only
  15. idleRpm = 1000; // min rpm for audio only
  16. peakTorque = 4950; // in Nm, @ 1000rpm
  17. torqueCurve[] = {
  18. {__EVAL(1000/3000) , __EVAL(4950/4950)},
  19. {__EVAL(3000/3000) , __EVAL(3465/4950)}
  20. };
  21. thrustDelay = 0.5; // time it takes from 0 thrust to 1 wanted thrust
  22. engineMOI = 12.0;
  23. dampingRateFullThrottle = 1.4; // engine braking with thrust 1
  24. dampingRateZeroThrottleClutchEngaged = 5.0; // engine braking with thrust 0
  25. dampingRateZeroThrottleClutchDisengaged = 0.8; // engine braking in neutral/open clutch
  26.  
  27.  
  28. // DRIVETRAIN
  29. clutchStrength = 40.0;
  30. latency = 1.3; // time to stay in a gear
  31. switchTime = 0; // time off gear when switching
  32. changeGearType = "rpmratio"; // condition for switching gears
  33. /*changeGearMinEffectivity[] = { // torque ratio
  34. 0.85,
  35. 0.1,
  36. 0.85, 0.9, 0.95, 0.95
  37. };*/
  38. changeGearOmegaRatios[] = { // rpm ratio max/min pair
  39. __EVAL(3000/3000) , __EVAL(1000/3000),
  40. __EVAL(1000/3000) , 0,
  41. __EVAL(2980/3000) , __EVAL(1000/3000),
  42. __EVAL(2950/3000) , __EVAL(2100/3000),
  43. __EVAL(2950/3000) , __EVAL(2200/3000),
  44. __EVAL(2950/3000) , __EVAL(2200/3000)
  45. };
  46. class complexGearbox
  47. {
  48. GearboxRatios[] = {
  49. "R1", -6.5,
  50. "N" , 0,
  51. "D1", 4.4,
  52. "D2", 2.2,
  53. "D3", 1.5,
  54. "D4", 1.0
  55. };
  56. transmissionRatios[] = {"High",11.5}; // remaining drivetrain ratios (final drive)
  57. gearBoxMode = "auto";
  58. moveOffGear = 1;
  59. driveString = "D";
  60. neutralString = "N";
  61. reverseString = "R";
  62. };
  63.  
  64. // ARTIFICIAL FORCES
  65. tankTurnForce = 0.95e6; // initial force applied to turning in [0,tankTurnForceAngMinSpd] ang. speed range
  66. tankTurnForceAngMinSpd = 0.7; // in rad/s, speed where tankTurnForce starts fading to 0 @ tankTurnForceAngSpd
  67. tankTurnForceAngSpd = 0.76; // in rad/s, angular speed where tankTurnForce becomes 0
  68. accelAidForceCoef = 2.0; // acceleration aid force
  69. accelAidForceYOffset = -2.0; // Y offset from the CoG where to apply the accelAidForce
  70. accelAidForceSpd = 1.4; // in m/s, speed where accelAidForceCoef becomes 0
  71.  
  72. // WHEELS
  73. class Wheels
  74. {
  75. // LEFT SIDE
  76. class L2
  77. {
  78. side = "left";
  79. suspTravelDirection[] = SUSPTRAVELDIR_LEFT;
  80. boneName = "wheel_podkoloL1";
  81. center = "wheel_1_2_axis";
  82. boundary = "wheel_1_2_bound";
  83. steering = false;
  84. width = 0.5;
  85. mass = 200;
  86. MOI = __EVAL(0.5*200*(0.378626^2)); // radius 0.378626m
  87. dampingRate = 2250.0;
  88. dampingRateInAir = 2250.0;
  89. dampingRateDestroyed = 4000.0;
  90. maxDroop = 0.18;
  91. maxCompression = 0.18;
  92. sprungMass = 3358;
  93. springStrength = 272000;
  94. springDamperRate = 30000;
  95. maxBrakeTorque = 32000;
  96. latStiffX = 1.5;
  97. latStiffY = 30;
  98. longitudinalStiffnessPerUnitGravity = 12000;
  99. frictionVsSlipGraph[] = {
  100. {0.0, 0.5},
  101. {0.1, 1.5},
  102. {0.5, 0.9}
  103. };
  104. };
  105. class L3 : L2
  106. {
  107. boneName = "wheel_podkolol2";
  108. center = "wheel_1_3_axis";
  109. boundary = "wheel_1_3_bound";
  110. };
  111. class L4 : L2
  112. {
  113. boneName = "wheel_podkolol3";
  114. center = "wheel_1_4_axis";
  115. boundary = "wheel_1_4_bound";
  116. };
  117. class L5 : L2
  118. {
  119. boneName = "wheel_podkolol4";
  120. center = "wheel_1_5_axis";
  121. boundary = "wheel_1_5_bound";
  122. };
  123. class L6 : L2
  124. {
  125. boneName = "wheel_podkolol5";
  126. center = "wheel_1_6_axis";
  127. boundary = "wheel_1_6_bound";
  128. };
  129. class L7 : L2
  130. {
  131. boneName = "wheel_podkolol6";
  132. center = "wheel_1_7_axis";
  133. boundary = "wheel_1_7_bound";
  134. };
  135. class L8 : L2
  136. {
  137. boneName = "wheel_podkolol7";
  138. center = "wheel_1_8_axis";
  139. boundary = "wheel_1_8_bound";
  140. };
  141. // rear left wheel, usually Idler or Drive Sproket
  142. // Note, this wheel may not always be touching the ground, but we need it anyway!
  143. class L9 : L2
  144. {
  145. boneName = "wheel_podkolol9";
  146. center = "wheel_1_9_axis";
  147. boundary = "wheel_1_9_bound";
  148. maxDroop = 0.01;
  149. maxCompression = 0.01;
  150. };
  151. // front left wheel, usually Idler or Drive Sproket
  152. // Note, this wheel may not always be touching the ground, but we need it anyway!
  153. class L1: L2
  154. {
  155. boneName = "";
  156. center = "wheel_1_1_axis";
  157. boundary = "wheel_1_1_bound";
  158. maxDroop = 0.01;
  159. maxCompression = 0.01;
  160. };
  161. // RIGHT SIDE
  162. class R2 : L2
  163. {
  164. side = "right";
  165. suspTravelDirection[] = SUSPTRAVELDIR_RIGHT;
  166. boneName = "wheel_podkolop1";
  167. center = "wheel_2_2_axis";
  168. boundary = "wheel_2_2_bound";
  169. };
  170. class R3 : R2
  171. {
  172. boneName = "wheel_podkolop2";
  173. center = "wheel_2_3_axis";
  174. boundary = "wheel_2_3_bound";
  175. };
  176. class R4 : R2
  177. {
  178. boneName = "wheel_podkolop3";
  179. center = "wheel_2_4_axis";
  180. boundary = "wheel_2_4_bound";
  181. };
  182. class R5 : R2
  183. {
  184. boneName = "wheel_podkolop4";
  185. center = "wheel_2_5_axis";
  186. boundary = "wheel_2_5_bound";
  187. };
  188. class R6 : R2
  189. {
  190. boneName = "wheel_podkolop5";
  191. center = "wheel_2_6_axis";
  192. boundary = "wheel_2_6_bound";
  193. };
  194. class R7 : R2
  195. {
  196. boneName = "wheel_podkolop6";
  197. center = "wheel_2_7_axis";
  198. boundary = "wheel_2_7_bound";
  199. };
  200. class R8 : R2
  201. {
  202. boneName = "wheel_podkolop7";
  203. center = "wheel_2_8_axis";
  204. boundary = "wheel_2_8_bound";
  205. };
  206. // rear right wheel, usually Idler or Drive Sproket
  207. // Note, this wheel may not always be touching the ground, but we need it anyway!
  208. class R9 : R2
  209. {
  210. boneName = "wheel_podkolop9";
  211. center = "wheel_2_9_axis";
  212. boundary = "wheel_2_9_bound";
  213. maxDroop = 0.01;
  214. maxCompression = 0.01;
  215. };
  216. // front right wheel, usually Idler or Drive Sproket
  217. // Note, this wheel may not always be touching the ground, but we need it anyway!
  218. class R1 : R2
  219. {
  220. boneName = "";
  221. center = "wheel_2_1_axis";
  222. boundary = "wheel_2_1_bound";
  223. maxDroop = 0.01;
  224. maxCompression = 0.01;
  225. };
  226. };
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×