梁(Beams)

BeamNG 的名字来源于梁(Beams)。

“梁”是节点之间的弹簧-阻尼连接,用于构建游戏中所有车辆的主体结构,并可按需发生形变与断裂。

为满足不同用途,我们有多种类型的“梁”,你可以在各个示例中了解详细的内容。“标准梁”表现为带阻尼的简单弹簧,被用在大多数场景中,在必要时可形变和断裂。

“标准梁”类型所使用参数均适用于其他类型的各个梁。

必要参数

string
type
第一个节点的名称
string
type
第二个节点的名称

可选参数

有关梁的部分包含许多可选参数。我们按梁的使用频率由高到低分组说明。

基本属性

以下这些是最基础的参数,在 Jbeam 文件中随处可见,对于正确模拟来说是必需的。点此可查看介绍页面的简要说明。

string
type
NORMAL
default
beam的类型决定了其在受压与受拉时的行为。

可能的取值:

  • NORMAL - 一般使用的标准梁,无特殊属性,用于大部分结构。
  • SUPPORT - 支撑梁(Support Beams),使用频率第二高的梁类型。此类梁仅抵抗压力(compression),不抵抗拉力(extension)。配合预压缩(precompression)后,当梁的长度缩短至预设值时开始产生抗力。可设置长度阈值实现自动断裂。常用于连接多个部件的场景。其作用非固定连接,而是作为运动限位器,防止某一部件的节点穿透另一部件表面。
  • HYDRO - 液压梁(Hydro Beams)虽在独立的代码段落定义,但继承全部标准梁属性。此类梁可按需动态改变长度,通常用于模拟转向齿条(steering rack)。亦可定义车辆的方向盘最大锁止角度(steering lock angle)
  • ANISOTROPIC - 各向异性梁(Anisotropic Beams)对拉伸与压缩分别使用不同的刚度(beamSpring)与阻尼(beamDamp)参数,可定义两种行为间的过渡区间,并支持在长度比超限时自动断裂。适用于模拟拉伸刚度大于压缩刚度的结构,例如轮胎(系统自动生成),绳索,软顶篷布。
  • BOUNDED - 有界梁(Bounded Beams),比ANISOTROPIC更复杂,不仅对压缩/拉伸分别有不同的刚度(beamSpring)与阻尼(beamDamp)系数,还能对低速/高速压缩与拉伸分别设置。收缩与伸长可按比例或按长度范围定义,并可调整过渡区。计算开销较大,通常仅用于减振器、缓冲块等悬架部件。
  • LBEAM - 角梁(L-Beams)使用3个节点定义而非2个。约束对象为两段梁之间的夹角变化,而非节点间距。可在低压缩阻力下提供高横向刚度。用于轮胎(自动生成)与板簧(leaf spring)。
  • PRESSURED - 加压梁(Pressured Beams),用于模拟气缸的特殊梁。力与实时长度成反比。可设置起始压力(Pa 或 PSI)、超过该压力即断裂的最大压力、气缸面积及体积系数。用于轮胎(自动生成)与渐进式空气弹簧。
  • BROKEN - 断裂的beam不再抵抗力。不能通过在 Jbeam 中输入来设置该类型。
number
type
4300000
default
beam的刚度(N/m)。

使beam长度产生单位变化所需的作用力。若beam刚度相对于节点质量过高,可能导致beam振动并引发稳定性问题。

beamSpring 值为 0 的beam不会被控制台识别为重复连接,这允许在结构中添加额外的纯阻尼beam。

number
type
580
default
beam的阻尼(N/m/s)。
阻尼使会使振荡随时间衰减。若阻尼相对于节点质量过大,可能引发脉动应力和不稳定。
number
type
FLT_MAX
default
beam的强度(N)。

beam在断裂前可抵抗的最大力。

值为 “FLT_MAX” 时beam不会断裂。

number
type
220000
default
使beam产生永久形变所需的力(N)。
值为 “FLT_MAX” 时beam不会发生永久形变。

可断裂性

仅用于可断裂beam,即beamStrength不为"FLT_MAX"的beam。此类beam用于模拟塑性材料,或将车辆部件连接在一起。

string/table
type
当同一breakGroup中另一根beam断裂时,该beam将自动断裂

当参数类型为string(字符串)时,beam属于单一指定的breakGroup,这是常见情况。

["a","b", {"breakGroup":"group_1"}],

