04. 模拟仪表类
⚽
参考 CSP 官方 Wiki「Cars – Instruments inputs」 该页面说明 CSP 的仪表输入系统,可把车辆状态数据绑定到模拟仪表、数字仪表、动画和发光对象中;本章节整理其中的模拟仪表输入部分,用于控制速度表、转速表、油量表、水温表、涡轮表、G 力表等指针式或机械式仪表。
INCLUDE公共库引用
抬头引用模板
[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 ; 导航主题模板① 常用模拟仪表样板
转速表
[ANALOG_INDICATOR_RPM] ; 转速表
INPUT = RPM ; 绑定发动机转速
INPUT_MIN = 0 ; 最低转速
INPUT_MAX = 8000 ; 最高转速
INPUT_LAG_UP = 0.85 ; 转速上升平滑
INPUT_LAG_DOWN = 0.85 ; 转速下降平滑适用:
机械转速表
赛车转速表
仪表盘 RPM 指针
转速表警告发光
作用
当转速超过指定数值时,让转速表警告区域发光或闪烁。
适合高转提示、换挡提示、红区警告灯。
[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 ; 闪烁周期速度表
[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 ; 油量下降平滑适用:
油量指针
燃油剩余仪表
赛车燃油表
水温表
[ANALOG_INDICATOR_WATER_TEMP] ; 水温表
INPUT = WATER_TEMPERATURE ; 绑定水温
INPUT_MIN = 40 ; 最低显示温度
INPUT_MAX = 120 ; 最高显示温度
INPUT_LAG_UP = 0.9 ; 温度上升平滑
INPUT_LAG_DOWN = 0.95 ; 温度下降平滑适用:
水温指针
发动机温度表
冷却液温度表
机油温度表
[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 ; 压力下降平滑适用:
涡轮表
增压表
Boost 指针表
KERS 电量表
[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 力表
[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 表
赛车动态仪表
方向盘角度表
[ANALOG_INDICATOR_STEER] ; 方向盘角度表
INPUT = STEER ; 绑定方向盘角度
INPUT_MIN = -450 ; 左最大角度
INPUT_MAX = 450 ; 右最大角度
INPUT_LAG_UP = 0.8 ; 角度变化平滑
INPUT_LAG_DOWN = 0.8 ; 角度回正平滑适用:
方向角指针
转向角显示
测试用方向盘仪表
里程表
[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 ; 数字滚动间隔小计里程表
[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 ; 总长度
胎压表
[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 = 右后
轮胎温度表
[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 ; 温度下降平滑悬挂行程表
[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 ; 当前秒
④ 输入修正参数
倍率和偏移
[ANALOG_INDICATOR_SPEED_MPH] ; 英里速度表
INPUT = SPEED ; 绑定车速
INPUT_MULT = 0.621371 ; km/h 转 mph
INPUT_MIN = 0 ; 最低速度
INPUT_MAX = 200 ; 最高速度限制范围
[ANALOG_INDICATOR_WATER_TEMP] ; 水温表限制范围
INPUT = WATER_TEMPERATURE ; 绑定水温
INPUT_MIN = 40 ; 最低显示温度
INPUT_MAX = 120 ; 最高显示温度平滑指针
[ANALOG_INDICATOR_RPM_SMOOTH] ; 平滑转速表
INPUT = RPM ; 绑定发动机转速
INPUT_MIN = 0 ; 最低转速
INPUT_MAX = 8000 ; 最高转速
INPUT_LAG_UP = 0.85 ; 上升平滑
INPUT_LAG_DOWN = 0.88 ; 下降平滑取整
[ANALOG_INDICATOR_SPEED_ROUND] ; 取整速度表
INPUT = SPEED ; 绑定车速
INPUT_ROUND = 1 ; 速度取整到 1
INPUT_ROUND_MODE = ROUND ; 四舍五入
INPUT_MIN = 0 ; 最低速度
INPUT_MAX = 300 ; 最高速度LUT 映射
[ANALOG_INDICATOR_FUEL_LUT] ; 油量非线性映射
INPUT = FUEL ; 绑定燃油
INPUT_LUT = (|0=0|20=0.35|40=0.65|60=1|) ; 油量映射曲线
INPUT_MIN = 0 ; 最低油量
INPUT_MAX = 60 ; 最高油量适用:
油量表不均匀刻度
水温表非线性刻度
老车仪表非线性指针
特殊表盘刻度
⑤ 模拟仪表组合样板
基础三联表
[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 ; 下降平滑赛车辅助表
[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