Roblox 使用剛體物理引擎。 BaseParts 受物理力量的影響,只要它們不是 Anchored。您可以使用附加件和約束來創建物理 組件,並且可以通過事件和碰撞過濾來檢測和控制對象之間的 碰撞。
組件
一個 組件 是一個或多個通過剛性約束或馬達(動畫剛性關節)連接的 BaseParts。組件可以設定初始的線性或角速度,或者其行為可以通過 約束 受到影響。



約束
未固定的組件會對重力和碰撞產生反應,但也可以通過 機械約束 或 移動約束 施加和模擬物理力量。
機械約束包括熟悉的物體,如 鉸鏈、彈簧 和 繩子,可以用來構建機械裝置。每個內容在 機械約束 指南中都有所總結。
碰撞
當兩個 BaseParts 在3D世界中接觸或停止接觸時,自動會發生碰撞事件。您可以通過 Touched 和 TouchEnded 事件來 檢測 這些碰撞,這些事件無論任一部分的 CanCollide 屬性值如何,均會發生。
通過 碰撞過濾 技術,例如碰撞組或部分間過濾,您可以控制哪些物理組件與其他組件碰撞。
有關檢測和過濾碰撞的更多詳細信息,請參閱 碰撞 指南。
網路擁有權
為了支持複雜的物理機制,同時為玩家提供流暢和靈敏的體驗,Roblox物理引擎利用了 分佈式物理 系統,其中計算在伺服器和所有連接的客戶端之間分配。在該系統中,引擎將物理模擬的 BaseParts 的 網路擁有權 指派給客戶端或伺服器,以分配計算物理的工作。請參閱 網路擁有權 指南以獲取更多詳細信息。
自適應時間步進
引擎通過自動將組件分配到三種模擬速率之一來強調最佳性能。對於具有複雜機械的場景,如坦克,通過設置固定時間步進可以提高穩定性。請參閱 自適應時間步進 指南以獲取更多信息。
睡眠系統
當一個組件不移動或加速時,Roblox物理引擎通過自動停止模擬該組件來提高性能。請參閱 睡眠系統 指南以獲取詳細信息。