Skybox ( engelsk sky - " sky " og box - "box") er et objekt i tredimensionel grafik , der spiller rollen som himlen og horisonten . Det er en simpel tredimensionel model (normalt en terning ), fra indersiden af hvilken himmelteksturen strækkes (den såkaldte " kubiske tekstur " ).
Behandling af 3D-grafik kræver en masse regnearbejde, så det ville være spild at "ærligt" beregne objekter i horisonten i spil . Derudover har 3D-hardware Z-buffere , som på grund af begrænset bithed kasserer alt, hvad der er langt fra kameraet [1] . Derfor er fjerne objekter afbildet på en ekstremt primitiv måde: i form af en terning, hvis seks ansigter er himlens og horisontens teksturer. Hvis du viser denne terning, så kameraet er præcis i midten, vil det se ud til, at himlen og bjergene faktisk er synlige gennem kameraet.
Skyboxen følger altid kameraet, så objekterne afbildet på skyboxen ser ud til at være langt væk i det uendelige. Motoren gengiver skyboxen hver frame først ved at deaktivere Z-buffering [2] .
Høje objekter som tårne , der er synlige fra ethvert punkt i niveauet, tegnes normalt ikke på skyboxen - de har ikke brug for illusionen om "uendelig afstand", men tværtimod en bestemt position i rummet. Men der er undtagelser fra reglen, når skyboxes viser enorme strukturer designet til at vise, hvad der er uden for spilniveauet. Lignende skyboxes kan ses i Quake II , Quake 4 , The Chronicles of Riddick: Escape from Butcher Bay osv.
Alt kan være en teksturkilde: et fotografi, en tegning eller en 3D- gengivelse .
For på en eller anden måde at "genoplive" himlen, begyndte udviklere siden slutningen af 1990'erne at tilføje noget geometri til skyboxen - for eksempel lag af skyer og stjerner i Unreal [3] og realMyst . I Grand Prix 3 er den cylindriske horisont og den sfæriske himmel adskilt fra hinanden på grund af kravet om dynamisk at ændre vejret på banen.
I nyere spil er skyboxes opbygget af flere lag, der følger spilleren med en ujævn hastighed . Sådan er Citadellets tårn modelleret i Half-Life 2 . I niveauerne placeret inde i Citadellet er de øverste etager af tårnet, som spilleren ikke har adgang til, også en del af den tredimensionelle skybox [4] . Under alle omstændigheder forbliver skybox-geometrien ekstremt enkel: for eksempel er superportalen fra Half-Life 2: Episode Two kun én polygon, og portalens synlighed opnås ved hjælp af shaders [4] . I Half-Life 2 laves 3D skyboxes i skalaen 1:16 - objekter tegnes 16 gange deres faktiske størrelse [5] .
Interessant nok ser spilleren slet ikke himlen i spillet Portal fra den samme ventil , og forfatterne forsøgte ikke engang at rette 3D skybox-artefakter, når de kiggede gennem portalen. Dette er blevet rettet i nyere versioner af motoren [5] .
I 2.5D-motorer som Doom-motoren ligner skyboxen en cylinder . I modsætning til moderne spil blev skærmen ikke oversvømmet med en skybox hver ramme, og fragmenter af himlen blev tegnet ved hjælp af en speciel procedure, da rendereren ramte de "himmelfyldte" fly [6] .
I de første 3D-spil ( Quake ), var himlen et "uendeligt fjernt" fly med en skytekstur, der bevægede sig hen over det. Sådan en himmel ser "pressende ud", fuld af stratusskyer - også selvom den i virkeligheden er blå, med lyse hvide skyer. I Quake 3 er denne metode til at tegne himlen også tilgængelig sammen med kuben; desuden kan begge metoder bruges ved at tegne et fly med trykskyer oven på en kubisk skybox.
I nogle spil (for eksempel Grand Prix 3 ) er skyboxen formet som en kugle eller en kuppel [7] . Måske skyldes dette den ekstremt lave teksturdetaljer og softwaregengivelsestilstand.