Roblox 物理引擎通过牛顿第二运动定律模拟 3D 工作区中的所有部件。此运动定律通过 时间步长 随时间求解,并且在 Roblox 中,一个时间步长是在 世界步长 内完成的。
默认情况下,Roblox 以 240 Hz 模拟物理。考虑到每秒约 60 帧的周期,每帧大约前进 4 个世界步长。通过 自适应时间步长,物理引擎自动将部件分配到三个“求解岛”,通过改变它们的仿真时间步长,强调以 60 Hz 为最佳性能。然而,解决起来“更难”的部件将使用较快的时间步长,例如 240 Hz,以确保物理稳定性。

分配标准可能会有所变化,但分配到 240 Hz 岛的部件包括具有高速度值、高加速度值和复杂机制的 组件,这些机制较难解决。
启用自适应模式
要在 Studio 中启用自适应时间步长:
在 资源管理器 窗口中,选择 工作区 对象。

在 属性 窗口中,找到 PhysicsSteppingMethod 并选择 Adaptive。

要观察时间步长过程在行动中,您可以打开 Studio 微型分析器(CtrlF6; ⌘F6)。一旦游戏运行,请按 CtrlP(⌘P)暂停在当前帧。
在名为 physicsStepped 的范围下,观察 worldStep 的范围名称现在显示为 worldStep - Adaptive。

将光标悬停在 LDLPGSSolver::solve 上,将显示各个频率桶中属于多少个岛屿的状态;1dt 岛屿(240 Hz),2dt 岛屿(120 Hz)和 4dt 岛屿(60 Hz)。

调试可视化
在测试期间,可视化模拟部件的频率可能会很有用。要启用此选项:
- 打开 Studio 设置。
- 在 物理 选项卡中,启用 显示时间步长。
启用后,模拟的部件将根据其当前的仿真速率进行轮廓。如果一个部件停止被模拟,不论是通过 睡眠系统 还是网络所有权更改,部件将不再有轮廓。

固定速率场景
自适应时间步长可以提高物理性能,最高可达 2.5 倍,且在大多数情况下是推荐使用的。然而,有些游戏应使用 固定 模式(240 Hz),包括:
需要高度准确的模拟和稳定性的游戏,例如竞速游戏、“破坏”模拟或具有复杂机制(如坦克)的游戏。
大多数部件默认到 240 Hz 求解岛的模拟(在 调试 时红色轮廓)。当 240 Hz 岛与不同频率(60–120 Hz)的岛相互作用时,这些岛将转换为 240 Hz,这可能会抵消由自适应时间步长带来的任何性能提升。