Насрал типами, но еще не до конца

This commit is contained in:
Никита Круглицкий
2025-05-16 07:11:48 +06:00
parent 9b50dbe33d
commit 84f591db59
18 changed files with 1629 additions and 1217 deletions

View File

@@ -8,171 +8,267 @@ local Differential = require('/koptilnya/engine_remastered/powertrain/differenti
-- Michelin Pilot Sport 4S (High-Performance Road Tire)
local WheelConfig = {
DEBUG = true,
BrakePower = 1200,
CustomWheel = {
Mass = 30,
DEBUG = true,
BrakePower = 1200,
CustomWheel = {
Mass = 30,
LateralFrictionPreset = {
B = 12.0,
C = 1.3,
D = 1.8,
E = -1.8
},
LongitudinalFrictionPreset = {
B = 18.0,
C = 1.5,
D = 1.5,
E = 0.3
},
AligningFrictionPreset = {
B = 2.8,
C = 2.1,
D = 0.10,
E = -2.5
},
-- AligningFrictionPreset = {
-- B = 13,
-- C = 2.4,
-- D = 1,
-- E = 0.48
-- }
},
Model = 'models/sprops/trans/wheel_a/wheel25.mdl'
LateralFrictionPreset = {
B = 12.0,
C = 1.3,
D = 1.8,
E = -1.8,
},
LongitudinalFrictionPreset = {
B = 18.0,
C = 1.5,
D = 1.5,
E = 0.3,
},
AligningFrictionPreset = {
B = 2.8,
C = 2.1,
D = 0.10,
E = -2.5,
},
-- AligningFrictionPreset = {
-- B = 13,
-- C = 2.4,
-- D = 1,
-- E = 0.48
-- }
},
Model = 'models/sprops/trans/wheel_a/wheel25.mdl',
}
local FrontWheelsConfig = table.merge(
table.copy(WheelConfig),
{
CustomWheel = {
CasterAngle = 7,
CamberAngle = -3,
ToeAngle = 0.5
}
}
)
local FrontWheelsConfig = table.merge(table.copy(WheelConfig), {
BrakePower = 1600,
CustomWheel = {
CasterAngle = 7,
CamberAngle = -3,
},
})
local RearWheelsConfig = table.merge(
table.copy(WheelConfig),
{
HandbrakePower = 2200,
CustomWheel = {
CamberAngle = -2,
ToeAngle = 0.5
}
}
)
local RearWheelsConfig = table.merge(table.copy(WheelConfig), {
BrakePower = 600,
HandbrakePower = 2200,
CustomWheel = {
CamberAngle = -2,
-- LongitudinalFrictionPreset = {
-- B = 0.1,
-- C = 1,
-- D = 0.9,
-- E = 0.9,
-- },
},
})
Vehicle:new({
{
Name = 'Engine',
Type = POWERTRAIN_COMPONENT.Engine,
Config = {
IdleRPM = 900,
MaxRPM = 7000,
Inertia = 0.151,
StartFriction = -10,
FrictionCoeff = 0.01,
LimiterDuration = 0.06,
TorqueMap = {
118.89918444138, 122.0751393736, 125.25109430583, 128.42704923806, 131.60300417029, 134.77895910251, 137.95491403474, 141.13086896697, 144.3068238992, 147.48277883143, 150.65873376365, 153.83468869588, 157.01064362811, 160.18659856034, 163.36255349256,
166.53850842479, 169.71446335702, 172.89041828925, 176.06637322148, 179.2423281537, 182.41828308593, 185.59423801816, 188.77019295039, 191.94614788261, 195.12210281484, 198.29805774707, 201.4740126793, 204.64996761153, 207.82592254375, 211.00187747598,
214.17783240821, 217.35378734044, 220.52974227266, 223.70569720489, 226.88165213712, 227.9621903219, 229.04272850669, 230.12326669147, 231.20380487625, 232.28434306104, 233.36488124582, 234.4454194306, 235.52595761538, 236.60649580017, 237.68703398495,
238.76757216973, 239.84811035452, 240.9286485393, 242.00918672408, 243.08972490886, 244.17026309365, 245.25080127843, 246.33133946321, 247.411877648, 248.49241583278, 249.57295401756, 250.65349220234, 251.73403038713, 252.81456857191, 253.89510675669, 254.97564494148,
256.05618312626, 257.13672131104, 258.21725949582, 259.29779768061, 260.37833586539, 261.29278066787, 262.20722547034, 263.12167027282, 264.0361150753, 264.95055987777, 265.86500468025, 266.77944948273, 267.6938942852, 268.60833908768, 269.52278389016,
270.43722869263, 271.35167349511, 272.26611829758, 273.18056310006, 274.09500790254, 275.00945270501, 275.92389750749, 276.83834230997, 275.50329427594, 274.16824624192, 272.8331982079, 271.49815017388, 270.16310213985, 268.82805410583, 267.49300607181,
266.15795803778, 264.82291000376, 263.48786196974, 262.15281393572, 260.81776590169, 259.48271786767, 250.23203287321, 240.98134787874, 231.73066288428, 222.47997788981
}
}
},
{
Name = 'Clutch',
Input = 'Engine',
Type = POWERTRAIN_COMPONENT.Clutch,
Config = {
Inertia = 0.002,
SlipTorque = 1000
}
},
{
Name = 'Gearbox',
Input = 'Clutch',
Type = POWERTRAIN_COMPONENT.Gearbox,
Config = {
Type = 'MANUAL',
ShiftTime = 3,
Inertia = 0.01,
Ratios = { 3.626, 2.200, 1.541, 1.213, 1.000, 0.767 },
Reverse = 3.437
}
},
{
Name = 'AxleFront',
Input = 'Axle',
Type = POWERTRAIN_COMPONENT.Differential,
Config = {
Type = Differential.TYPES.Open,
FinalDrive = 3.392,
Inertia = 0.01,
BiasAB = 0.5,
CoastRamp = 1,
PowerRamp = 1,
Stiffness = 0.1,
SlipTorque = 0,
SteerLock = 45
}
},
{
Name = 'WheelFL',
Type = POWERTRAIN_COMPONENT.Wheel,
Input = 'AxleFront',
Config = table.merge(table.copy(FrontWheelsConfig), { Offset = 0 })
},
{
Name = 'WheelFR',
Type = POWERTRAIN_COMPONENT.Wheel,
Input = 'AxleFront',
Config = table.merge(table.copy(FrontWheelsConfig), { Offset = 180 })
},
{
Name = 'AxleBack',
Input = 'Axle',
Type = POWERTRAIN_COMPONENT.Differential,
Config = {
Type = Differential.TYPES.Open,
FinalDrive = 3.392,
Inertia = 0.01,
BiasAB = 0.5,
CoastRamp = 1,
PowerRamp = 1,
Stiffness = 0.1,
SlipTorque = 0,
}
},
{
Name = 'Axle',
Input = 'Gearbox',
Type = POWERTRAIN_COMPONENT.Differential,
Config = {
Type = Differential.TYPES.Open,
FinalDrive = 1,
Inertia = 0.01,
BiasAB = 0.5,
CoastRamp = 1,
PowerRamp = 1,
Stiffness = 1,
SlipTorque = 0
}
},
{
Name = 'WheelRL',
Input = 'AxleBack',
Type = POWERTRAIN_COMPONENT.Wheel,
Config = table.merge(table.copy(RearWheelsConfig), { Offset = 0 })
},
{
Name = 'WheelRR',
Input = 'AxleBack',
Type = POWERTRAIN_COMPONENT.Wheel,
Config = table.merge(table.copy(RearWheelsConfig), { Offset = 180 })
}
{
Name = 'Engine',
Type = POWERTRAIN_COMPONENT.Engine,
Config = {
IdleRPM = 900,
MaxRPM = 7000,
Inertia = 0.151,
StartFriction = -10,
FrictionCoeff = 0.01,
LimiterDuration = 0.06,
TorqueMap = {
118.89918444138,
122.0751393736,
125.25109430583,
128.42704923806,
131.60300417029,
134.77895910251,
137.95491403474,
141.13086896697,
144.3068238992,
147.48277883143,
150.65873376365,
153.83468869588,
157.01064362811,
160.18659856034,
163.36255349256,
166.53850842479,
169.71446335702,
172.89041828925,
176.06637322148,
179.2423281537,
182.41828308593,
185.59423801816,
188.77019295039,
191.94614788261,
195.12210281484,
198.29805774707,
201.4740126793,
204.64996761153,
207.82592254375,
211.00187747598,
214.17783240821,
217.35378734044,
220.52974227266,
223.70569720489,
226.88165213712,
227.9621903219,
229.04272850669,
230.12326669147,
231.20380487625,
232.28434306104,
233.36488124582,
234.4454194306,
235.52595761538,
236.60649580017,
237.68703398495,
238.76757216973,
239.84811035452,
240.9286485393,
242.00918672408,
243.08972490886,
244.17026309365,
245.25080127843,
246.33133946321,
247.411877648,
248.49241583278,
249.57295401756,
250.65349220234,
251.73403038713,
252.81456857191,
253.89510675669,
254.97564494148,
256.05618312626,
257.13672131104,
258.21725949582,
259.29779768061,
260.37833586539,
261.29278066787,
262.20722547034,
263.12167027282,
264.0361150753,
264.95055987777,
265.86500468025,
266.77944948273,
267.6938942852,
268.60833908768,
269.52278389016,
270.43722869263,
271.35167349511,
272.26611829758,
273.18056310006,
274.09500790254,
275.00945270501,
275.92389750749,
276.83834230997,
275.50329427594,
274.16824624192,
272.8331982079,
271.49815017388,
270.16310213985,
268.82805410583,
267.49300607181,
266.15795803778,
264.82291000376,
263.48786196974,
262.15281393572,
260.81776590169,
259.48271786767,
250.23203287321,
240.98134787874,
231.73066288428,
222.47997788981,
},
},
},
{
Name = 'Clutch',
Input = 'Engine',
Type = POWERTRAIN_COMPONENT.Clutch,
Config = {
Inertia = 0.002,
SlipTorque = 1000,
},
},
{
Name = 'Gearbox',
Input = 'Clutch',
Type = POWERTRAIN_COMPONENT.Gearbox,
Config = {
Type = 'MANUAL',
ShiftTime = 3,
Inertia = 0.01,
Ratios = { 3.626, 2.200, 1.541, 1.213, 1.000, 0.767 },
Reverse = 3.437,
},
},
{
Name = 'AxleFront',
-- Input = 'Axle',
Type = POWERTRAIN_COMPONENT.Differential,
Config = {
Type = Differential.TYPES.Open,
FinalDrive = 3.392,
Inertia = 0.01,
BiasAB = 0.5,
CoastRamp = 1,
PowerRamp = 1,
Stiffness = 0.1,
SlipTorque = 0,
SteerLock = 50,
ToeAngle = 0.5,
},
},
{
Name = 'WheelFL',
Type = POWERTRAIN_COMPONENT.Wheel,
Input = 'AxleFront',
Config = table.merge(table.copy(FrontWheelsConfig), { Offset = 0 }),
},
{
Name = 'WheelFR',
Type = POWERTRAIN_COMPONENT.Wheel,
Input = 'AxleFront',
Config = table.merge(table.copy(FrontWheelsConfig), { Offset = 180 }),
},
{
Name = 'AxleBack',
Input = 'Gearbox',
Type = POWERTRAIN_COMPONENT.Differential,
Config = {
Type = Differential.TYPES.Open,
FinalDrive = 3.392,
Inertia = 0.01,
BiasAB = 0.5,
CoastRamp = 1,
PowerRamp = 1,
Stiffness = 0.9,
SlipTorque = 1000,
ToeAngle = 0.5,
},
},
{
Name = 'Axle',
-- Input = 'Gearbox',
Type = POWERTRAIN_COMPONENT.Differential,
Config = {
Type = Differential.TYPES.Open,
FinalDrive = 1,
Inertia = 0.01,
BiasAB = 0.5,
CoastRamp = 1,
PowerRamp = 1,
Stiffness = 1,
SlipTorque = 1000,
},
},
{
Name = 'WheelRL',
Input = 'AxleBack',
Type = POWERTRAIN_COMPONENT.Wheel,
Config = table.merge(table.copy(RearWheelsConfig), { Offset = 0 }),
},
{
Name = 'WheelRR',
Input = 'AxleBack',
Type = POWERTRAIN_COMPONENT.Wheel,
Config = table.merge(table.copy(RearWheelsConfig), { Offset = 180 }),
},
})