有时也称为 输入映射 或 输入映射文件。
例如:油门绑定将 ↑ 控制项与 "accelerate" 动作关联起来。
最终用户可以在 选项 → 控制 菜单中自定义他们的绑定。
出厂绑定是游戏默认附带的绑定。
当您使用 选项 → 控制 → 重置全部 按钮时,它们会恢复到出厂绑定状态。
它们存储在游戏安装文件夹中,有两个可能的位置:
settings/inputmaps/*.jsonvehicles/vehicle_directory_name/inputmaps/*.json注意:其中一些可能已被打包在 gameengine.zip 文件中,以减少下载大小和存储空间占用。
当最终用户自定义他们的绑定时,这些**差异(diff)**会存储在用户文件夹 中:
settings/inputmaps/*.diffsettings/inputmaps/vehicle_directory_name/*.diff它们仅包含与默认设置相比发生的变化(哪些绑定被添加、移除或替换等)。如果删除所有 .diff 文件,游戏将恢复到默认设置。
绑定文件的命名以标识符开头,可选地后跟一个后缀,并以扩展名结尾:标识符后缀.扩展名。
diff 或 json。例如:keyboard.json、keyboardGiantExcavatorMod.json、c29b046d.diff 等。
对于标识符字段,有两种可能性:
游戏可以识别以下任意字符串:
游戏可以识别 USB 标识符。这些标识符看起来像 8 个十六进制字符,例如 1357acef。它们代表 4 个厂商 ID 字符 + 4 个产品 ID 字符。
重要提示: 作为模组创作者或最终用户,您无需手动计算 pidvid 名称——当您从 选项 → 控制 菜单创建或修改绑定时,BeamNG.drive 会自动处理此事。
产品 ID 和厂商 ID 是分配给特定硬件制造商的代码,用于标识它们销售的 USB 产品。使用 pidvid 可以将绑定定制到特定的设备型号(例如“应用于所有 Logitech G27 设备”),而不是通用的控制器类型(例如“应用于任何 wheel”)。
例如,pidvid 名称 c29b046d 对应于一个罗技设备(厂商 ID 046d),以及其 G27 型号(产品 ID c29b)。
重要提示: 作为模组创作者或最终用户,您无需了解文件格式——您不应手动编写这些文件,而应使用“选项 > 控制”菜单来定义模组的出厂绑定。
绑定文件大多遵循
JSON 格式
。它们必须以左大括号 { 开头,并以右大括号 } 结尾。以下示例展示了其整体结构:
keyboard.json:
{
"bindings": [
{"action": "menu_select", "control": "numpad9"},
{"action": "menu_back", "control" : "numpad7"},
// ...
]
}
在某些情况下,每个绑定还有额外信息(例如绑定线性度、力反馈参数等)。我们将不详细讨论这些内容。
如果文件是具有用户绑定
的 .diff 文件,它们内部可能还包含一个额外的 "removed" 列表,如下所示:
keyboard.diff:
{
"bindings": [
{"action": "menu_select", "control": "numpad3"},
{"action": "accelerate", "control": "up", "filterType": "1"},
],
"removed": [
{"action": "menu_back", "control" : "numpad7"},
]
}
.diff 文件中的 "bindings" 可能用一个不同的控制项(如上例中的 menu_select)或不同的/新的参数(如上例中的 accelerate)来覆盖一个出厂绑定
。
除了 "bindings" 和 "removed",这些文件中可能还有其他字段,例如 "guid"、"name" 等。您无需担心这些。
这篇文章对你有用吗?