Uyku sistemi

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Roblox Motorunda her montaj bir tek sert vücut eşdeğerdir.Her sert vücudun konumu ve hızı, nerede bulunduğunu ve ne kadar hızlı hareket ettiğini tanımlar ve ana motor görevlerinden biri, her montajın konumlarını ve hızlarını güncelleştirmektir.

Bileşenler, mekanik kısıtlama ve hareket kısıtlaması ile birlikte bağlanabilir ve arabalar veya uçaklar gibi mekanizmalar oluşturabilir.Bir mekanizmadaki montaj ve kısıtlama sayısı arttıkça, mekanizmayı simüle etmek için gereken süre de artar.Neyse ki, bu artış, uyku sistemi motorun hareketsiz montajların simülasyonunu atlayabileceğini belirlediğinde telafi edilir.

Uyku durumları

Her birleşim üç devletten birinde olabilir: uyanık, uyku kontrolü veya uyku.

Uyanık

Uyanık bir montaj hareket ediyor veya hızlanıyor ve bu nedenle simüle ediliyor.Montajlar bu duruma uyku kontrolü ve uyku sırasında belirtilen durumlardan, ayrıca ek uyanma durumları dan girer.

Uyku kontrolü

En az bir uyanık komşu montajı ile bir sınır paylaşan hareketsiz bir montaj, uyku kontrolü durumuna yerleştirilir ve simüle edilmez.Her dünya adımında, bir uyku kontrolü montajı şunu kontrol eder:

Bu koşullardan herhangi biri doğruysa veya ekstra uyanma durumlarından herhangi biri altında, uyku kontrolü montajı uyanık duruma girer.

Uyku

Bir uyku montajı hareket etmiyor veya hızlanmıyor ve bu nedenle simüle edilmiyor.

Bir montaj, pozisyon sapmasının hareket etmediğini kontrol ederek belirlenir, yani en yakın dünya adımlarının merkezinden uzak olan noktanın ortalama konumundan maksimum sapma olarak hesaplanır.Bu sapma Yer değiştirme eşiğinden daha büyükse, montaj uyanık durumuna girer.

Bazı durumlarda, sadece hareketsizlik kontrol etmek bir montajın uyku durumuna yanlış girmesine neden olur.Örneğin, bir top doğrudan atılırsa, maksimum yüksekliğine yaklaştığı için bir dünya adımı sayısında neredeyse konumu değişmez, böylece uyku adayı olur ve asla geri dönmez.Bu gibi durumları ele almak için, motor, montajın hızlandırma ürününün ve mevcut zaman adımı büyüklüğünün Linear Velocity ve/veya Angular Velocity eşiğini aşıp aşmadığını izler.

Eşik referansı

Aşağıdaki tablo, bir montajın hareket edip edmediğini veya hızlandığını belirlemek için kullanılan çeşitli yer değiştirme ve hız sınırlarını sağlar.

Eşik DeğeriDeğerDevlet değişikliği
Komşu Taşıma0.01 çivileruyku kontrolüuyanık
Komşu Lineer Hızı0.2 mil/suyku kontrolüuyanık
Komşu Açısal Hızı0.2 radyand/saniyeuyku kontrolüuyanık
Taşıma0.001 saplamauyuyoruyanıyor
Lineer Hız0.1 saplama/suyuyoruyanıyor
Açısal Hız0.1 radyandan/saniyeuyuyoruyanıyor

Ek uyanma durumları

Uyku kontrolünde belirtilen durumlara ek olarak, uyku kontrolü ve uyku sırasında, bir montaj şu duruma girer:

Sorun giderme görselleştirmesi

Oynatma testi sırasında, 3B görüntü alanının sağ üst kısmındaki Uyanık parçalar düğmesinden Görselleştirme Seçenekleri widgetine geçerek montaj uyku durumlarını görselleştirebilirsiniz.

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

Bir kez etkinleştirildiğinde, simüle edilmiş parçalar mevcut uyku durumlarıyla çizilecek, uyanık parçalar kırmızıda çizilecek, uyku kontrolü parçaları turuncu ile çizilecek ve uyku parçaları belirtilmeyecek.

Mevcut uyku durumlarını temsil eden renk tarafından tanımlanan simüle edilmiş parçalar