物理参数 VehicleSpec
车包里写在 vehicles/<名字>.json 的 physics 节,字段名就是下表第一列,没写的用 T15 的值;转角用度、车速用 km/h、steerGrip 用 g,其余是模型坐标和国际单位(kg、N、m、s、rpm)。Java 接口从 VehicleSpec.fromT15() 开始改,改完 build(),全部用国际单位和弧度。
| 字段 | 含义 | 白模跑车 |
|---|---|---|
mass | 整备质量 kg | 1500 |
ix iy iz | 绕三个轴的转动惯量 kg·m² | 2000 / 2300 / 520 |
comY comZ | 重心高度、前后位置 | 0.48 / 0.05 |
frontZ rearZ | 前后轴的 Z(前轴为负;轴距 = 两者之差) | −1.30 / 1.30 |
halfTrack | 半轮距 | 0.74 |
radius | 轮胎半径(245/45 R17 约 0.33) | 0.33 |
bump droop | 悬挂压缩和伸长行程 | 0.08 / 0.10 |
springFront/Rear dampFront/Rear | 每个轮子的弹簧刚度 N/m 和阻尼 N·s/m | 36000 / 38000,2700 / 2900 |
antiRollFront/Rear | 防倾杆 | 22000 / 12000 |
maxSteer | 前轮最大转角 | 34° |
steerGrip | 轮胎侧向抓地力(加速度) | 0.95 g |
topSpeed | 最高车速 m/s | 230 km/h |
torqueRpm torqueNm | 扭矩曲线(转速和扭矩一一对应) | V8 |
idleRpm cutRpm stallRpm | 怠速、断油、熄火转速 | 750 / 6300 / 400 |
starterTorque starterRpm | 起动机 | 90 / 250 |
startFlare | 着车时冲高的转速(比怠速高多少):先保持 0.3 秒,再在约 1 秒内回落到怠速,跑车着车时“轰”的那一下,声音由引擎循环声自己播出;0 表示不冲高 | 0 |
preheat | 柴油机预热时间(秒),汽油机写 0 | 0 |
gears reverseGear finalDrive | 各挡速比、倒挡、主减速比 | 5 速手动 |
clutchTorque | 离合器能传递的扭矩 | 600 |
automatic | 自动挡:前进挡自己换;加挡、减挡键变成拨片,临时锁住一个挡 6 秒 | false |
allWheel | 全时四驱(没有分动箱,驱动力按轮荷分到四个轮子) | false |
tractionControl | 牵引力控制:驱动轮打滑时自动收油门 | false |
stabilityControl | 车身稳定:车尾甩出时收油门、点刹外侧前轮 | false |
electricParkingBrake | 电子手刹:行驶中拉起,四个轮子一起带 ABS 刹车,不锁后轮;停住后照常驻车。速度表读四个轮子的平均转速 | false |
fourWheelSpeed | 能挂四驱的最高车速;0 表示只有后驱,没有分动箱 | 0 |
lowRange lowRangeSpeed | 低速四驱速比和限速(后驱写 1 和 0) | 1 / 0 |
brakeForce brakeFront | 总制动力、前轮分配 | 16000 / 0.62 |
rolling drag | 滚动阻力系数、风阻 | 0.013 / 0.45 |
fuelPerKwh fuelIdle | 油耗 | 0.30 / 0.8 |
hull | 车身接触点(翻车、撞墙、车撞车用),见下 | boxHull(...) |
车包里写 "hull": {"box": [半宽, 车头Z, 车尾Z, 底高, 腰线高, 车厢半宽, 车厢前Z, 车厢后Z, 车顶高]}(Java:VehicleSpec.boxHull(...),同样九个数)就够了:车身下半是一个盒子,车厢是上面一个小一点的盒子。

