Skip to content

04. 模拟仪表类

参考 CSP 官方 Wiki「Cars – Instruments inputs」 该页面说明 CSP 的仪表输入系统,可把车辆状态数据绑定到模拟仪表、数字仪表、动画和发光对象中;本章节整理其中的模拟仪表输入部分,用于控制速度表、转速表、油量表、水温表、涡轮表、G 力表等指针式或机械式仪表。


INCLUDE公共库引用

抬头引用模板

ini
[INCLUDE] ; CSP 模拟仪表 / 显示相关公共库
INCLUDE = common/displays.ini ; 仪表屏幕 / 显示公共库
INCLUDE = common/navigators.ini ; 导航屏公共库
INCLUDE = common/navigators_layouts.ini ; 导航布局模板
INCLUDE = common/navigators_maps.ini ; 导航地图模板
INCLUDE = common/navigators_mixins.ini ; 导航混合功能模板
INCLUDE = common/navigators_themes.ini ; 导航主题模板

① 常用模拟仪表样板

转速表

ini
[ANALOG_INDICATOR_RPM] ; 转速表
INPUT = RPM ; 绑定发动机转速
INPUT_MIN = 0 ; 最低转速
INPUT_MAX = 8000 ; 最高转速
INPUT_LAG_UP = 0.85 ; 转速上升平滑
INPUT_LAG_DOWN = 0.85 ; 转速下降平滑

适用:

机械转速表

赛车转速表

仪表盘 RPM 指针

转速表警告发光

作用

当转速超过指定数值时,让转速表警告区域发光或闪烁。

适合高转提示、换挡提示、红区警告灯。

ini
[EMISSIVE_RPM_WARNING] ; 转速表警告发光
INPUT = RPM ; 绑定发动机转速
INPUT_THRESHOLD = 7000 ; 超过 7000 转触发
NAME = mesh_rpm_warning_light ; 绑定转速警告 Mesh
COLOR = 500, 0, 0, 0.2 ; 触发后红色警告光
OFF_COLOR = 1, 1, 1, 0.1 ; 未触发时弱白光
FALLBACK_HEADLIGHTS_COLOR = 10, 10, 10, 5 ; 车灯开启时备用颜色
CAST_LIGHT = 0 ; 不投射实际光线
TOGGLE_VISIBILITY = 1 ; 启用可见性切换
TOGGLE_VISIBILITY_INVERSE = 0 ; 不反向显示
BLINKING_PATTERN = (|0=2|1=0|2=2|3=0|4=2|5=0|6=2|7=0|8=2|9=0|10=2|11=0|12=2|13=0|14=2|15=0|16=2|) ; 闪烁节奏
BLINKING_DURATION = 2 ; 闪烁周期

速度表

ini
[ANALOG_INDICATOR_SPEED] ; 速度表
INPUT = SPEED ; 绑定车速
INPUT_MIN = 0 ; 最低车速
INPUT_MAX = 300 ; 最高车速
INPUT_LAG_UP = 0.9 ; 车速上升平滑
INPUT_LAG_DOWN = 0.9 ; 车速下降平滑

适用:

机械速度表

数字转机械速度指针

公里表速度指针


油量表

ini
[ANALOG_INDICATOR_FUEL] ; 油量表
INPUT = FUEL ; 绑定剩余燃油
INPUT_MIN = 0 ; 空油箱
INPUT_MAX = 80 ; 满油箱容量
INPUT_LAG_UP = 0.95 ; 油量上升平滑
INPUT_LAG_DOWN = 0.95 ; 油量下降平滑

适用:

油量指针
燃油剩余仪表
赛车燃油表


水温表

ini
[ANALOG_INDICATOR_WATER_TEMP] ; 水温表
INPUT = WATER_TEMPERATURE ; 绑定水温
INPUT_MIN = 40 ; 最低显示温度
INPUT_MAX = 120 ; 最高显示温度
INPUT_LAG_UP = 0.9 ; 温度上升平滑
INPUT_LAG_DOWN = 0.95 ; 温度下降平滑

