Un skybox è un cubo composto da sei immagini individuali che creano uno sfondo cielo immersivo in un gioco. Quando le immagini sono progettate per essere perfettamente allineate tra loro, lo skybox appare panoramico senza dare l'impressione di essere all'interno di un cubo. Questo fa sentire i giochi più grandi di quanto non siano realmente, e aggiunge profondità alla tua atmosfera, come simulare lo spazio profondo o ambienti sottomarini.
Inoltre, l'oggetto Sky include corpi celesti come sole, luna e stelle che appaiono, sorgono e tramontano dinamicamente in base al TimeOfDay o ClockTime.
Infine, l'oggetto Sky può essere utilizzato come cubemap per riflessioni in ViewportFrames. Per dettagli, vedere viewport frames.
Costruzione dello skybox
Se hai creato le tue immagini per lo skybox, devi prima importarle in Roblox prima di poterle utilizzare in uno skybox. Ogni immagine deve essere senza soluzione di continuità lungo tutti i bordi delle immagini adiacenti quando "piegata" in un cubo.

Per creare uno skybox:
Seleziona il nuovo oggetto Sky, quindi nella finestra Proprietà, assegna una texture a ciascuna delle seguenti proprietà del cielo:
- SkyboxBk — Il quadrato posteriore dello skybox.
- SkyboxDn — Il quadrato inferiore dello skybox.
- SkyboxFt — Il quadrato anteriore dello skybox.
- SkyboxLf — Il quadrato sinistro dello skybox.
- SkyboxRt — Il quadrato destro dello skybox.
- SkyboxUp — Il quadrato superiore dello skybox.

Corpi celesti
Per impostazione predefinita, l'oggetto Sky include corpi celesti come sole, luna e stelle. Questi corpi appaiono, sorgono e tramontano dinamicamente in base ai valori delle proprietà TimeOfDay o ClockTime.
Puoi personalizzare i corpi celesti tramite le seguenti proprietà:
- SunTextureId — Imposta la texture del sole.
- SunAngularSize — Imposta la dimensione relativa del sole in gradi.
- MoonTextureId — Imposta la texture della luna.
- MoonAngularSize — Imposta la dimensione relativa della luna in gradi.
- StarCount — Imposta il numero di stelle nello skybox.
Orientamento
La proprietà SkyboxOrientation cambia l'orientamento delle superfici dello skybox. La proprietà accetta un Vector3 di valori in gradi nell'ordine tipico XYZ, ma la rotazione è applicata prima attorno all'asse Y, poi X, e infine Z per consentire un controllo prevedibile su movimenti complessi.
Un modo semplice per scriptare un'animazione di orientamento è ruotare attorno all'asse Y (mantenendo l'orizzonte a livello), quindi inclinare questo asse impostando X e Z su un valore fisso. Il seguente script, ad esempio, anima l'asse Y per la rotazione mantenendo un'inclinazione costante di 30° sull'asse X.
local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local sky = Lighting:FindFirstChild("Sky")
local ROTATION_SPEED = 5 -- In gradi al secondo
RunService.Heartbeat:Connect(function(deltaTime)
sky.SkyboxOrientation = Vector3.new(
30,
(sky.SkyboxOrientation.Y + ROTATION_SPEED * deltaTime) % 360,
0
)
end)
Nota che l'orientamento dello skybox è una funzione a basso costo che funziona senza problemi su tutte le piattaforme e livelli di qualità visiva. Di conseguenza, alcune eccezioni intenzionali includono:
- Se il cielo è visibile in riflessioni interne come una superficie di specchio attraverso una finestra aperta, quella specifica vista riflessa non verrà ruotata. Raggiungere questo obiettivo richiederebbe un costoso ri-rendering e convoluzione dei cubemaps, il che impatterebbe significativamente le prestazioni e la disponibilità generale.
- Solo le superfici dello skybox ruotano; i corpi celesti non sono influenzati da questa proprietà.
- Se utilizzi un Sky all'interno di un ViewportFrame, rifletterà i valori globali di SkyboxOrientation. Non puoi regolare l'angolo per ViewportFrame.
- La funzionalità nuvole dinamiche sotto Terrain non è influenzata.
