A skrzynia nieba to kostka składająca się z sześciu pojedynczych obrazów, które tworzą wciągający tło nieba w doświadczeniu.Gdy obrazy są zaprojektowane w taki sposób, aby były doskonale zsynchronizowane ze sobą, niebo wydaje się być panoramiczne bez wrażenia bycia wewnątrz kostki.Sprawia to, że doświadczenia wydają się większe niż są w rzeczywistości, a dodaje głębi twojej atmosferze, takiej jak symulacja głębiej kosmosu lub środowisk podwodnych.
Ponadto obiekt Sky obejmuje niebieskie ciała, takie jak słońce, księżyc i gwiazdy, które dynamicznie pojawiają się, wzrastają i znikają w oparciu o TimeOfDay lub ClockTime.
Wreszcie obiekt Sky może być użyty jako mapa kostek do odzwierciedlenia w ViewportFrames . Dla szczegółów zobacz ramy widoku .
Konstrukcja Skybox
Jeśli stworzyłeś własne obrazy skybox, musisz najpierw 导入 je do Roblox, zanim będziesz mógł ich używać w skybox.Każde obraz musi być bezszwowe wzdłuż wszystkich krawędzi sąsiednich obrazów, gdy zostanie "złożone" w kostkę.

Aby utworzyć skrzynię nieba:
Wybierz nowy obiekt Sky, a następnie w oknie Właściwości przypisz teksturę do każdej z poniższych właściwości nieba:
- SkyboxBk — tył kwadratu skrzynki nieba.
- SkyboxDn — dół kwadratu skrzynki nieba.
- SkyboxFt — Przednią kwadratową powierzchnię skrzynki nieba.
- SkyboxLf — lewe kwadratowe niebo skrzynki.
- SkyboxRt — Prawe kwadratowe pudełko w skyboxie.
- SkyboxUp — Wysokość w górze kwadratu skybox.
Ciała niebieskie
Domyślnie obiekt Sky zawiera niebieskie ciała, takie jak słońce, księżyc i gwiazdy.Te ciała dynamicznie pojawiają się, rosną i są ustawiane w oparciu o wartości właściwości TimeOfDay lub ClockTime.
Możesz dostosować ciała niebieskie za pomocą następujących właściwości:
- SunTextureId — Ustawia teksturę słońca.
- SunAngularSize — Ustawia względną wielkość słońca w stopniach.
- MoonTextureId — Ustawia teksturę księżyca.
- MoonAngularSize — Ustawia względną wielkość księżyca w stopniach.
- StarCount — Ustawia ilość gwiazd w skrzynce nieba.
Orientacja
Właściwość SkyboxOrientation zmienia orientację powierzchni skrzynki nieba.Właściwość bierze Vector3 wartości stopnia w typowym XYZ porządku, ale rotacja jest zastosowana najpierw wokół osi Y , a następnie X i Z w celu umożliwienia przewidywalnej kontroli nad skomplikowanymi ruchami.
Łatwym sposobem na skryptowanie animacji orientacji jest obrócenie wokół osi Y (zachowując poziom horyzontu), a następnie nachylenie tej osi poprzez ustawienie X i Z na stałą wartość.Poniższy skrypt, na przykład, animuje osię Y na osi obrotowej, zachowując stały nachył 30° na osi X .
local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local sky = Lighting:FindFirstChild("Sky")
local ROTATION_SPEED = 5 -- W stopniach na sekundę
RunService.Heartbeat:Connect(function(deltaTime)
sky.SkyboxOrientation = Vector3.new(
30,
(sky.SkyboxOrientation.Y + ROTATION_SPEED * deltaTime) % 360,
0
)
end)
Zauważ, że orientacja w kształcie nieba jest nisko kosztową funkcją, która działa bezproblemowo na wszystkich platformach i poziomach jakości wizualnej.W rezultacie niektóre celowe wyjątki obejmują:
- Jeśli niebo jest widoczne w odbiciach wewnątrz, takich jak powierzchnia lustra za pośrednictwem otwartego okna, odzwierciedlony obraz nie zostanie obrócony.Osiągnięcie tego wymagałoby kosztownego ponownego renderowania i konwolucji map kostkowych, które znacząco wpłynęłyby na wydajność i szeroką dostępność.
- Tylko powierzchnie skrzynki nieba się obracają; ciała niebieskie nie są dotknięte tą właściwością.
- Jeśli wykorzystujesz Sky wewnątrz ViewportFrame, odzwierciedli on globalne wartości SkyboxOrientation. Nie możesz dostosować kąta za każdym razem, gdy ViewportFrame .
- Funkcja dynamicznych chmur nie jest dotknięta pod Terrain ł.