当参数类型为table(列表)时,beam属于表内指定的所有breakGroup。这意味着这些breakGroup中的任意一根beam断裂时,该beam都会自动断裂,同时触发其所属的所有breakGroup的连锁断裂行为。实际使用极少,且不支持beam可视化调试模式。

["a","b", {"breakGroup":["group_1","group_2"]}],
number
type
设置breakGroup行为
设为 0 时,本beam会使breakGroup中其他beam断裂;设为 1 时,本beam不会使breakGroup中其他beam断裂,但会被同breakGroup内其他beam的断裂所触发。
boolean
type
false
default
禁用网格断裂

网格断裂允许在底层beam单元断裂时,动态移除柔性体(flexbody)网格的对应多边形,从而避免某些jbeam结构部分脱离后网格产生过度拉伸形变。

当可断裂beam仅作为结构支撑时(如乘员舱),禁用网格断裂很有用。

boolean
type
false
default
禁用三角面断裂

三角面断裂允许车辆三角面在基础beam断裂后动态切换为无碰撞与无气动状态。用于连接两个可分离部件的三角面片(如车身与车架),以及可破碎玻璃,以在其上动态形成物理破孔。

当可断裂beam仅作为结构支撑时(如乘员舱),禁用三角面断裂很有用。

boolean
type
false
default
当beam的某个节点缺失时停用报错

用于beam所需节点位于可选部件中的情况。

该设置也会隐藏与重复beam相关的警告。

形变限位

用于限制beam的形变。deformLimitExpansion是其中最常用的参数,用于多数Jbeam文件。

number
type
限制beam在压缩时相对原始长度的形变量
number
type
deformLimit
default
限制beam在拉伸时相对原始长度的形变量
用于避免过度拉伸。
number
type
将beamDeform的累积增量限制到该值(N)
beamDeform随beam的塑性形变累积而增大,该参数用于约束塑性形变的累积速率。适用于模拟某些悬架结构中的摩擦迟滞效应。

形变组(Deform Groups)

形变组用于在beam发生形变时触发动作。多数情况下仅用于玻璃/灯具的视觉损伤与动力总成损坏。

string/table
type
标识该beam所属的形变组。

用于触发 flexbody 形变组,也用于部分动力总成部件的损伤模拟。

当参数为字符串时,beam属于单一指定的deformGroup,这是常见情况。

["a","b", {"deformGroup":"group_1"}],

当参数为table(列表)时,beam属于所有指定的 deformGroup。这意味着会同时触发多个形变行为。实际使用极少,且不支持beam可视化调试模式。

["a","b", {"deformGroup":["group_1","group_2"]}],

带deformGroup的beam不会被控制台视为重复beam。这是因为常见做法是使用脆性重复beam来模拟可断裂玻璃。

如果一根beam同时具有breakGroup和deformGroup,断裂时将根据其两个节点的nodeMaterial生成玻璃或木屑粒子。用于车窗和木质道具(如钢琴)。

number
type
超过该形变量时触发 deformGroup。

典型值为非常小的数(小于0.1)。当beam缩短或拉长超过该数值,形变组将被触发。

该属性会为beam创建形变触发器,导致任意带该属性的beam发生形变时执行额外代码。性能开销较大,仅在需要时使用。

预压缩

这些参数定义beam在生成时的长度变化,常用于悬架部件。

number
type
1.0
default
beam生成后立即达到的长度
2.0表示长度加倍,0.5表示减半。
number
type
生成时beam长度变化(米)

覆盖beamPrecompression参数。

值为0.2表示生成时beam延长0.2米;值为-0.2表示生成时beam缩短0.2米。

number
type
预压缩beam达到目标长度所需时间(秒)
用于避免预压缩beam在生成时猛烈回到目标长度而产生形变。

动力传动系统与悬架

仅用于某些悬架部件及其他关键车辆部件。

string
type
beam的名称
某些系统用它来识别需要使用的特定beam。
number
type
设定阻尼生效的振动频率上限(Hz)

仅适用于normal、bounded与l-beam类型的beam。

主要用于悬架部件和其他关键jbeam部件,帮助在不引发数值失稳的前提下提升有效阻尼。

计算开销较大,仅在需要时使用。

悬架声音

这些参数用于在beam承担支柱或减振器角色时使用,并且应仅在这些beam上成组设置。