适用:

水温指针
发动机温度表
冷却液温度表


机油温度表

ini
[ANALOG_INDICATOR_OIL_TEMP] ; 机油温度表
INPUT = OIL_TEMPERATURE ; 绑定机油温度
INPUT_MIN = 40 ; 最低显示温度
INPUT_MAX = 150 ; 最高显示温度
INPUT_LAG_UP = 0.9 ; 温度上升平滑
INPUT_LAG_DOWN = 0.95 ; 温度下降平滑

适用:

机油温度表
赛车油温表
机械油温仪表


机油压力表

ini
[ANALOG_INDICATOR_OIL_PRESSURE] ; 机油压力表
INPUT = OIL_PRESSURE ; 绑定机油压力
INPUT_MIN = 0 ; 最低压力
INPUT_MAX = 10 ; 最高压力
INPUT_LAG_UP = 0.85 ; 压力上升平滑
INPUT_LAG_DOWN = 0.85 ; 压力下降平滑

适用:

机油压力表
赛车辅助仪表
机械压力表


涡轮压力表

ini
[ANALOG_INDICATOR_TURBO] ; 涡轮压力表
INPUT = TURBO ; 绑定涡轮压力
INPUT_MIN = 0 ; 最低压力
INPUT_MAX = 2 ; 最高压力
INPUT_LAG_UP = 0.85 ; 压力上升平滑
INPUT_LAG_DOWN = 0.9 ; 压力下降平滑

适用:

涡轮表
增压表
Boost 指针表


KERS 电量表

ini
[ANALOG_INDICATOR_KERS] ; KERS 电量表
INPUT = KERS_CHARGE ; 绑定 KERS 电量
INPUT_MIN = 0 ; 最低电量
INPUT_MAX = 1 ; 最高电量
INPUT_LAG_UP = 0.9 ; 电量上升平滑
INPUT_LAG_DOWN = 0.9 ; 电量下降平滑

适用:

KERS 电量表
混动车电量表
能量回收指针


G 力表

ini
[ANALOG_INDICATOR_G_FORCE] ; G 力表
INPUT = G_FORCE ; 绑定 G 力
INPUT_SELECTOR = LEN ; 取总 G 力
INPUT_MIN = 0 ; 最低 G 值
INPUT_MAX = 3 ; 最高 G 值
INPUT_LAG_UP = 0.8 ; G 值上升平滑
INPUT_LAG_DOWN = 0.8 ; G 值下降平滑

适用:

G 力表
横纵向 G 表
赛车动态仪表


方向盘角度表

ini
[ANALOG_INDICATOR_STEER] ; 方向盘角度表
INPUT = STEER ; 绑定方向盘角度
INPUT_MIN = -450 ; 左最大角度
INPUT_MAX = 450 ; 右最大角度
INPUT_LAG_UP = 0.8 ; 角度变化平滑
INPUT_LAG_DOWN = 0.8 ; 角度回正平滑

适用:

方向角指针
转向角显示
测试用方向盘仪表


里程表

ini
[ODOMETER_MAIN] ; 主里程表
NAME = mesh_odometer_main ; 绑定主里程显示 Mesh
FONT = odometer_font ; 使用里程表数字字体
BLEND_MODE = 0 ; 正常不透明显示
POSITION = 395, 515 ; 显示位置
SCALE = 2, 2 ; 显示缩放
SIZE = 121, 25 ; 显示区域尺寸
DIGIT_WIDTH = 11 ; 单个数字宽度
COUNT = 6 ; 显示位数
BACKGROUND = 0.08, 0.08, 0.09 ; 背景颜色
COLOR = 1, 1, 1 ; 数字颜色
LAST_DIGIT_COLOR = 0, 0, 0 ; 最后一位数字颜色
LAST_DIGIT_BACKGROUND = 1, 1, 1 ; 最后一位背景颜色
LAST_DIGIT_BACKGROUND_LOCATION = 110, 19 ; 最后一位背景位置
JITTER = 0.09 ; 数字轻微抖动
MOVEMENT_INTERVAL = 1 ; 数字滚动间隔

