睡眠系統

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

在 Roblox 引擎中的每個 組合體 對應單個 剛體。位置和速度的每個剛體描述其位置和速度,並且是一個主要的引擎任務更新位置和速度的每個組合體。

組合件可以與 機械限制移動器限制 連接在一起,以形成機制,例如汽車或飛機。當機器中的組合件數量和限制增加時,模擬機器所需的時間也會增加。幸運的是,這種增加是在 睡眠系統 決定發生非運動為semblages的模��

睡眠狀態

每個組裝可以在三個狀態之一:醒來睡眠檢查睡眠

醒來

一個 醒來 組裝正在移動或加速,因此是在模擬中。 組裝從情況中進入此狀態,例如 睡眠檢查 和 睡眠 ,以及 2>額外醒來情況2>。

睡眠檢查

一個不會移動的裝置,與至少一個 醒來 的鄰近裝置共享約束,將放入 睡眠監視 狀態,並且不會模擬。在每個世界步驟中,睡眠監視裝置檢查:

如果其中任何一個條件是真的,或者在任何一個 額外的醒來情況 下,睡眠檢查組會進入 醒來 狀態。

睡眠

A 睡眠 組裝不會移動或加速,因此不會模擬。

如果檢查位置偏移,將決定其為非移動狀態,計算為點最遠離其中心點最大偏移值。如果此偏移值大於 位置 閾值,則為狀態 醒來 。

在某些情況下,只要檢查非移動即可導致裝配錯誤地進入睡眠狀態。例如,如果一顆球直接上升,其位置幾乎不會改變在一個世界步驟接近最大高度時,它變成睡眠狀態並且

門檻參考

下表提供各種移動和速度閾值,用於決定是否有移動或加速。

門檻價值狀態變更
鄰居搬遷0.01 英吋睡眠檢查 ► ◊ 醒來</◊
鄰居線性速度0.2 英吋/秒睡眠檢查 ► ◊ 醒來</◊
鄰居角度速度0.2 公尺/秒睡眠檢查 ► ◊ 醒來</◊
位置0.001 英吋睡覺 ↡ ↡ ↡ ↡ ↡
直線速度0.1 公尺/秒睡覺 ↡ ↡ ↡ ↡ ↡
角度速度0.1 公尺/秒睡覺 ↡ ↡ ↡ ↡ ↡

額外的醒來情況

除了在 睡眠檢查睡眠 中描述的情況外,一個組裝會在 醒來 狀態時進入 1>睡眠狀態1>:

Debugging 視覺化

在玩測中,您可以通過切換 目覺化選項 從 3D 視角窗上方右角的 Awake 零件 來視覺化裝配睡眠狀態。

A close up view of the 3D viewport with the Visualization Options button indicated in the upper-right corner.

啟用時,將以紅色顯示醒來狀態的零件,並且以橙色顯示睡眠狀態的零件,以及以 醒來 零件以下列出,以及以 睡眠檢查 零件以下列出,以及以 睡眠 零件未列出。

以代表其目前睡眠狀態的顏色續寫模擬零件