Skip to content

赛道-–-几何碰撞体

汉化标题:赛道-–-几何碰撞体
原文标题:Tracks-–-Geometric-colliders
汉化更新时间:2026-01-14 16:56:41 +0800
英文原文最新更新时间:2022-06-13 01:18:53 +0300

最初,AC 中赛道可用的碰撞体类型只有网格碰撞体(mesh collider),这对于赛道表面和墙体等非常合适,但对于某些其他类型的障碍物(例如灯杆),网格碰撞体可能不是最佳选择。例如,如果你有一堆建筑物或薄的双面墙,将包含所有墙体的网格替换为盒形碰撞体可能会带来性能和稳定性上的提升。

语法

ini
; data/surfaces.ini:

[_EXTENSION]
COLLIDER_DEBUG = 1  ; 设置为 1 时,碰撞体轮廓将被高亮(同时如果设置了,还将支持碰撞体的实时重载)

; 胶囊碰撞体:类似于圆柱,但在两端有半球,比圆柱更快;适合灯杆等物体
[COLLIDER_CAPSULE_...]
RADIUS = 0.5         ; 胶囊半径

; 位置和朝向可以这样定义:
LENGTH = 10          ; 胶囊长度(米)
POSITION = X, Y, Z   ; 胶囊中心在世界坐标中的位置
DIRECTION = 0, 1, 0  ; 方向(此处为垂直)

; 或者这样定义:
FROM = X, Y, Z       ; 起点(世界坐标)
TO = X, Y, Z         ; 终点(世界坐标)

; 圆柱碰撞体:类似胶囊,但两端为平盖,接近真实圆柱
[COLLIDER_CYLINDER_...]
... ; 参数与胶囊相同

; 球碰撞体:最快的常规碰撞体选项
[COLLIDER_SPHERE_...]
POSITION = X, Y, Z   ; 在世界坐标中的位置
RADIUS = 5           ; 半径(米)

; 盒形碰撞体
[COLLIDER_BOX_...]
POSITION = X, Y, Z   ; 在世界坐标中的位置
SIZE = 10, 1, 5      ; 尺寸(米):宽度、高度、长度
DIRECTION = 0, 0, 1  ; 方向向量
UP = 0, 1, 0         ; 向上的向量(用于倾斜的盒子)

; 平面碰撞体:平面内部一侧的所有物体都会被推到外面;可能
; 适用于底层地面?或用于阻挡无法进入的区域?
[COLLIDER_PLANE_...]
POSITION = X, Y, Z   ; 平面位置
NORMAL = 0, 1, 0     ; 平面法线

此外,每个碰撞体可以具有这些属性:

ini
[COLLIDER_SPHERE_...]
NAME = my_collider   ; 名称;用于自定义碰撞参数的碰撞体过滤器
LAYER = 255          ; 碰撞体层
COLOR = R, G, B, A   ; 调试模式下轮廓可见的颜色

有关碰撞参数的更多信息,请参阅此处。至于层(layers),具有相同层的碰撞体会被分组,当 CSP 检查车辆与碰撞体的相交时,会先检查车辆与碰撞体组之间的相交,因此将附近的碰撞体分组到单独的层可能是个好主意。不过不必过于担心:我希望将来能加入某种功能,使 CSP 自动将碰撞体分组成最优组。

注意:你可以使用新的 Render Stats 应用中的 “Other threads” 按钮查看物理进行碰撞检测步骤所花费的时间。