Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "Camso_Engine": {
- "information":{
- "authors":"Camshaft Software",
- "name":"Car Engine",
- }
- "slotType" : "Camso_Engine",
- "slots": [
- ["type", "default", "description"]
- ["Camso_Turbo","Camso_Turbo","Turbocharger"],
- ["Camso_Transmission","Camso_Transmission", "Transmission"],
- ["sunburst_transmission","sunburst_transmission_CVT", "Transmission"]
- ],
- "powertrain" : [
- ["type", "name", "inputName", "inputIndex"],
- ["combustionEngine", "mainEngine", "dummy", 0],
- ],
- "mainEngine": {
- "torque":[
- ["rpm", "torque"]
- [0,0],
- [500, 85.96],
- [900, 111.31],
- [1000, 113.75],
- [1100, 116.15],
- [1200, 118.23],
- [1300, 118.91],
- [1400, 119.09],
- [1500, 119.43],
- [1600, 118.79],
- [1700, 117.92],
- [1800, 116.36],
- [1900, 113.40],
- [2000, 110.64],
- [2100, 109.20],
- [2200, 108.80],
- [2300, 107.93],
- [2400, 107.04],
- [2500, 106.08],
- [2600, 104.90],
- [2700, 103.68],
- [2800, 102.71],
- [2900, 101.88],
- [3000, 100.91],
- [3100, 100.09],
- [3200, 99.37],
- [3300, 98.23],
- [3400, 97.19],
- [3500, 96.14],
- [3600, 95.01],
- [3700, 94.09],
- [3800, 93.45],
- [3900, 93.06],
- [4000, 92.57],
- [4100, 92.11],
- [4200, 91.67],
- [4300, 91.39],
- [4400, 91.13],
- [4500, 91.25],
- [4600, 91.11],
- [4700, 90.73],
- [4800, 90.48],
- [4900, 90.04],
- [5000, 89.56],
- [5100, 89.33],
- [5200, 88.63],
- [5300, 88.07],
- ],
- //rev limiters have some options
- //"revLimiterType":"rpmDrop", //Default choice. waits for rpm to fall before torque comes back. Can have long delays in high gears. Uses "revLimiterRPMDrop".
- //"revLimiterType":"timeBased", //Waits for "revLimiterCutTime" time window, but also has "revLimiterMaxRPMDrop" fallback, if the rpm falls too much in the time window.
- //"revLimiterType:"soft", //Tapers the the torque off in some range of rpm defined by "revLimiterSmoothOvershootRPM"
- //"hasRevLimiter":false, //Disables rev limiter
- "revLimiterRPMDrop":10,
- //engine performance
- "idleRPM":861.54336515665,
- "maxRPM":5300, //Max RPM before overrev damage is likely
- "inertia":0.13193430761419, //(kg*m/s^2)
- "friction":3.8291082747757, //Constant friction torque (Nm)
- "dynamicFriction":0.011824938826059, //Friction torque that increases with engine speed (Nm/rad/s)
- "waterDamage": {"[engineGroup]:":["engine_intake"]}, //Engine hydrolocks when nodes in this group go under water
- "radiator": {"[engineGroup]:":["radiator"]}, //Radiator steam is emitted from nodes in this group
- "engineBlock": {"[engineGroup]:":["engine_block"]}, //Engine thermal mass is taken from nodes in this group
- //"fuel": {"[engineGroup]:":["fuel"]},
- "breakTriggerBeam":"engine", //Engine breaks if beam with this name is broken
- "soundConfig": "soundConfig", //What section name to look for for engine sound information
- "particulates":0.025,
- //cooling and oil system,
- "thermalsEnabled":true,
- "engineBlockMaterial":"aluminium", //"aluminum", "aluminium", "iron"
- //cooling system
- "radiatorArea":0.30414075439705,
- "radiatorEffectiveness":20000,
- "coolantVolume":5.5004460310307,
- "radiatorFanType":"electric",
- "radiatorFanTemperature":105
- "radiatorFanMaxAirSpeed":2,
- "thermostatTemperature":90,
- //oil radiator
- "oilRadiatorArea":5.5004460310307,
- "oilRadiatorEffectiveness":2000,
- "oilThermostatTemperature":100,
- "oilVolume":5.0316347017639, //Litres
- //engine durability
- "cylinderWallTemperatureDamageThreshold":160, //Cylinder temp (C) over which damage starts to occur to rings
- "headGasketDamageThreshold":1500000, //Durability of headgasket
- "pistonRingDamageThreshold":1500000, //Durability of headgasket
- "connectingRodDamageThreshold":2000000, //Durability of connecting rods
- "energyStorage": "mainTank", //Name of the fuel tank
- "requiredEnergyType":"gasoline", //Type of fuel required
- "burnEfficiency": [ //How much fuel energy is converted to work in the cylinders (does not account for engine friction losses)
- [0.00, 0.17],
- [0.05, 0.36],
- [0.40, 0.47],
- [0.70, 0.58],
- [1.00, 0.40],
- ],
- "torqueReactionNodes:":["engine2", "engine1", "engine0"]
- },
- "vehicleController": {
- //https://wiki.beamng.com/VehicleController
- //I will put commonly used values below
- //universally useful values
- "calculateOptimalLoadShiftPoints":true, //The high shift points ones can be auto calculated
- //"shiftDownRPMOffsetCoef":1.3, //Can spread the downshift points for auto calculation if it tends to hunt too much (choose lower number to spread more)
- "cvtLowRPM":1050,
- "cvtHighRPM":5450,
- "topSpeedLimit":58.741922349059, //Speed limiter in m/s
- //may want to increase values below for ultra high powered cars. On our drag cars they are set to 99999 to effectively disable
- //"wheelSlipUpThreshold":7000, //A wheelspin threshold to stop arcade/auto gearbox from upshifting while spinning the tires or drifting
- //"wheelSlipDownThreshold":10000, //A wheelspin threshold to stop arcade/auto gearbox from downshifting when locking the brakes
- },
- "soundConfig": {
- "sampleName": "4DF23C1B4569BEAA75530CA1051A73CB",
- "mainGain": 7.5,
- "maxLoadMix": 1,
- "minLoadMix": 0,
- "onLoadGain":1,
- "offLoadGain":1,
- "eqLowGain": 0,
- "eqLowFreq": 400,
- "eqLowWidth": 0,
- "eqHighGain": 0,
- "eqHighFreq": 6000,
- "eqHighWidth": 0.5,
- "lowCutFreq":80,
- //"fundamentalFrequencyCylinderCount":10,
- "eqFundamentalGain": 0,
- },
- },
- "Camso_Transmission": {
- "information":{
- "authors":"Camshaft Software",
- "name":"Transmission",
- }
- "slotType" : "Camso_Transmission",
- "slots": [
- ["type", "default", "description"]
- ],
- "gearbox": {
- //https://wiki.beamng.com/AutomaticGearbox
- "minGearRatio":0.75,
- "maxGearRatio":2.88,
- "friction": 0, //Constant friction torque on input shaft
- "oneWayViscousCoef": 25, //One way clutch - hill holding strength
- "parkLockTorque": 1000, //Maximum holding torque of park mode
- "gearboxNode:":["engine0"], //node used to play gear damage sound
- },
- "torqueConverter": {
- //https://wiki.beamng.com/TorqueConverter
- "converterDiameter": 0.24684837507785, //Affects stall RPM and torque carrying ability
- "converterStiffness":12, //Affects tightness of converter around cruising speeds
- "couplingAVRatio":0.92, //Speed ratio where the torque multiplication reaches 1:1
- "stallTorqueRatio":1.8, //Maximum torque multiplication value (occurs at stall)
- "lockupClutchTorque":232.82524873093, //Maximum holding torque of lockup clutch
- },
- "vehicleController":
- {
- //fancy new auto gearbox or dct useful values
- "automaticModes":"PRNDS", //Add or remove P,R,N,D,S,M,L,1,2 from the string to customize modes
- "useSmartAggressionCalculation":true, //Smart gearbox logic - has a bunch of logic to determine aggression from user input and vehicle sensors
- "aggressionHoldOffThrottleDelay":2.25, //How many seconds it will resist an upshift while engine braking after full throttle
- "aggressionSmoothingUp":1.5, //Multiplier for how fast aggression is allowed to increase
- "aggressionSmoothingDown":0.15, //Multiplier for how fast its allowed to decrease
- "maxGearChangeTime": 0, //Shift time (s) depends on aggression calculation
- "minGearChangeTime": 0,
- //torque converter
- "torqueConverterLockupRPM":1050, //RPM above which lockup starts to engage
- "torqueConverterLockupRange":1464.6237207663, //RPM range that lockup closes over. Default is lockupRPM * 0.2
- "torqueConverterLockupRate":5, //Value of 5 means finished in 1/5 seconds
- },
- "powertrain" : [
- ["type", "name", "inputName", "inputIndex"],
- ["torqueConverter", "torqueConverter", "mainEngine", 1],
- ["cvtGearbox", "gearbox", "torqueConverter", 1],
- ["shaft", "rearDriveshaft", "gearbox", 1 ],
- ["differential", "rearDiff", "rearDriveshaft", 1, {"diffType":"open", "gearRatio":3.17, "diffTorqueSplit":0.50}],
- //https://wiki.beamng.com/Differential
- //needed values to tune diff behavior
- //locked specific - nothing needed, auto calc now
- //lsd specific
- //"lsdPreload":50, //Nm of preload torque. Clutch diffs 50-250, Torsen around 0
- //lsdLockCoef:0.2, //On throttle locking ramp. O.1-0.2 for clutch type, 0.3-0.4 is more like torsen
- //lsdRevLockCoef:0.2, //=lsdLockCoef by default. O.1-0.2 for clutch type, 0.3-0.4 is more like torsen
- ["shaft", "wheelaxleRL", "rearDiff", 1, {"connectedWheel":"RL", "friction":0}],
- ["shaft", "wheelaxleRR", "rearDiff", 2, {"connectedWheel":"RR", "friction":0}],
- ],
- },
- "Camso_Turbo": {
- "information":{
- "name":"Turbocharger",
- "value":2000,
- },
- "slotType": "Camso_Turbo",
- "turbocharger": {
- //"flutterSoundFileName":"event:>Vehicle>Forced_Induction>turbo_03_bov"
- //"hissLoopEvent":"event:>Vehicle>Forced_Induction>turbo_05_hiss"
- //"whineLoopEvent":"event:>Vehicle>Forced_Induction>turbo_05_spin"
- "wastegateStart":7.2381977130845, //Wastegate starts to open at this PSI
- "wastegateLimit":8.0424419034272, //Wastegate is fully open at this PSI
- "maxExhaustPower": 40000, //Exhaust energy multiplier
- "backPressureCoef": 0.0001, //Backpressure force slows turbo down from high spindle RPMs
- "pressureRatePSI": 30, //Rate that intake pressure can change (slows pressure spikes)
- "frictionCoef": 16, //Turbo spindle friction coefficient
- "inertia":4, //Turbo rotating assembly inertia
- //"volumePer10kRPM":0.06
- //"bovSoundVolumeCoef": 1,
- //"bovSoundPitchCoef": 1,
- "damageThresholdTemperature": 750, //If turbo overheats beyond this temp (C) it can take damage
- //Maximum pressure vs spindle RPM curve of turbo
- "pressurePSI":[
- //turbineRPM, pressure(PSI)
- [0, -3.500000],
- [25000, -0.614390],
- [50000, 2.271221],
- [75000, 5.156831],
- [100000, 8.042442],
- [125000, 10.928052],
- [150000, 12.063663],
- [175000, 12.063663],
- [200000, 12.063663],
- [225000, 12.063663],
- [250000, 12.063663],
- ],
- //Engine RPM, Relative power increase per PSI, Effectiveness at spooling turbo
- "engineDef":[
- //engineRPM, efficiency, exhaustFactor
- [900, 0.000000, 1.000000],
- [1000, 0.000000, 1.000000],
- [1100, 0.000000, 1.000000],
- [1200, 0.016630, 1.000000],
- [1300, 0.061293, 1.000000],
- [1400, 0.122864, 1.000000],
- [1500, 0.202931, 1.000000],
- [1600, 0.303685, 1.000000],
- [1700, 0.428059, 1.000000],
- [1800, 0.579122, 1.000000],
- [1900, 0.755657, 1.000000],
- [2000, 0.928165, 1.000000],
- [2100, 1.000000, 1.000000],
- [2200, 1.000000, 1.000000],
- [2300, 1.000000, 1.000000],
- [2400, 1.000000, 1.000000],
- [2500, 1.000000, 1.000000],
- [2600, 1.000000, 1.000000],
- [2700, 1.000000, 1.000000],
- [2800, 1.000000, 1.000000],
- [2900, 1.000000, 1.000000],
- [3000, 1.000000, 1.000000],
- [3100, 1.000000, 1.000000],
- [3200, 1.000000, 1.000000],
- [3300, 1.000000, 1.000000],
- [3400, 1.000000, 1.000000],
- [3500, 1.000000, 1.000000],
- [3600, 1.000000, 1.000000],
- [3700, 0.986213, 1.000000],
- [3800, 0.960642, 1.000000],
- [3900, 0.925980, 1.000000],
- [4000, 0.889877, 1.000000],
- [4100, 0.850995, 1.000000],
- [4200, 0.810625, 1.000000],
- [4300, 0.766552, 1.000000],
- [4400, 0.721721, 1.000000],
- [4500, 0.668751, 1.000000],
- [4600, 0.621673, 1.000000],
- [4700, 0.580192, 1.000000],
- [4800, 0.537126, 1.000000],
- [4900, 0.498824, 1.000000],
- [5000, 0.462190, 1.000000],
- [5100, 0.422261, 1.000000],
- [5200, 0.391860, 1.000000],
- [5300, 0.359997, 1.000000],
- ],
- },
- "mainEngine": {
- //turbocharger name
- "turbocharger":"turbocharger", //Just tells the engine to look for the turbocharger section of this name
- },
- "flexbodies": [
- ["mesh", "[group]:", "nonFlexMaterials"],
- ],
- },
- "Camso_FuelTank": {
- "information":{
- "name":"Fuel Tank",
- "value":250,
- },
- "slotType" : "Camso_FuelTank",
- "flexbodies": [
- ["mesh", "[group]:", "nonFlexMaterials"],
- ],
- "variables": [
- ["name", "type", "unit", "category", "default", "min", "max", "title", "description"]
- ["$fuel", "range", "L", "Engine", 41.25, 0, 55, "Fuel Volume", "Initial Fuel Volume", {"stepDis":0.5}]
- ],
- "energyStorage": [
- ["type", "name"],
- ["fuelTank", "mainTank"],
- ],
- "mainTank": {
- "energyType":"gasoline", //Type of fuel (must match engine for engine to run)
- "fuelCapacity": 55, //Litres
- "startingFuelCapacity": "$fuel", //Litres
- "fuel": {"[engineGroup]:":["fuel"]}, //Adds fuel mass to nodes in this engineGroup
- "breakTriggerBeam": "fuelTank", //Fuel tank drains if beam with this name is broken
- }
- "nodes": [
- //add nodes here in an engineGroup called "fuel" as indicated above. The physics will add fuel mass to these nodes
- ],
- "beams": [
- //breakTriggerBeam here can cause fuel tank to rupture in crash (drains the fuel slowly)
- ],
- },
- }
Add Comment
Please, Sign In to add comment