Hệ thống ngủ

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Mỗi tập hợp trong Roblox Engine tương ứng với một đối tượng cứng duy nhất. Vị trí và vận tốc của mỗi đối tượng cứng mô tả nơi nó được đặt và tốc độ di chuyển của nó, và một trong những nhiệm vụ chính của động cơ là cập nhật vị trí và vận tốc của từng tập hợp.

Các tập hợp có thể được kết nối với nhau bằng ràng buộc cơ họcràng buộc di chuyển để tạo ra các cơ chế như ô tô hoặc máy bay. Khi số lượng tập hợp và ràng buộc trong một cơ chế tăng lên, thời gian cần để mô phỏng cơ chế cũng tăng lên. May mắn thay, sự gia tăng này được bù đắp khi hệ thống ngủ xác định rằng động cơ có thể bỏ qua việc mô phỏng các tập hợp không di chuyển.

Trạng thái ngủ

Mỗi tập hợp có thể ở một trong ba trạng thái: thức, ngủ, hoặc kiểm tra ngủ.

Thức

Một tập hợp thức đang di chuyển hoặc tăng tốc, và do đó được mô phỏng. Các tập hợp vào trạng thái này từ các tình huống được nêu trong ngủkiểm tra ngủ, cũng như các tình huống thức bổ sung.

Ngủ

Một tập hợp ngủ không di chuyển và không tăng tốc, và do đó không được mô phỏng.

Một tập hợp được xác định là không di chuyển bằng cách kiểm tra vận tốc tuyến tínhvận tốc xoay của nó. Nếu vận tốc tuyến tính của nó nhỏ hơn ngưỡng Vận tốc Tuyến tính và vận tốc xoay của nó nhỏ hơn ngưỡng Vận tốc Xoay, tập hợp được coi là không di chuyển.

Trong một số trường hợp, việc kiểm tra đơn giản xem có di chuyển hay không có thể khiến một tập hợp vào trạng thái ngủ một cách sai lầm. Ví dụ, nếu một quả bóng được ném thẳng lên, vận tốc của nó sẽ tiến gần đến zero khi nó đạt đến độ cao tối đa, khiến nó trở thành một ứng viên để ngủ và không bao giờ rơi xuống. Để xử lý các trường hợp như vậy, động cơ coi một tập hợp đang tăng tốc nếu gia tốc tuyến tính hoặc gia tốc xoay của nó lớn hơn các ngưỡng Gia tốc Tuyến tínhGia tốc Xoay, tương ứng, và sẽ ngăn tập hợp ngủ.

Kiểm tra ngủ

Một tập hợp không di chuyển chia sẻ một ràng buộc với ít nhất một tập hợp thức láng giềng được đưa vào trạng thái kiểm tra ngủ và không được mô phỏng. Trong mỗi bước thế giới, một tập hợp đang kiểm tra ngủ kiểm tra xem:

Nếu bất kỳ điều kiện nào trong số này đúng, hoặc trong bất kỳ tình huống thức bổ sung nào, tập hợp kiểm tra ngủ sẽ vào trạng thái thức.

Tham chiếu ngưỡng

Bảng sau cung cấp các ngưỡng về vận tốc và gia tốc khác nhau được sử dụng để xác định xem một tập hợp có đang di chuyển hoặc tăng tốc hay không.

NgưỡngGiá trịThay đổi trạng thái
Vận tốc Tuyến tính0.33 studs/sthứcngủ
Vận tốc Xoay0.42 studs/sthứcngủ
Gia tốc Tuyến tính0.24 studs/s²thứcngủ
Gia tốc Xoay0.24 studs/s²thứcngủ
Vận tốc Tuyến tính Láng giềng0.48 studs/skiểm tra ngủthức
Vận tốc Xoay Láng giềng0.59 studs/skiểm tra ngủthức
Gia tốc Tuyến tính Thức16.9 studs/s²thứcngủ
Gia tốc Xoay Thức16.9 studs/s²thứcngủ

Ngưỡng vận tốc và gia tốc xoay phản ánh vận tốc và gia tốc của một điểm nằm trên hình cầu giới hạn của tập hợp (một hình cầu chứa tất cả các bộ phận trong một tập hợp) mà di chuyển cứng với tập hợp.

Khớp tác động

Đôi khi các nhà phát triển muốn di chuyển các bộ phận rất chậm bằng cách sử dụng một khớp tác động, một ràng buộc áp dụng lực hoặc chuyển động để điều khiển các bộ phận kết nối, chẳng hạn như một HingeConstraint sử dụng Motor. Để hỗ trợ các tình huống này, các tập hợp được kết nối với các khớp tác động sử dụng ngưỡng tốc độ ngủ nghiêm ngặt hơn. Điều này làm chậm thời gian khi các tập hợp đó ngủ, cho phép chuyển động chậm, có kiểm soát mà không bị hệ thống vật lý đưa vào ngủ một cách sớm.

Các khớp tác động sau đây được coi là:

Các tình huống thức bổ sung

Ngoài các tình huống được nêu trong kiểm tra ngủngủ, một tập hợp vào trạng thái thức khi:

Hiển thị gỡ lỗi

Trong quá trình kiểm tra chơi, bạn có thể hình dung trạng thái ngủ của tập hợp bằng cách bật Các phần Thức từ widget Tùy chọn Hiển thị ở góc trên bên phải của không gian 3D.

Một cái nhìn gần của không gian 3D với nút Tùy chọn Hiển thị được chỉ ra ở góc trên bên phải.

Khi đã bật, các bộ phận được mô phỏng sẽ được đánh dấu bằng trạng thái ngủ hiện tại của chúng, với các phần thức được đánh dấu bằng màu đỏ, các phần kiểm tra ngủ được đánh dấu bằng màu cam, và các phần ngủ không được đánh dấu.

Các phần được mô phỏng được đánh dấu bằng màu sắc đại diện cho trạng thái ngủ hiện tại của chúng
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.