小计里程表

ini
[ODOMETER_TRIP] ; 小计里程表
NAME = mesh_odometer_trip ; 绑定小计里程显示 Mesh
FONT = odometer_font ; 使用里程表数字字体
BLEND_MODE = 0 ; 正常不透明显示
POSITION = 395, 545 ; 显示位置
SCALE = 2, 2 ; 显示缩放
SIZE = 121, 25 ; 显示区域尺寸
DIGIT_WIDTH = 11 ; 单个数字宽度
COUNT = 5 ; 显示位数
BACKGROUND = 0.08, 0.08, 0.09 ; 背景颜色
COLOR = 1, 1, 1 ; 数字颜色
LAST_DIGIT_COLOR = 0, 0, 0 ; 最后一位数字颜色
LAST_DIGIT_BACKGROUND = 1, 1, 1 ; 最后一位背景颜色
LAST_DIGIT_BACKGROUND_LOCATION = 99, 19 ; 最后一位背景位置
JITTER = 0.09 ; 数字轻微抖动
MOVEMENT_INTERVAL = 1 ; 数字滚动间隔

② 多值输入选择方法

有些输入是一组数据,例如四个轮胎、四个车身高度、四个悬挂行程。
这类输入需要配合 INPUT_SELECTOR


常用选择

INPUT_SELECTOR = X / FIRST ; 第 1 个值

INPUT_SELECTOR = Y / SECOND ; 第 2 个值

INPUT_SELECTOR = Z / THIRD ; 第 3 个值

INPUT_SELECTOR = W / FOURTH ; 第 4 个值

INPUT_SELECTOR = MIN ; 最小值

INPUT_SELECTOR = MAX ; 最大值

INPUT_SELECTOR = AVG ; 平均值

INPUT_SELECTOR = SUM ; 求和

INPUT_SELECTOR = LEN ; 总长度


胎压表

ini
[ANALOG_INDICATOR_TYRE_PRESSURE_FL] ; 左前胎压表
INPUT = TYRE_PRESSURE ; 绑定胎压
INPUT_SELECTOR = X ; 左前轮
INPUT_MIN = 10 ; 最低胎压
INPUT_MAX = 40 ; 最高胎压
INPUT_LAG_UP = 0.9 ; 胎压上升平滑
INPUT_LAG_DOWN = 0.9 ; 胎压下降平滑

四轮对应:

X = 左前

Y = 右前

Z = 左后

W = 右后


轮胎温度表

ini
[ANALOG_INDICATOR_TYRE_TEMP_FL] ; 左前轮胎温度表
INPUT = TYRE_TEMPERATURE ; 绑定轮胎温度
INPUT_SELECTOR = X ; 左前轮
INPUT_MIN = 40 ; 最低温度
INPUT_MAX = 140 ; 最高温度
INPUT_LAG_UP = 0.9 ; 温度上升平滑
INPUT_LAG_DOWN = 0.9 ; 温度下降平滑

悬挂行程表

ini
[ANALOG_INDICATOR_SUSP_TRAVEL_FL] ; 左前悬挂行程表
INPUT = SUSP_TRAVEL ; 绑定悬挂行程
INPUT_SELECTOR = X ; 左前悬挂
INPUT_MIN = 0 ; 最低行程
INPUT_MAX = 1 ; 最高行程
INPUT_LAG_UP = 0.8 ; 行程上升平滑
INPUT_LAG_DOWN = 0.8 ; 行程下降平滑

③ 常用模拟仪表 INPUT

基础仪表

SPEED ; 车速

SPEED_WHEELS ; 轮速计算车速

RPM ; 发动机转速

FUEL ; 剩余燃油

WATER_TEMPERATURE ; 水温

