跳转至

Lua 内容待修订: 本页仍含已移除的 v5 接口或旧运行时示例,不可作为当前 Lua 开发依据。请使用 Platform v1 入门。

车辆动力学与模块化部件系统技术手册 (Vehicles & Parts Manual)

本手册详细剖析 Cataclysm: Cleanwater Bomb (CCB) 的车辆物理引擎、刚体动力学模拟以及模块化部件(Vehicle Parts)装配机制。


1. 车辆刚体动力学模型

在 CCB 引擎中,车辆并非单一的碰撞盒子,而是由多个互联底盘框架(Frame)构成的 2D 刚体物理多体系统:

  • 质心与质量分布 (Center of Mass):每个安装的部件(重型柴油机、装甲钢板、储水罐)均贡献质量与局部惯性矩,直接影响车辆急转弯时的侧倾翻滚风险。
  • 发动机动力与传动比:多引擎联动输出功率(马力与扭矩),综合计算地面滚阻、空气阻力(风阻截面积)与加速曲线。
  • 轮胎抓地力与地形适应性:越野宽胎与公路胎在泥地、深水、柏油路面的摩擦牵引力差异显著。

2. 模块化部件架构 (vpart_reference)

一辆车由网格化的部件槽位(Mount Coordinates)组成:

  • 框架与车顶 (Frames & Roofs):构成车体骨架与防翻滚保护。
  • 动力与储能 (Engines & Batteries):燃油发动机、电动机、氢燃料电池组与太阳能电板。
  • 储物与容积 (Cargo & Tanks):车载冷冻箱、储物后备箱以及连入车辆管网的车载净水箱。
  • 装甲与外挂 (Armor & Turrets):复合防弹装甲插板与自动化感应炮塔。

3. 核心 API 参考

vehicle:get_speed() -> integer

获取车辆当前的实时行驶速度(单位:mph 或 km/h 换算内部速度单位)。


vehicle:fuel_left(fuel_type) -> integer

查询车辆各类油箱/电池组中剩余的指定燃料总量。

参数 (Parameters): * fuel_type (string, 必填): 燃料类型标识符(如 "diesel", "gasoline", "battery")。

实战示例 (Example):

-- 检查车载电量是否充足
local power = current_veh:fuel_left("battery")
if power < 1000 then
    game.add_msg("warning", "仪表盘电量告警:车载蓄电池电量过低!")
end