Guest User

Untitled

a guest
Mar 3rd, 2019
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.82 KB | None | 0 0
  1. {
  2. "Camso_Engine": {
  3. "information":{
  4. "authors":"Camshaft Software",
  5. "name":"Car Engine",
  6. }
  7. "slotType" : "Camso_Engine",
  8. "slots": [
  9. ["type", "default", "description"]
  10. ["Camso_Turbo","Camso_Turbo","Turbocharger"],
  11. ["Camso_Transmission","Camso_Transmission", "Transmission"]
  12. ],
  13. "powertrain" : [
  14. ["type", "name", "inputName", "inputIndex"],
  15. ["combustionEngine", "mainEngine", "dummy", 0],
  16. ],
  17.  
  18. "mainEngine": {
  19. "torque":[
  20. ["rpm", "torque"]
  21. [0,0],
  22. [500, 85.96],
  23. [900, 111.31],
  24. [1000, 113.75],
  25. [1100, 116.15],
  26. [1200, 118.23],
  27. [1300, 118.91],
  28. [1400, 119.09],
  29. [1500, 119.43],
  30. [1600, 118.79],
  31. [1700, 117.92],
  32. [1800, 116.36],
  33. [1900, 113.40],
  34. [2000, 110.64],
  35. [2100, 109.20],
  36. [2200, 108.80],
  37. [2300, 107.93],
  38. [2400, 107.04],
  39. [2500, 106.08],
  40. [2600, 104.90],
  41. [2700, 103.68],
  42. [2800, 102.71],
  43. [2900, 101.88],
  44. [3000, 100.91],
  45. [3100, 100.09],
  46. [3200, 99.37],
  47. [3300, 98.23],
  48. [3400, 97.19],
  49. [3500, 96.14],
  50. [3600, 95.01],
  51. [3700, 94.09],
  52. [3800, 93.45],
  53. [3900, 93.06],
  54. [4000, 92.57],
  55. [4100, 92.11],
  56. [4200, 91.67],
  57. [4300, 91.39],
  58. [4400, 91.13],
  59. [4500, 91.25],
  60. [4600, 91.11],
  61. [4700, 90.73],
  62. [4800, 90.48],
  63. [4900, 90.04],
  64. [5000, 89.56],
  65. [5100, 89.33],
  66. [5200, 88.63],
  67. [5300, 88.07],
  68.  
  69. ],
  70. //rev limiters have some options
  71. //"revLimiterType":"rpmDrop", //Default choice. waits for rpm to fall before torque comes back. Can have long delays in high gears. Uses "revLimiterRPMDrop".
  72. //"revLimiterType":"timeBased", //Waits for "revLimiterCutTime" time window, but also has "revLimiterMaxRPMDrop" fallback, if the rpm falls too much in the time window.
  73. //"revLimiterType:"soft", //Tapers the the torque off in some range of rpm defined by "revLimiterSmoothOvershootRPM"
  74. //"hasRevLimiter":false, //Disables rev limiter
  75. "revLimiterRPMDrop":100,
  76. //engine performance
  77. "idleRPM":861.54336515665,
  78. "maxRPM":5300, //Max RPM before overrev damage is likely
  79. "inertia":0.13193430761419, //(kg*m/s^2)
  80. "friction":3.8291082747757, //Constant friction torque (Nm)
  81. "dynamicFriction":0.011824938826059, //Friction torque that increases with engine speed (Nm/rad/s)
  82.  
  83.  
  84.  
  85. "waterDamage": {"[engineGroup]:":["engine_intake"]}, //Engine hydrolocks when nodes in this group go under water
  86. "radiator": {"[engineGroup]:":["radiator"]}, //Radiator steam is emitted from nodes in this group
  87. "engineBlock": {"[engineGroup]:":["engine_block"]}, //Engine thermal mass is taken from nodes in this group
  88. //"fuel": {"[engineGroup]:":["fuel"]},
  89. "breakTriggerBeam":"engine", //Engine breaks if beam with this name is broken
  90.  
  91. "soundConfig": "soundConfig", //What section name to look for for engine sound information
  92.  
  93. "particulates":0.025,
  94.  
  95. //cooling and oil system,
  96. "thermalsEnabled":true,
  97. "engineBlockMaterial":"aluminium", //"aluminum", "aluminium", "iron"
  98.  
  99.  
  100. //cooling system
  101. "radiatorArea":0.30414075439705,
  102. "radiatorEffectiveness":20000,
  103. "coolantVolume":5.5004460310307,
  104. "radiatorFanType":"electric",
  105. "radiatorFanTemperature":105
  106. "radiatorFanMaxAirSpeed":2,
  107. "thermostatTemperature":90,
  108.  
  109. //oil radiator
  110. "oilRadiatorArea":5.5004460310307,
  111. "oilRadiatorEffectiveness":2000,
  112. "oilThermostatTemperature":100,
  113. "oilVolume":5.0316347017639, //Litres
  114.  
  115. //engine durability
  116. "cylinderWallTemperatureDamageThreshold":160, //Cylinder temp (C) over which damage starts to occur to rings
  117. "headGasketDamageThreshold":1500000, //Durability of headgasket
  118. "pistonRingDamageThreshold":1500000, //Durability of headgasket
  119. "connectingRodDamageThreshold":2000000, //Durability of connecting rods
  120.  
  121. "energyStorage": "mainTank", //Name of the fuel tank
  122. "requiredEnergyType":"gasoline", //Type of fuel required
  123. "burnEfficiency": [ //How much fuel energy is converted to work in the cylinders (does not account for engine friction losses)
  124. [0.00, 0.17],
  125. [0.05, 0.36],
  126. [0.40, 0.47],
  127. [0.70, 0.58],
  128. [1.00, 0.40],
  129.  
  130. ],
  131. "torqueReactionNodes:":["engine2", "engine1", "engine0"]
  132. },
  133. "vehicleController": {
  134. //https://wiki.beamng.com/VehicleController
  135. //I will put commonly used values below
  136.  
  137. //universally useful values
  138. "calculateOptimalLoadShiftPoints":true, //The high shift points ones can be auto calculated
  139. //"shiftDownRPMOffsetCoef":1.3, //Can spread the downshift points for auto calculation if it tends to hunt too much (choose lower number to spread more)
  140.  
  141. "lowShiftDownRPM":1211.5433651567,
  142. //"highShiftDownRPM":3010,
  143. "lowShiftUpRPM":1711.5433651567,
  144. //"highShiftUpRPM":5200,
  145.  
  146. "topSpeedLimit":58.741922349059, //Speed limiter in m/s
  147.  
  148. //may want to increase values below for ultra high powered cars. On our drag cars they are set to 99999 to effectively disable
  149. //"wheelSlipUpThreshold":7000, //A wheelspin threshold to stop arcade/auto gearbox from upshifting while spinning the tires or drifting
  150. //"wheelSlipDownThreshold":10000, //A wheelspin threshold to stop arcade/auto gearbox from downshifting when locking the brakes
  151. },
  152.  
  153. "soundConfig": {
  154. "sampleName": "4DF23C1B4569BEAA75530CA1051A73CB",
  155. "mainGain": 7.5,
  156. "maxLoadMix": 1,
  157. "minLoadMix": 0,
  158. "onLoadGain":1,
  159. "offLoadGain":1,
  160. "eqLowGain": 0,
  161. "eqLowFreq": 400,
  162. "eqLowWidth": 0,
  163. "eqHighGain": 0,
  164. "eqHighFreq": 6000,
  165. "eqHighWidth": 0.5,
  166. "lowCutFreq":80,
  167. //"fundamentalFrequencyCylinderCount":4,
  168. "eqFundamentalGain": 0,
  169. },
  170.  
  171. },
  172.  
  173. "Camso_Transmission": {
  174. "information":{
  175. "authors":"Camshaft Software",
  176. "name":"Transmission",
  177. }
  178. "slotType" : "Camso_Transmission",
  179. "slots": [
  180. ["type", "default", "description"]
  181.  
  182. ],
  183.  
  184. "gearbox": {
  185. //https://wiki.beamng.com/AutomaticGearbox
  186. "gearChangeTime":0.35, //Seconds to do the shift (forced minimum, vehicleController can make it longer)
  187. "shiftEfficiency":0.5, //Proportion of torque wasted during shifting
  188. "gearRatios":[-3.03, 0, 2.88, 1.88, 1.33, 0.99, 0.75],
  189. "friction": 0, //Constant friction torque on input shaft
  190. "oneWayViscousCoef": 25, //One way clutch - hill holding strength
  191. "parkLockTorque": 1000, //Maximum holding torque of park mode
  192. "gearboxNode:":["engine0"], //node used to play gear damage sound
  193. },
  194. "torqueConverter": {
  195. //https://wiki.beamng.com/TorqueConverter
  196. "converterDiameter": 0.24684837507785, //Affects stall RPM and torque carrying ability
  197. "converterStiffness":12, //Affects tightness of converter around cruising speeds
  198. "couplingAVRatio":0.92, //Speed ratio where the torque multiplication reaches 1:1
  199. "stallTorqueRatio":1.8, //Maximum torque multiplication value (occurs at stall)
  200. "lockupClutchTorque":232.82524873093, //Maximum holding torque of lockup clutch
  201. },
  202.  
  203. "vehicleController":
  204. {
  205. //fancy new auto gearbox or dct useful values
  206. "automaticModes":"PRNDS21", //Add or remove P,R,N,D,S,M,L,1,2 from the string to customize modes
  207. "transmissionGearChangeDelay":0.5, //Seconds before it will allow to shift again
  208. "gearboxDecisionSmoothingUp":5, //Multiplier for how fast it reacts to throttle increase for deciding to shift
  209. "gearboxDecisionSmoothingDown":5, //Multiplier for how fast it reacts to throttle decrease for deciding to shift
  210.  
  211. "useSmartAggressionCalculation":true, //Smart gearbox logic - has a bunch of logic to determine aggression from user input and vehicle sensors
  212. "aggressionHoldOffThrottleDelay":2.25, //How many seconds it will resist an upshift while engine braking after full throttle
  213. "aggressionSmoothingUp":1.5, //Multiplier for how fast aggression is allowed to increase
  214. "aggressionSmoothingDown":0.15, //Multiplier for how fast its allowed to decrease
  215.  
  216. "maxGearChangeTime": 0, //Shift time (s) depends on aggression calculation
  217. "minGearChangeTime": 0,
  218.  
  219. "sportGearChangeTime": 0, //Shift time (s) in sport mode
  220. "autoDownShiftInM":true, //Does it still downshift for you in manual mode if rpm drops too low
  221.  
  222. //torque converter
  223. "torqueConverterLockupRPM":1292.315047735, //RPM above which lockup starts to engage
  224. "torqueConverterLockupRange":1464.6237207663, //RPM range that lockup closes over. Default is lockupRPM * 0.2
  225. "torqueConverterLockupMinGear":3, //Minimum gear that lockup will engage in
  226. "torqueConverterLockupRate":5, //Value of 5 means finished in 1/5 seconds
  227. },
  228.  
  229.  
  230. "powertrain" : [
  231. ["type", "name", "inputName", "inputIndex"],
  232. ["torqueConverter", "torqueConverter", "mainEngine", 1],
  233. ["automaticGearbox", "gearbox", "torqueConverter", 1],
  234.  
  235. ["shaft", "rearDriveshaft", "gearbox", 1 ],
  236. ["differential", "rearDiff", "rearDriveshaft", 1, {"diffType":"open", "gearRatio":3.17, "diffTorqueSplit":0.50}],
  237. //https://wiki.beamng.com/Differential
  238. //needed values to tune diff behavior
  239. //locked specific - nothing needed, auto calc now
  240.  
  241. //lsd specific
  242. //"lsdPreload":50, //Nm of preload torque. Clutch diffs 50-250, Torsen around 0
  243. //lsdLockCoef:0.2, //On throttle locking ramp. O.1-0.2 for clutch type, 0.3-0.4 is more like torsen
  244. //lsdRevLockCoef:0.2, //=lsdLockCoef by default. O.1-0.2 for clutch type, 0.3-0.4 is more like torsen
  245.  
  246. ["shaft", "wheelaxleRL", "rearDiff", 1, {"connectedWheel":"RL", "friction":0}],
  247. ["shaft", "wheelaxleRR", "rearDiff", 2, {"connectedWheel":"RR", "friction":0}],
  248.  
  249. ],
  250. },
  251.  
  252. "Camso_Turbo": {
  253. "information":{
  254. "name":"Turbocharger",
  255. "value":2000,
  256. },
  257. "slotType": "Camso_Turbo",
  258. "turbocharger": {
  259. //"flutterSoundFileName":"event:>Vehicle>Forced_Induction>turbo_03_bov"
  260. //"hissLoopEvent":"event:>Vehicle>Forced_Induction>turbo_05_hiss"
  261. //"whineLoopEvent":"event:>Vehicle>Forced_Induction>turbo_05_spin"
  262. "wastegateStart":7.2381977130845, //Wastegate starts to open at this PSI
  263. "wastegateLimit":8.0424419034272, //Wastegate is fully open at this PSI
  264. "maxExhaustPower": 40000, //Exhaust energy multiplier
  265. "backPressureCoef": 0.0001, //Backpressure force slows turbo down from high spindle RPMs
  266. "pressureRatePSI": 30, //Rate that intake pressure can change (slows pressure spikes)
  267. "frictionCoef": 16, //Turbo spindle friction coefficient
  268. "inertia":4, //Turbo rotating assembly inertia
  269. //"volumePer10kRPM":0.06
  270. //"bovSoundVolumeCoef": 1,
  271. //"bovSoundPitchCoef": 1,
  272. "damageThresholdTemperature": 750, //If turbo overheats beyond this temp (C) it can take damage
  273. //Maximum pressure vs spindle RPM curve of turbo
  274. "pressurePSI":[
  275. //turbineRPM, pressure(PSI)
  276. [0, -3.500000],
  277. [25000, -0.614390],
  278. [50000, 2.271221],
  279. [75000, 5.156831],
  280. [100000, 8.042442],
  281. [125000, 10.928052],
  282. [150000, 12.063663],
  283. [175000, 12.063663],
  284. [200000, 12.063663],
  285. [225000, 12.063663],
  286. [250000, 12.063663],
  287.  
  288. ],
  289. //Engine RPM, Relative power increase per PSI, Effectiveness at spooling turbo
  290. "engineDef":[
  291. //engineRPM, efficiency, exhaustFactor
  292. [900, 0.000000, 1.000000],
  293. [1000, 0.000000, 1.000000],
  294. [1100, 0.000000, 1.000000],
  295. [1200, 0.016630, 1.000000],
  296. [1300, 0.061293, 1.000000],
  297. [1400, 0.122864, 1.000000],
  298. [1500, 0.202931, 1.000000],
  299. [1600, 0.303685, 1.000000],
  300. [1700, 0.428059, 1.000000],
  301. [1800, 0.579122, 1.000000],
  302. [1900, 0.755657, 1.000000],
  303. [2000, 0.928165, 1.000000],
  304. [2100, 1.000000, 1.000000],
  305. [2200, 1.000000, 1.000000],
  306. [2300, 1.000000, 1.000000],
  307. [2400, 1.000000, 1.000000],
  308. [2500, 1.000000, 1.000000],
  309. [2600, 1.000000, 1.000000],
  310. [2700, 1.000000, 1.000000],
  311. [2800, 1.000000, 1.000000],
  312. [2900, 1.000000, 1.000000],
  313. [3000, 1.000000, 1.000000],
  314. [3100, 1.000000, 1.000000],
  315. [3200, 1.000000, 1.000000],
  316. [3300, 1.000000, 1.000000],
  317. [3400, 1.000000, 1.000000],
  318. [3500, 1.000000, 1.000000],
  319. [3600, 1.000000, 1.000000],
  320. [3700, 0.986213, 1.000000],
  321. [3800, 0.960642, 1.000000],
  322. [3900, 0.925980, 1.000000],
  323. [4000, 0.889877, 1.000000],
  324. [4100, 0.850995, 1.000000],
  325. [4200, 0.810625, 1.000000],
  326. [4300, 0.766552, 1.000000],
  327. [4400, 0.721721, 1.000000],
  328. [4500, 0.668751, 1.000000],
  329. [4600, 0.621673, 1.000000],
  330. [4700, 0.580192, 1.000000],
  331. [4800, 0.537126, 1.000000],
  332. [4900, 0.498824, 1.000000],
  333. [5000, 0.462190, 1.000000],
  334. [5100, 0.422261, 1.000000],
  335. [5200, 0.391860, 1.000000],
  336. [5300, 0.359997, 1.000000],
  337.  
  338. ],
  339. },
  340. "mainEngine": {
  341. //turbocharger name
  342. "turbocharger":"turbocharger", //Just tells the engine to look for the turbocharger section of this name
  343.  
  344. },
  345. "flexbodies": [
  346. ["mesh", "[group]:", "nonFlexMaterials"],
  347. ],
  348.  
  349. },
  350.  
  351.  
  352.  
  353. "Camso_FuelTank": {
  354. "information":{
  355. "name":"Fuel Tank",
  356. "value":250,
  357. },
  358. "slotType" : "Camso_FuelTank",
  359. "flexbodies": [
  360. ["mesh", "[group]:", "nonFlexMaterials"],
  361. ],
  362. "variables": [
  363. ["name", "type", "unit", "category", "default", "min", "max", "title", "description"]
  364. ["$fuel", "range", "L", "Engine", 41.25, 0, 55, "Fuel Volume", "Initial Fuel Volume", {"stepDis":0.5}]
  365. ],
  366. "energyStorage": [
  367. ["type", "name"],
  368. ["fuelTank", "mainTank"],
  369. ],
  370. "mainTank": {
  371. "energyType":"gasoline", //Type of fuel (must match engine for engine to run)
  372. "fuelCapacity": 55, //Litres
  373. "startingFuelCapacity": "$fuel", //Litres
  374. "fuel": {"[engineGroup]:":["fuel"]}, //Adds fuel mass to nodes in this engineGroup
  375. "breakTriggerBeam": "fuelTank", //Fuel tank drains if beam with this name is broken
  376. }
  377. "nodes": [
  378. //add nodes here in an engineGroup called "fuel" as indicated above. The physics will add fuel mass to these nodes
  379.  
  380. ],
  381. "beams": [
  382. //breakTriggerBeam here can cause fuel tank to rupture in crash (drains the fuel slowly)
  383. ],
  384. },
  385. }
Add Comment
Please, Sign In to add comment