车辆 – 仪表 – 输入
汉化标题:车辆 – 仪表 – 输入
原文标题:Cars – Instruments inputs
汉化更新时间:2026-01-14 00:00:00 +0800
英文原文最新更新时间:2022-06-13 01:18:53 +0300
在 v0.1.25-preview183 版本中,创建了一种更好的仪表设置方式。其理念是拥有一个可供数字和模拟仪表(包括条件文本)、动画甚至发光体使用的输入列表(具有可选的切换阈值和切换到模拟模式的可能性)。
为了旧扩展仪表的现有代码已被重写,以避免运行三个独立的系统,但我尽力保持兼容性。不过,如果您发现任何问题,请告知我。
语法
为了保持兼容性,选择输入的方式在不同情况下可能有所不同。例如:
注意:"..." 代表 INPUT 类型
ini
; 模拟仪表
; 新方法:
[ANALOG_INDICATOR_...]
INPUT = AMBIENT_TEMP
; 旧式方法(仅适用于小时、分钟和秒,以保持时钟工作):
[HOUR_INDICATOR]
...
; 数字仪表
; 通过 digital_instruments.ini 设置的方法
[ITEM_0]
TYPE_EXT = DRIFT_POINTS
; 旧式方法(适用于任何输入):
[DI_DRIFT_POINTS]
DIGITAL_ITEM = 0
; 数字仪表(条件)
; 通过 digital_instruments.ini 设置的方法
[ITEM_0]
TYPE_EXT = CONDITION_TEXT
INPUT = TURBO_WASTEGATE
; 自定义动画
; 新方法
[ANIMATION_...]
INPUT = LOWBEAM
; 旧式方法(适用于任何输入):
[ANIMATION_...]
BIND_TO_EXTRA_A = 1
; 发光体
; 新方法
[EMISSIVE_...]
INPUT = BODY_DAMAGE
; 旧式方法(适用于任何输入):
[EMISSIVE_LIGHT]
...
...输入参数
对于所有这些类型的输入,如您所见,您有一个定义事物的部分。在这里,您几乎可以以任何可能需要的方式配置输入。
ini
[ANIMATION_...]
INPUT = TYRE_PRESSURE
INPUT_SELECTOR = THIRD
INPUT_ADD = 0.0
INPUT_MULT = 1.0
INPUT_MIN = 10.0
INPUT_MAX = 40.0
INPUT_MOD = 5.0
INPUT_LUT = (| 0=0 | 10=20 |)
INPUT_LAG_UP = 0.9
INPUT_LAG_DOWN = 0.95
INPUT_ROUND = 2.0
INPUT_ROUND_MODE = FLOORING
INPUT_STALLED_VALUE = 7.5
INPUT_STALLED_LAG = 0.85
[EMISSIVE_...]
INPUT = BODY_DAMAGE
INPUT_THRESHOLD = 20
INPUT_THRESHOLD_INVERSE = 1
INPUT_DEBUG = 30INPUT: 定义输入类型,但在某些情况下,定义类型的方式可能有所不同。有关更多详细信息,请参阅"语法"部分。INPUT_SELECTOR: 设置如何处理多个值(例如,轮胎压力和车身损坏都有四个值,分别对应每个车轮和每侧)。可能的值:MIN(别名:MINIMUM): 选择最小值;MAX(别名:MAXIMUM): 选择最大值;SUM(别名:TOTAL): 将值相加;MULT(别名:MULTIPLIED): 将值相乘;AVG(别名:AVERAGE): 将值相加并除以值的数量;LEN(别名:LENGTH): 计算平方和的平方根(例如,用于查找总 G 力);X(别名:FIRST): 从序列中获取第一个值;Y(别名:SECOND): 从序列中获取第二个值;Z(别名:THIRD): 从序列中获取第三个值;W(别名:FOURTH): 从序列中获取第四个值;- 任何数字
N: 获取第 N 个值。
INPUT_MULT: 将值乘以 X;INPUT_ADD: 将值加上 X;INPUT_MIN、INPUT_MAX: 如果设置了这些值,原始数字将被限制在这些边界内,默认值为 —∞/+∞;INPUT_MOD: 如果大于零,将采用除以该值的模数,然后再通过查找表(但在通过最小值/最大值检查之后);INPUT_LUT: 可选的查找表,允许设置诸如比例或偏移之类的内容以及更复杂的内容,使用线性插值;INPUT_LAG_UP、INPUT_LAG_DOWN: 对变化值的可选平滑处理,在 LUT 之后应用。第一个在实际数字大于平滑数字时使用,第二个在原始数字小于平滑数字时使用;INPUT_ROUND: 可选的舍入到该数字(例如,如果您希望点后有一位数字,请使用INPUT_ROUND = 0.1);INPUT_ROUND_MODE: 舍入模式,可以是:FLOOR(别名:FLOORING): 删除舍入部分;ROUND(别名:ROUNDING): 常规规则,如果舍入部分等于或大于INPUT_ROUND的一半,则进入下一步;CEIL(别名:CEILING): 如果存在任何要舍入的部分,则始终进入下一步;
INPUT_STALLED_VALUE: 对于熄火的引擎,可选地替换原始数字,在最小值/最大值检查之后运行,但在可选的模数除法和 LUT 之前;INPUT_STALLED_LAG: 如果设置了强制熄火值,则此数字将定义过渡的平滑程度;INPUT_THRESHOLD: 发光体在默认模式下可以是开启或关闭,此选项设置该切换的阈值;
如果您需要指定范围,请使用:INPUT_THRESHOLD_LOWER和INPUT_THRESHOLD_UPPER: 工作方式为 A < x < B,不包括 A 和 B;INPUT_THRESHOLD_LOWER_INC和INPUT_THRESHOLD_UPPER_INC: 工作方式为 A ≤ x ≤ B,包括 A 和 B;
INPUT_THRESHOLD_INVERSE: 如果设置为0(对于 false),如果值低于阈值,则发光体将开启;INPUT_DEBUG: 测试事物的简单方法,特别是对于模拟仪表 — 它用其他内容替换原始值(基本上是通过覆盖最小值/最大值值作为首先应用的值)。
在大多数情况下,您不需要设置这些值,补丁有一些默认值,但在某些情况下可能有用。
可用输入
标记"flag"标签的输入根据条件返回 1.0 或 0.0(可以用滞后设置平滑)。
SPEED: 相对于世界的当前速度,km/h;SPEED_WHEELS: 基于驱动轮角速度的当前速度,km/h;VELOCITY: 相对于世界的当前速度,3D 向量,m/s;VELOCITY_LOCAL: 相对于车辆的当前速度(X 表示左/右,Y 表示上/下),3D 向量,m/s;RPM: 引擎转速;STEER: 方向盘旋转,度;HANDBRAKE: 手刹状态,从 0 到 1;GAS: 油门踏板状态,从 0 到 1;BRAKE: 刹车踏板状态,从 0 到 1;CLUTCH: 离合器踏板状态,从 0 到 1;FUEL: 剩余燃油,升;WATER_TEMPERATURE: 水温,°C;TURBO: 涡轮增压;GEAR: 当前档位,倒档为 -1,空档为 0(在顺序变速箱上换档时不会经过空档),默认格式为GEAR(请参阅下面的"格式"部分);PERF_METER: 性能仪表,将此圈与最佳圈进行比较,秒;PERF_METER_DIFF: 在 AC 性能应用中,有那个红色/绿色条,它显示此值;TYRE_WEAR: 轮胎磨损,四个值,从 0 到 1:- 左前:
INPUT_SELECTOR = 0、X或FIRST; - 右前:
INPUT_SELECTOR = 1、Y或SECOND; - 左后:
INPUT_SELECTOR = 2、Z或THIRD; - 右后:
INPUT_SELECTOR = 3、W或FOURTH;
- 左前:
TYRE_VIRTUAL_KM: 轮胎行驶距离,四个值,从 0 到 1:- 左前:
INPUT_SELECTOR = 0、X或FIRST; - 右前:
INPUT_SELECTOR = 1、Y或SECOND; - 左后:
INPUT_SELECTOR = 2、Z或THIRD; - 右后:
INPUT_SELECTOR = 3、W或FOURTH;
- 左前:
TYRE_DIRT: 轮胎污垢水平,四个值,从 0 到 1;TYRE_SLIP: 轮胎滑动值,四个值;TYRE_SLIP_ANGLE: 轮胎滑动角,四个值;ENGINE_LIFE(别名:ENGINE_DAMAGE): 剩余引擎寿命点数,从 0.0 到 1000.0(别名默认具有反向阈值);SUSP_DAMAGE: 悬挂损坏,四个值,从 0 到 1;GEARBOX_DAMAGE: 变速箱损坏,从 0 到 1;BODY_DAMAGE: 给定侧面的碰撞最大速度,四个值,km/h:- 前面:
INPUT_SELECTOR = 0、X或FIRST; - 后面:
INPUT_SELECTOR = 1、Y或SECOND; - 左侧:
INPUT_SELECTOR = 2、Z或THIRD; - 右侧:
INPUT_SELECTOR = 3、W或FOURTH;
- 前面:
SUSP_TRAVEL: 悬挂行程,四个值,米;RIDE_HEIGHT: 离地间隙,四个值,米;SLIP_RATIO: 轮胎滑移率,四个值;G_FORCE: 当前 G 力,3D 向量,G:- 横向:
INPUT_SELECTOR = 0、X或FIRST; - 垂直:
INPUT_SELECTOR = 1、Y或SECOND; - 纵向:
INPUT_SELECTOR = 2、Z或THIRD;
- 横向:
GEAR_GRINDING(flag): 档位在摩擦吗?LAP_TIME: 圈速,秒;LAP_TIME_BEST: 最佳圈速,秒;LAP_TIME_LAST: 上一圈时间,秒;LAP_COUNT: 完成的圈数;HORN(flag): 喇叭激活了吗?POSITION: 车辆排行榜位置
来自发光体集合
LIGHT(别名:HEADLIGHTS,flag): 前大灯开启了吗?BRAKE(别名:BRAKE_LIGHTS,flag): 刹车灯开启了吗?REVERSE(别名:REVERSE_LIGHTS,flag): 倒车灯开启了吗?HAZARD(flag): 危险报警灯开启了吗(默认情况下发光体会闪烁)?LOWBEAM(flag): 近光灯开启了吗?HIGHBEAM(flag): 远光灯开启了吗?EXTRA_A(flag): Extra A 功能开启了吗?EXTRA_B(flag): Extra B 功能开启了吗?EXTRA_C(flag): Extra C 功能开启了吗?EXTRA_D(flag): Extra D 功能开启了吗?EXTRA_E(flag): Extra E 功能开启了吗?EXTRA_F(flag): Extra F 功能开启了吗?TURNSIGNAL_LEFT(flag): 左转向灯开启了吗?TURNSIGNAL_RIGHT(flag): 右转向灯开启了吗?TURNSIGNAL_NOHAZARD_LEFT(flag): 左转向灯开启了吗(但不是由于危险报警灯)?TURNSIGNAL_NOHAZARD_RIGHT(flag): 右转向灯开启了吗(但不是由于危险报警灯)?TURNSIGNAL(flag): 任何转向灯开启了吗?TURNSIGNAL_NOHAZARD(flag): 任何转向灯开启了吗(但不是由于危险报警灯)?CORNERINGLAMP_LEFT(flag): 左侧转向辅助灯开启了吗?CORNERINGLAMP_RIGHT(flag): 右侧转向辅助灯开启了吗?OPENDOORS(flag): 车门打开了吗?SEATBELT(flag): 安全带系好了吗?
兼容性的独立档位,以防万一
GEAR_R(flag): 倒档开启了吗?GEAR_N(flag): 空档开启了吗?GEAR_D(flag): 前进档开启了吗?GEAR_1(flag): 一档开启了吗?GEAR_2(flag): 二档开启了吗?GEAR_3(flag): 三档开启了吗?GEAR_4(flag): 四档开启了吗?GEAR_5(flag): 五档开启了吗?GEAR_6(flag): 六档开启了吗?GEAR_7(flag): 七档开启了吗?GEAR_8(flag): 八档开启了吗?GEAR_9(flag): 九档开启了吗?
额外的物理内容,目前不支持回放
BRAKEBIAS: 刹车分配,从 0.0 到 1.0;ABS(flag): ABS 开启还是关闭?ABS_INACTION(flag): ABS 当前处于活动状态(默认情况下发光体会闪烁)?SPEEDLIMITER: 限速器,0 表示禁用,km/h;SPEEDLIMITER_INACTION(flag): 限速器当前正在阻止车辆(默认情况下发光体会闪烁)?TYRE_COMPOUND_INDEX: 当前轮胎组合的索引;DIFF_PRELOAD: 差速器预紧值;TRACTIONCONTROL: 牵引力控制模式,整数;TRACTIONCONTROL_INACTION(flag): 牵引力控制现在正在工作(默认情况下发光体会闪烁)?AWD_FRONT_SHARE_PERC: 当前施加在前轴上的扭矩量,从 0 到 1;AWD_FRONT_SHARE_NM: 当前施加在前轴上的扭矩量,N×m;TYRE_PRESSURE(别名:TYRES): 轮胎压力,四个值;TYRE_TEMPERATURE: 轮胎温度,四个值;ENGINE_TORQUE: 当前引擎扭矩,Nm;ENGINE_POWER: 当前引擎功率,bhp;KERS_CHARGE: KERS 电量;KERS_CURRENT_KJ: KERS 当前电量;KERS_MAX_KJ: 最大 KERS 电量;KERS_LOAD: KERS 负载;KERS_INPUT: KERS 输入;KERS_CHARGING(flag): KERS 正在充电吗?TURBO_BOOST: 涡轮增压(对于具有EXT_SPIN_DELAY的扩展涡轮可能为负数),每个涡轮都有值(允许设置绑定到特定涡轮的指针);TURBO_WASTEGATE: 当前涡轮泄压阀,每个涡轮都有值(允许设置绑定到特定涡轮的指针);
扩展物理
USER_SPEEDLIMITER(flag): 用户限速器(通过 electronics.ini 中的自定义物理设置)激活了吗?ENGINE_MAP: 当前选择的引擎映射的索引;CPHYS_SCRIPT_0: 由自定义物理 Lua 脚本设置的值 #0;CPHYS_SCRIPT_1: 由自定义物理 Lua 脚本设置的值 #1;CPHYS_SCRIPT_2: 由自定义物理 Lua 脚本设置的值 #2;CPHYS_SCRIPT_3: 由自定义物理 Lua 脚本设置的值 #3;CPHYS_SCRIPT_4: 由自定义物理 Lua 脚本设置的值 #4;CPHYS_SCRIPT_5: 由自定义物理 Lua 脚本设置的值 #5;CPHYS_SCRIPT_6: 由自定义物理 Lua 脚本设置的值 #6;CPHYS_SCRIPT_7: 由自定义物理 Lua 脚本设置的值 #7;TC2;FUELMAP;
补丁添加的额外数字
DRIVEN_TOTAL: 总里程表,值为 km(初始值从里程表应用或 Sidekick 加载,或从 CM 传递);DRIVEN_SESSION: 当前会话内的里程表,值为 km;STALLED(flag): 引擎熄火了吗(目前,这意味着一段时间内非常低的转速)?BATTERY: 估计的电池电压;OIL_PRESSURE: 估计的机油压力;OIL_TEMPERATURE: 估计的机油温度;EXHAUST_TEMPERATURE: 估计的排气温度;
雨刷
WIPERS_MODE: 雨刷关闭时为 0,否则为它们的当前模式;WIPERS_PROGRESS: 雨刷动画的进度;
一些罕见情况的额外内容(也许用于某些显示器?)
DRIFT_VALID(flag): 当前漂移有效吗(例如,不在越野)?DRIFT_BONUS_ON(flag): 漂移组合奖励开启了吗?DRIFT_COMBO: 漂移组合计数器,整数;DRIFT_INSTANT: 当前漂移点数,整数;DRIFT_POINTS: 总漂移点数,整数;TRACK_PROGRESS: 赛道进度,从 0 到 1;COMPASS: 车辆方向,度,0° 表示北方,90° 表示东方,默认格式为COMPASS;
燃油消耗内容(WIP,公式可能会重新设计)
FUEL_BURNT: 本会话消耗的燃油,升;FUEL_BURNT_TOTAL: 总共消耗的燃油,升;FUEL_CONSUMPTION_KPL: 燃油消耗,公里每升,本会话平均值;FUEL_CONSUMPTION_LP100K: 燃油消耗,每 100 公里升,本会话平均值;FUEL_CONSUMPTION_MPG: 燃油消耗,英里每加仑,本会话平均值;FUEL_CONSUMPTION_LPL: 燃油消耗,每圈升,本会话平均值;FUEL_CONSUMPTION_KPL_TOTAL: 燃油消耗,公里每升,总平均值;FUEL_CONSUMPTION_LP100K_TOTAL: 燃油消耗,每 100 公里升,总平均值;FUEL_CONSUMPTION_MPG_TOTAL: 燃油消耗,英里每加仑,总平均值;FUEL_CONSUMPTION_LPL_TOTAL: 燃油消耗,每圈升,总平均值;FUEL_ESTIMATE_DISTANCE: 预计距离,米,基于本会话平均消耗;FUEL_ESTIMATE_DISTANCE_TOTAL: 预计距离,米,基于总平均消耗;FUEL_ESTIMATE_TIME: 预计时间,秒,基于本会话平均消耗;FUEL_ESTIMATE_TIME_TOTAL: 预计时间,秒,基于总平均消耗;FUEL_ESTIMATE_LAPS: 预计圈数,基于本会话平均消耗;FUEL_ESTIMATE_LAPS_TOTAL: 预计圈数,基于总平均消耗;
赛车相关内容
POSITION: 比赛中的位置,从 1 开始;LAP_TIME: 当前圈速,秒,此内容和其他时间的默认格式为"LAP_TIME";BEST_LAP_TIME: 最佳圈速,秒;LAST_LAP_TIME: 上一圈时间,秒;EXPECTED_LAP_TIME: 预计圈速,秒(基于最佳圈速和性能差值);LAPS_COUNT: 完成的圈数;FLAG_TYPE: 当前显示的比赛旗帜类型(与赛道条件中的完全相同);
与车辆无关
AMBIENT_TEMPERATURE: 环境(空气)温度,°C;ROAD_TEMPERATURE: 路面温度,°C;WIND_SPEED: 风速,km/h;WIND_VELOCITY: 世界空间中的风向量,3D 向量,m/s;WIND_DIR: 风向,度,默认格式为COMPASS;TIME: 从 00:00 开始的秒数,默认格式为TIME;TIME_HOURS: 小时数,默认INPUT_MOD = 24;TIME_MINUTES: 分钟数,默认INPUT_MOD = 60;TIME_SECONDS: 秒数,默认INPUT_MOD = 60。
格式
为了正确使用某些类型的输入(例如返回圈速的输入)用于数字显示,需要一些格式设置。这些类型通常默认已设置,但您可以覆盖该行为,或者使常规输入格式化。更多信息可在此处获得车辆-数字仪表。
更复杂的表达式
从 CSP 0.1.77 开始,现在可以拥有引用其他输入并使用表达式的输入。首先,要引用另一个输入,您可以创建新的共享输入:
ini
[SHARED_INPUT_...]
NAME = my_input ; 用于引用它的名称
INPUT = GAS
; 所有常规 INPUT 参数都可以在这里使用并在以后使用它,或者只是使用复杂的表达式:
ini
[EMISSIVE_...]
INPUT = 'calc:max(my_input * GAS, BRAKE)'当然,共享输入也可以引用其他共享输入:
ini
[SHARED_INPUT_...]
NAME = my_other_input
INPUT = 'calc:pow(my_input, 20) + WIND_SPEED'可用函数:
- 无参数(常量):
e: 欧拉数;pi: 圆周率。
- 一个参数:
abs(x): 返回x的绝对值;acos(x): 返回弧度角;asin(x): 返回弧度角;atan(x): 返回弧度角;ceil(x): 向上舍入;cos(x): 接受弧度角;cosh(x): 接受弧度角;exp(x): 返回e^x;floor(x): 向下舍入;ln(x): 自然对数;log(x): 以 10 为底的对数;log10(x): 以 10 为底的对数;saturate(x): 如果x在 0 和 1 之间则返回x,否则返回 0 或 1,无论哪个更接近;sign(x): 返回x的符号,除非它是 0,否则返回 0;sin(x): 接受弧度角;sinh(x): 接受弧度角;smoothstep(x): smoothstep 适用于渐变;smootherstep(x): 像 smoothstep,但更平滑;sqrt(x): 返回平方根;tan(x): 接受弧度角;tanh(x): 接受弧度角。
- 两个参数:
atan2(x, y): 将x和y转换为弧度角;max(x, y): 返回x和y中的较大者;min(x, y): 返回x和y中的较小者;pow(x, y): 将x提升到y次幂;step(x, y): 如果y大于或等于x,则返回 1,否则返回 0。
- 更多参数:
clamp(x, min, max): 如果x在min和max之间则返回x,否则返回min或max,无论哪个更接近;remap(x, a, b, c, d): 如果x等于a,则返回c,如果它是b,则返回d,否则在c和d之间进行线性插值(不进行限制)。