Skip to content

车辆 – 额外回放数据

汉化标题: 车辆 – 额外回放数据
原文标题: Cars ‐ Extra Replay Data
汉化更新时间: 2025-10-10 20:01:08 GMT+08:00
英文原文最新更新时间: 2025-04-05T16:22:04-03:00

车辆脚本可以通过控制器输入写入额外的回放数据,该功能在 0.2.3 更新中加入。只需在 car.ini 中定义模式,再使用脚本中的控制器输入读写数据即可;建议尽量减少回放输入的数量。

car.ini

ini
[_EXTENSION]
SCRIPT_INPUTS_REPLAY = 100:uint8, 101:unorm8, 102:half  ; 定义索引 100~102 的回放输入类型
ini
[_EXTENSION]
SCRIPT_INPUTS_REPLAY = 100:uint8, unorm8, half, uint8  ; 若省略索引,将依次递增 100~103

回放输入可以使用 <索引>:<类型> 的形式添加;也可仅写 <类型>,索引将从上一次显式指定的值自动递增。

常用类型:

  • hhalf:2 字节浮点数(约 1/65536 到 65536);
  • ffloat:4 字节浮点数;
  • i8int8char:1 字节,范围 -128 至 127;
  • u8uint8byte:1 字节,范围 0 至 255;
  • i16int16short:2 字节,范围 -32768 至 32767;
  • u16uint16ushort:2 字节,范围 0 至 65535;
  • i32int32int:4 字节,可为负数;
  • u32uint32uint:4 字节,仅正整数;
  • unorm8:1 字节,范围 0~1;
  • norm8:1 字节,范围 -1~1;
  • unorm16:2 字节,范围 0~1;
  • norm16:2 字节,范围 -1~1。

如果修改了模式,使用旧模式保存的回放将无法再重播已记录的额外数据。

车辆物理脚本 script.lua

lua
function script.update(dt)
  local data = ac.accessCarPhysics()

  -- 写入这些索引的控制器数值会进入回放数据
  data.controllerInputs[100] = 1
  data.controllerInputs[101] = 2
  data.controllerInputs[102] = 3
end