Eine Skybox ist ein Würfel, der aus sechs einzelnen Bildern besteht, die einen immersiven Himmelshintergrund in einem Erlebnis erzeugen.Wenn die Bilder so gestaltet sind, dass sie perfekt zueinander ausgerichtet sind, erscheint die Skybox wie eine Panoramakamera ohne den Eindruck, in einem Würfel zu sein.Das macht Erlebnisse größer als sie wirklich sind, und es fügt Tiefe zu deiner Atmosphäre hinzu, wie z. B. die Simulation von tiefem Weltraum oder unterwasser Umgebungen.
Zusätzlich enthält das Objekt Sky Himmelskörper wie Sonne, Mond und Sterne, die dynamisch erscheinen, steigen und sinken, basierend auf der TimeOfDay oder ClockTime.
Schließlich kann das Objekt Sky als Kubenkarte für Reflexionen in ViewportFrames verwendet werden. Für Details siehe Ansichtsfenster-Frames .
Skybox-Konstruktion
Wenn du deine eigenen Skybox-Bilder erstellt hast, musst du sie zuerst importieren in Roblox, bevor du sie in einer Skybox verwenden kannst.Jedes Bild muss nahtlos entlang von allen Kanten der benachbarten Bilder sein, wenn es "zugeklappt" in einen Kubus gebracht wird.

Um eine Skybox zu erstellen:
Wähle das neue Sky Objekt aus, dann weise im Eigenschaften Fenster eine Textur für jede der folgenden Himmels-Eigenschaften zu:
- SkyboxBk — Das hintere Quadrat der Skybox.
- SkyboxDn — Das unten Quadrat der Skybox.
- SkyboxFt — Das Vorderseite Quadrat der Skybox.
- SkyboxLf — Das linke Quadrat der Skybox.
- SkyboxRt — Das rechte Quadrat der Skybox.
- SkyboxUp — Das obere Quadrat der Skybox.
Himmlische Körper
Standardmäßig enthält das Objekt Sky himmlische Körper wie Sonne, Mond und Sterne.Diese Körper erscheinen dynamisch, steigen und werden basierend auf den TimeOfDay oder ClockTime Eigenschaftswerten festgelegt.
Du kannst Himmelskörper durch die folgenden Eigenschaften anpassen:
- SunTextureId — Legt die Textur der Sonne fest.
- SunAngularSize — Legt die relative Größe der Sonne in Grad fest.
- MoonTextureId — Legt die Textur des Mondes fest.
- MoonAngularSize — Legt die relative Größe des Mondes in Grad fest.
- StarCount — Legt die Anzahl der Sterne in der Skybox fest.
Orientierung
Die SkyboxOrientation-Eigenschaft ändert die Orientierung der Skybox-Oberflächen.Die Eigenschaft nimmt einen Vector3 Gradwert in der typischen XYZ -Reihenfolge auf, aber die Rotation wird angewendet zuerst um die Y -Achse herum, dann X und dann Z , um vorhersehbare Kontrolle über komplexe Bewegungen zu ermöglichen.
Eine einfache Möglichkeit, eine Orientierungsanimation zu skripten, besteht darin, die Y -Achse zu drehen (den Horizontpegel beibehalten) und dann diese Achse durch die Einstellung von X und Z auf einen festen Wert zu neigen.Das folgende Skript animiert zum Beispiel die Y -Achse für die Drehung, während eine konstante Neigung von 30° auf der X -Achse beibehalten wird.
local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local sky = Lighting:FindFirstChild("Sky")
local ROTATION_SPEED = 5 -- Ingrad pro Sekunde
RunService.Heartbeat:Connect(function(deltaTime)
sky.SkyboxOrientation = Vector3.new(
30,
(sky.SkyboxOrientation.Y + ROTATION_SPEED * deltaTime) % 360,
0
)
end)
Beachten Sie, dass die Skybox-Orientierung eine kostengünstige Funktion ist, die nahtlos auf allen Plattformen und visuellen Qualitätsstufen funktioniert.Als Ergebnis beinhalten einige absichtliche Ausnahmen:
- Wenn der Himmel in Innenreflexionen wie einer Spiegelfläche durch ein offenes Fenster sichtbar ist, wird diese spezifische reflektierte Ansicht nicht gedreht.Dies würde eine teure Neubildung und Verknüpfung von Kubenkarten erfordern, die die Leistung und die allgemeine Verfügbarkeit erheblich beeinträchtigen würden.
- Nur die Skybox-Oberflächen rotieren; Himmelskörper werden durch diese Eigenschaft nicht beeinträchtigt.
- Wenn du eine Sky innerhalb einer ViewportFrame verwendest, werden die globalen SkyboxOrientation Werte reflektiert. Du kannst den Winkel nicht pro ViewportFrame anpassen.
- Die dynamischen Wolken-Funktion unter Terrain ist nicht betroffen.