物理

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

Roblox 使用刚体物理引擎。 BaseParts 受到物理力量的影响,只要它们没有被设置为 Anchored。你可以通过附件和约束创建物理 组件,并可以使用事件和碰撞过滤来检测和控制对象之间的 碰撞

组件

一个 组件 是一个或多个通过刚性约束或电动机(动画刚性关节)连接的 BaseParts。组件可以设置初始线性或角速度,或者其行为可以通过 约束 进行影响。

一个浅蓝色的立方体,背景为深蓝色,代表一个包含 1 个部件的组件。
1 组件; 1 部件
一个类人角色模型,背景为深蓝色,代表一个包含 18 个部件的组件。
1 组件; 18 部件
一个海盗,代表一个由 179 个部件组成的组件。
1 组件; 179 部件

约束

非锚固的组件会对重力和碰撞产生反应,但物理力量也可以通过 机械约束移动约束 来施加和模拟。

机械约束包括熟悉的物体,如 铰链弹簧绳索,可以用来构建机制。每种约束在 机械约束 指南中都有摘要。

碰撞

当两个 BaseParts 在 3D 世界中接触或停止接触时,碰撞事件会自动发生。你可以通过 TouchedTouchEnded 事件来 检测 这些碰撞,这些事件会在任一部件的 CanCollide 属性值不管的情况下发生。

通过 碰撞过滤 技术,如碰撞组或部件间过滤,你可以控制哪些物理组件与其他组件碰撞。

有关检测和过滤碰撞的更多详细信息,请参阅 碰撞 指南。

网络所有权

为了支持复杂的物理机制,同时也希望为玩家提供流畅和响应迅速的体验,Roblox 物理引擎利用了 分布式物理 系统,其中计算在服务器和所有连接的客户端之间分配。在此系统中,引擎将物理模拟的 BaseParts网络所有权 分配给客户端或服务器,以分配计算物理的工作量。有关更多详细信息,请参阅 网络所有权 指南。

自适应时间步长

该引擎通过自动将组件分配给三种模拟速率之一来强调最佳性能。对于包含复杂机制(如坦克)的场景,可以通过设置固定时间步长来提高稳定性。有关更多信息,请参阅 自适应时间步长 指南。

睡眠系统

当组件不移动或加速时,Roblox 物理引擎通过自动停止模拟该组件来提高性能。有关详细信息,请参阅 睡眠系统 指南。

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。