三角形

三角形(Triangle),又称碰撞三角形(Coltri),是填充节点(Node)间空间的表面(Surface)。它们在实现车辆间碰撞中起根本作用,也被用于定义物体的空气动力学属性。

三角形由3个节点定义,按逆时针顺序选定。

碰撞

三角形的主要功能是能让JBeam对象(车辆和道具)发生碰撞。需要注意的是碰撞三角形只与节点碰撞,不会与其它碰撞三角形和静态地图物体碰撞。

三角形有两面,通过三角形调试视图(Traingle View Debug)中的绿色和紫色来区分正面和反面。虽两面都具有碰撞和空气动力学属性,但建议将三角形的正面朝外,因为这将减小剧烈碰撞中的穿模。您可用通过翻转其任意2个节点来翻面。

空气动力学

BeamNG中的空气动力学系统的原理是只基于气流速度、三角形的表面积和阻力(Drag)特性计算出所有三角形上的阻力。阻力和升力(Lift Force)会作用到相邻的节点。三角形不会受其它三角形影响,这意味着您车辆尾部的三角形仍会产生完整的阻力。

因此,您可能需要根据各个部件在气流中的暴露程度来微调其阻力系数。您也能添加表面来模拟地面效应,或微调车辆的升力分布。

系统基于三角形相对于气流的攻角模拟升力,意味着三角形上倾将产生升力,三角形下倾将产生下压力。更大的攻角将产生更多升力,只要不超过失速角,超过失速角后升力将会随着攻角增大而减小。

压力模拟

封闭体积(Enclosed Volume)可用于压力模拟。这用于使物体漂浮,也适用于轮胎和床垫这类类似气球的物体。

使用压力模拟系统时,确保封闭体积是没有表面缺失和凹表面的规则形状,以避免虚假力(Ghost Force)。

必要参数

"triangles": [
        ["id1:","id2:","id3:"],
        ["a", "b", "c"],
],
string
type
定义三角形的第一个节点的ID
string
type
定义三角形的第二个节点的ID
string
type
定义三角形的第三个节点的ID

可选参数

number
type
100
default
三角形相对于相同大小平面的阻力系数百分比
对于大多数暴露在外的车身面板的参考值为10左右。
float
type
0
default
三角形相对于相同大小平面的表面阻力系数百分比
额外的定义平行于三角形表面而于三角形表面相交的阻力系数。用于模拟泥地轮胎的桨状胎面(Paddle-Like Tread)。通常不作其它用途。
number
type
dragCoef
default
三角形相对于相同大小平面的升力系数百分比
尾翼(Spoiler)的常用值为80到120。
number
type
0.58
default
三角形开始失速并升力减小时的攻角的弧度
string
type
NORMALTYPE
default

可用的triangleType(三角形种类)为:

“NORMALTYPE” : 适用于大多数情况。

“NONCOLLIDABLE” : 无碰撞,仅防穿模(Anticlip)。用于确保防穿模系统处理悬挂和排气等有碰撞但无三角形的节点时工作正常。

string
type
将一组三角形定义为压力体积(pressure volume)。用于浮力和气压模拟。
number
type
以 PSI 为单位设置 pressureGroup 的压强
number
type
以帕(Pascal)为单位设置pressureGroup的压强
string/table
type
用于当相同breakGroup中的beams触发时三角形可以发生断裂

通常,三角形在构成其边的梁之一断裂时断裂。breakGroup可使该行为延伸至其它三角形的梁。这对于断裂两个大型的车辆部件间的三角形很有帮助,例如车身和大梁。

当参数为string,三角形附属于一个单独指定的breakGroup。这是个一般示例。

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

当参数为table,三角形同时属于所有指定的breakGroup。这意味其将在这些breakGroup中的任意梁断裂时自动断裂。这在实践中很少使用,并且这不受梁可视化调试模式(Beam Visualization Debug Mode)支持。

["a","b","c", {"breakGroup":["group_1","group_2"]}],
bool
type
false
default
当三角形的节点之一缺失时停用报错
这适用于三角形的节点之一位于可选部件的情况。
string
type
asphalt
default
三角形的地面材质(groundModel),决定摩擦行为

As of version 0.38.5.0 the following physics materials are available:
METAL, PLASTIC, RUBBER, GLASS, WOOD, FOLIAGE, CLOTH, WATER, ASPHALT, ASPHALT_WET, SLIPPERY, ROCK, DIRT_DUSTY, DIRT, SAND, SANDY_ROAD, MUD, GRAVEL, GRASS, ICE, SNOW, FIRESMALL, FIREMEDIUM, FIRELARGE, SMOKESMALLBLACK, SMOKEMEDIUMBLACK, STEAM, RUMBLE_STRIP, COBBLESTONE, FOLIAGE_THIN, SPIKE_STRIP

三角形在groundModels中应使用小写命名。参数解释在此。

spike_strip groundModel是个特例:若车辆轮胎的节点之一接触此groundModel,该轮胎将放气。

string
type
设置碰撞检测系统的偏移(Bias)

可取的值是"in"和"out",参数为空将不会发生偏移。在偏移侧,碰撞三角形会物理的“厚”,以更早检测碰撞。厚碰撞(Thicker Collision)意味着高速撞击时不易穿模,薄(Thinner)碰撞意味着生成(Spawn)时结构能放置得更紧密。

这对非常小的对象很有用它们通常只有一侧会碰撞。

简易示例

这是个节点a、b和c间的三角形。

"triangles": [
        ["id1:","id2:","id3:"],
        ["a", "b", "c"],
],

这是个节点a、b和c间阻力系数为45的三角形。

"triangles": [
        ["id1:","id2:","id3:"],
        ["a", "b", "c", {"dragCoef":45}],
],

进阶示例

定义了升力系数和失速角(Stall Angle)的典型尾翼。

    "triangles": [
        ["id1:","id2:","id3:"],
        {"dragCoef":35},
        {"groundModel":"plastic"},
        ["wing3ll","wing2ll","wing1l", {"liftCoef":90, "stallAngle":0.55}],
        ["wing2ll","wing2l","wing1l", {"liftCoef":90, "stallAngle":0.55}],

        ["wing1l","wing2l","wing2", {"liftCoef":90, "stallAngle":0.55}],
        ["wing1l","wing2","wing1", {"liftCoef":90, "stallAngle":0.55}],
    ],
上一次修订: 五月 20, 2026

还有其他问题?

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