Skrzynie nieba

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

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:

  1. W oknie Eksploratora wstaw obiekt Sky do usługi Lighting.

  2. 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:

    • SkyboxBktył kwadratu skrzynki nieba.
    • SkyboxDndół kwadratu skrzynki nieba.
    • SkyboxFt — Przednią kwadratową powierzchnię skrzynki nieba.
    • SkyboxLflewe 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:

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 ł.