WATER_TEMP ; 水温别名

TURBO ; 涡轮压力

GEAR ; 当前档位

STEER ; 方向盘角度


温度 / 压力

OIL_TEMPERATURE ; 机油温度

OIL_TEMP ; 机油温度别名

OIL_PRESSURE ; 机油压力

OIL ; 机油压力别名

EXHAUST_TEMPERATURE ; 排气温度

EXHAUST_TEMP ; 排气温度别名

AMBIENT_TEMPERATURE ; 环境温度

AMBIENT_TEMP ; 环境温度别名

ROAD_TEMPERATURE ; 路面温度

ROAD_TEMP ; 路面温度别名


轮胎 / 悬挂

TYRE_PRESSURE ; 胎压

TYRES ; 胎压别名

TYRE_TEMPERATURE ; 轮胎温度

TYRE_WEAR ; 轮胎磨损

TYRE_DIRT ; 轮胎脏污

TYRE_SLIP ; 轮胎打滑

TYRE_SLIP_ANGLE ; 轮胎滑移角

TYRE_SLIP_RATIO ; 轮胎滑移率

SUSP_TRAVEL ; 悬挂行程

RIDE_HEIGHT ; 车身高度


混动 / 动力

KERS_CHARGE ; KERS 电量

KERS_CURRENT_KJ ; KERS 当前值

KERS_MAX_KJ ; KERS 最大值

KERS_LOAD ; KERS 负载

KERS_INPUT ; KERS 输入

KERS_CHARGING ; KERS 充电状态

ENGINE_TORQUE ; 当前发动机扭矩

ENGINE_POWER ; 当前发动机功率

TURBO_BOOST ; 涡轮增压值

TURBO_WASTEGATE ; 涡轮泄压阀


比赛 / 时间

LAP_TIME ; 当前圈时间

LAP_TIME_BEST ; 最佳圈时间

LAP_TIME_LAST ; 上一圈时间

LAP_COUNT ; 已完成圈数

POSITION ; 比赛名次

PERF_METER ; 圈速差

TRACK_PROGRESS ; 赛道进度

TIME_HOURS ; 当前小时

TIME_MINUTES ; 当前分钟

TIME_SECONDS ; 当前秒


④ 输入修正参数

倍率和偏移

ini
[ANALOG_INDICATOR_SPEED_MPH] ; 英里速度表
INPUT = SPEED ; 绑定车速
INPUT_MULT = 0.621371 ; km/h 转 mph
INPUT_MIN = 0 ; 最低速度
INPUT_MAX = 200 ; 最高速度

限制范围

ini
[ANALOG_INDICATOR_WATER_TEMP] ; 水温表限制范围
INPUT = WATER_TEMPERATURE ; 绑定水温
INPUT_MIN = 40 ; 最低显示温度
INPUT_MAX = 120 ; 最高显示温度

平滑指针

ini
[ANALOG_INDICATOR_RPM_SMOOTH] ; 平滑转速表
INPUT = RPM ; 绑定发动机转速
INPUT_MIN = 0 ; 最低转速
INPUT_MAX = 8000 ; 最高转速
INPUT_LAG_UP = 0.85 ; 上升平滑
INPUT_LAG_DOWN = 0.88 ; 下降平滑

取整

ini
[ANALOG_INDICATOR_SPEED_ROUND] ; 取整速度表
INPUT = SPEED ; 绑定车速
INPUT_ROUND = 1 ; 速度取整到 1
INPUT_ROUND_MODE = ROUND ; 四舍五入
INPUT_MIN = 0 ; 最低速度
INPUT_MAX = 300 ; 最高速度

LUT 映射

ini
[ANALOG_INDICATOR_FUEL_LUT] ; 油量非线性映射
INPUT = FUEL ; 绑定燃油
INPUT_LUT = (|0=0|20=0.35|40=0.65|60=1|) ; 油量映射曲线
INPUT_MIN = 0 ; 最低油量
INPUT_MAX = 60 ; 最高油量