string
type
beam压缩时播放的FMOD事件
所有可用事件路径可在世界编辑器中查看:Window > Audio > SFX Previewer。
number
type
0.5
default
将FMOD事件整体音量最多降低10dB
值为0时音量降低10dB,值为1则保持原始音量。
number
type
10
default
设置声音包络的起音(attack)系数
设置声音幅度从0%上升到100%的速度。值越小,上升越快。
number
type
1
default
设置beam压缩量与音量之间的关系
0表示在0%压缩时达到最大音量,1表示在100%压缩时达到最大音量。由于减振beam因部分充当缓冲块而不会完全压缩,较合适的值通常在0.8左右。
number
type
10
default
设置声音包络的衰减/释放系数
设置声音幅度从100%降至0%的时间。数值越高,衰减/释放越快。
number
type
0
default
基于冲量的音高弯曲强度因子
数值越大,冲量作用下的音高变化幅度越显著。
number
type
0
default
影响噪声尾音的持续时间。
噪声尾音长度也与beam速度有关。
number
type
35000
default
声音系统将其视为完全压缩的beam应力值(N/m^2)
用于标准化。应从物理角度而非声音工程角度去设定该值。volumeFactor仍应覆盖完整预期压缩范围。

货物

仅用于货物载荷。

string
type
在生涯模式货运玩法中,定义beamSpring随cargoGroup货物负载变化的函数

示例用法:

{"beamSpringFunction":"=150*$load+1100","cargoGroup":"RoofbarTank1"},
string
type
在生涯模式货运玩法中,定义beamDamping随cargoGroup货物负载变化的函数

示例用法:

{"beamDampFunction":"=0.2*$load+50","cargoGroup":"RoofbarTank1"},
string
type
在生涯模式货运玩法中,定义beamStrength随cargoGroup货物负载变化的函数

示例用法:

{"beamStrengthFunction":"=150*$load+1100","cargoGroup":"RoofbarTank1"},
string
type
在生涯模式货运玩法中,定义beamDeform随cargoGroup货物负载变化的函数

示例用法:

{"beamDeformFunction":"=150*$load+1100","cargoGroup":"RoofbarTank1"},

调试

这些用于短期调试,最终结构中应移除。

dictionary
type
{“radius”:0,“col”:"#00000000"}
default
在启用梁可视化调试模式时,按给定半径与颜色高亮beam。

该表包含3个元素,其中2个必填、1 个可选:“radius” 为数值(米),设置高亮半径;“col” 为颜色十六进制字符串或RGB表。示例:

["a","b", {
    "highlight":{
        "radius":0.005,
        "col":"#ff0000ff"
    }
}],

效果等同于:

["a","b", {
    "highlight":{
        "radius":0.005,
        "col":{
            "r":255,
            "g":0,
            "b":0,
            "a":255
        }
    }
}],

“length"是可选参数,将以米为单位覆盖高亮圆柱的长度。它可以比默认梁长度更长或更短。圆柱中心始终位于梁中心。此参数从BeamNG 0.34版本起可用。

["a","b", {
    "highlight":{
        "radius":0.005,
        "col":"#ff0000ff",
        "length":0.1
    }
}],

简单示例

节点ab之间的一根梁。

"beams": [
        ["id1:", "id2:"],
        ["a","b"],
]

进阶示例

典型的梁示例,首先初始化后续梁将使用的全部属性。

{
    "beams": [
          ["id1:", "id2:"],
          //--车身--
          //车顶主形状纵向
          {"beamPrecompression":1, "beamType":"|NORMAL", "beamLongBound":1, "beamShortBound":1},
          {"beamSpring":1401000,"beamDamp":140},
          {"beamDeform":32700,"beamStrength":"FLT_MAX"},
          {"deformLimitExpansion":1.1},
          ["rf1r","rf2r"],
          ["rf1","rf2"],
          ["rf1l","rf2l"],
          ["rf2r","rf3r"],
          ["rf2","rf3"],
          ["rf2l","rf3l"],
          ["rf3r","rf4r"],
          ["rf3","rf4"],
          ["rf3l","rf4l"],
    ]
}

0.38.5.0 contains 833060 entries in 10985 sections distributed over 20043 parts in 5090 jbeam files.

上一次修订: 五月 19, 2026

还有其他问题?

加入我们的 Discord 服务器
Our documentation is currently incomplete and undergoing active development. If you have any questions or feedback, please visit this forum thread.