Guest User

Untitled

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