适用:

油量表不均匀刻度
水温表非线性刻度
老车仪表非线性指针
特殊表盘刻度


⑤ 模拟仪表组合样板

基础三联表

ini
[ANALOG_INDICATOR_RPM] ; 转速表
INPUT = RPM ; 发动机转速
INPUT_MIN = 0 ; 最低转速
INPUT_MAX = 8000 ; 最高转速
INPUT_LAG_UP = 0.85 ; 上升平滑
INPUT_LAG_DOWN = 0.85 ; 下降平滑

[ANALOG_INDICATOR_SPEED] ; 速度表
INPUT = SPEED ; 车速
INPUT_MIN = 0 ; 最低车速
INPUT_MAX = 300 ; 最高车速
INPUT_LAG_UP = 0.9 ; 上升平滑
INPUT_LAG_DOWN = 0.9 ; 下降平滑

[ANALOG_INDICATOR_FUEL] ; 油量表
INPUT = FUEL ; 剩余燃油
INPUT_MIN = 0 ; 空油箱
INPUT_MAX = 80 ; 满油箱
INPUT_LAG_UP = 0.95 ; 上升平滑
INPUT_LAG_DOWN = 0.95 ; 下降平滑

赛车辅助表

ini
[ANALOG_INDICATOR_OIL_TEMP] ; 机油温度表
INPUT = OIL_TEMPERATURE ; 机油温度
INPUT_MIN = 40 ; 最低温度
INPUT_MAX = 150 ; 最高温度
INPUT_LAG_UP = 0.9 ; 上升平滑
INPUT_LAG_DOWN = 0.95 ; 下降平滑

[ANALOG_INDICATOR_OIL_PRESSURE] ; 机油压力表
INPUT = OIL_PRESSURE ; 机油压力
INPUT_MIN = 0 ; 最低压力
INPUT_MAX = 10 ; 最高压力
INPUT_LAG_UP = 0.85 ; 上升平滑
INPUT_LAG_DOWN = 0.85 ; 下降平滑

[ANALOG_INDICATOR_TURBO] ; 涡轮压力表
INPUT = TURBO ; 涡轮压力
INPUT_MIN = 0 ; 最低压力
INPUT_MAX = 2 ; 最高压力
INPUT_LAG_UP = 0.85 ; 上升平滑
INPUT_LAG_DOWN = 0.9 ; 下降平滑

参数速查表


Debug 排错

指针不动

→ 检查 INPUT 是否写对

指针范围不对

→ 检查 INPUT_MIN / INPUT_MAX

指针抖动

→ 增加 INPUT_LAG_UP / INPUT_LAG_DOWN

指针方向不对

→ 检查仪表动画角度设置

数值太大或太小

→ 使用 INPUT_MULT / INPUT_ADD 修正

表盘刻度不均匀

→ 使用 INPUT_LUT

四轮数据不对

→ 检查 INPUT_SELECTOR

测试时不好判断

→ 使用 INPUT_DEBUG 固定数值


推荐写法规则

速度表 → INPUT = SPEED

转速表 → INPUT = RPM

油量表 → INPUT = FUEL

水温表 → INPUT = WATER_TEMPERATURE

油温表 → INPUT = OIL_TEMPERATURE

油压表 → INPUT = OIL_PRESSURE

涡轮表 → INPUT = TURBO

G 力表 → INPUT = G_FORCE + INPUT_SELECTOR = LEN

胎压表 → INPUT = TYRE_PRESSURE + INPUT_SELECTOR

轮胎温度表 → INPUT = TYRE_TEMPERATURE + INPUT_SELECTOR

指针太跳 → 加 INPUT_LAG_UP / INPUT_LAG_DOWN

数值范围不准 → 调 INPUT_MIN / INPUT_MAX

单位不对 → 用 INPUT_MULT

表盘刻度不均匀 → 用 INPUT_LUT

测试指针 → 用 INPUT_DEBUG