Een luchtdoos is een kubus die is samengesteld uit zes afzonderlijke afbeeldingen die een meeslepende luchtachtergrond in een spel creëren. Wanneer de afbeeldingen zijn ontworpen om perfect op elkaar aan te sluiten, lijkt de luchtdoos panoramisch zonder de indruk te wekken dat je binnen een kubus bent. Dit zorgt ervoor dat spellen groter aanvoelen dan ze werkelijk zijn, en het voegt diepte toe aan je sfeer, zoals het simuleren van de diepe ruimte of onderwateromgevingen.
Bovendien bevat het Sky object hemellichamen zoals een zon, maan en sterren die dynamisch verschijnen, opkomen en ondergaan op basis van de TimeOfDay of ClockTime.
Ten slotte kan het Sky object worden gebruikt als een cubemap voor reflecties in ViewportFrames. Voor details, zie viewport frames.
Constructie van luchtdozen
Als je je eigen luchtdoosafbeeldingen hebt gemaakt, moet je ze eerst importeren naar Roblox voordat je ze in een luchtdoos kunt gebruiken. Elke afbeelding moet naadloos zijn langs alle randen van aangrenzende afbeeldingen wanneer ze "gevouwen" worden in een kubus.

Om een luchtdoos te maken:
Selecteer het nieuwe Sky object, en wijs in het Properties venster een textuur toe aan elk van de volgende lucht eigenschappen:
- SkyboxBk — Het achter vierkant van de luchtdoos.
- SkyboxDn — Het onder vierkant van de luchtdoos.
- SkyboxFt — Het voor vierkant van de luchtdoos.
- SkyboxLf — Het linker vierkant van de luchtdoos.
- SkyboxRt — Het rechter vierkant van de luchtdoos.
- SkyboxUp — Het boven vierkant van de luchtdoos.

Hemellichamen
Standaard bevat het Sky object hemellichamen zoals een zon, maan en sterren. Deze lichamen verschijnen dynamisch, komen op en gaan onder op basis van de TimeOfDay of ClockTime eigenschapswaarden.
Je kunt hemellichamen aanpassen via de volgende eigenschappen:
- SunTextureId — Stelt de textuur van de zon in.
- SunAngularSize — Stelt de relatieve grootte van de zon in graden in.
- MoonTextureId — Stelt de textuur van de maan in.
- MoonAngularSize — Stelt de relatieve grootte van de maan in graden in.
- StarCount — Stelt het aantal sterren in de luchtdoos in.
Oriëntatie
De eigenschap SkyboxOrientation verandert de oriëntatie van de luchtdoosoppervlakken. De eigenschap neemt een Vector3 van graadwaarden in de typische XYZ volgorde, maar rotatie wordt toegepast eerst rond de Y as, dan X, en dan Z om voorspelbare controle over complexe bewegingen mogelijk te maken.
Een gemakkelijke manier om een oriëntatie-animatie te script is om rond de Y as te draaien (terwijl de horizon op niveau blijft), en deze as te kantelen door X en Z op een vaste waarde in te stellen. Het volgende script, bijvoorbeeld, animeert de Y as voor draaien terwijl het een consistente kanteling van 30° op de X as behoudt.
local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local sky = Lighting:FindFirstChild("Sky")
local ROTATION_SPEED = 5 -- In graden per seconde
RunService.Heartbeat:Connect(function(deltaTime)
sky.SkyboxOrientation = Vector3.new(
30,
(sky.SkyboxOrientation.Y + ROTATION_SPEED * deltaTime) % 360,
0
)
end)Let op dat de oriëntatie van de luchtdoos een kosteneffectieve functie is die naadloos werkt op alle platforms en visuele kwaliteitsniveaus. Als gevolg hiervan zijn er enkele opzettelijke uitzonderingen:
- Als de lucht zichtbaar is in binnenreflecties zoals een spiegeloppervlak door een open raam, zal dat specifieke gereflecteerde uitzicht niet worden gedraaid. Dit zou dure her-rendering en convolutie van cubemaps vereisen, wat de prestaties en brede beschikbaarheid aanzienlijk zou beïnvloeden.
- Alleen de luchtdoosoppervlakken draaien; hemellichamen worden niet beïnvloed door deze eigenschap.
- Als je een Sky binnen een ViewportFrame gebruikt, zal het de globale SkyboxOrientation waarden reflecteren. Je kunt de hoek per ViewportFrame niet aanpassen.
- De dynamische wolken functie onder Terrain wordt niet beïnvloed.
