Parallax scrolling (også parallax scrolling ) er en teknik i computergrafik, hvor baggrundsbilleder bevæger sig langsommere i forhold til det virtuelle kamera end forgrundsbilleder, hvilket skaber en illusion af dybde i en todimensionel scene og følelsen af fordybelse i en virtuel verden [1 ] . Denne teknik var en videreudvikling af flerkantskamerateknikken brugt i traditionel animation siden 1930'erne [2] . Parallaxscrolling vandt popularitet i 2D computergrafik og især i computerspillene Moon Patrol [3] [4] og Jungle Hunt [5] udgivet i 1982. Noget af parallakserulningen blev brugt i arkadespillet Jump Bug fra 1981 [6] .
Der er fire hovedmåder til at skabe parallakserulning , der bruges i arkadesystemer , spillekonsoller og personlige computere .
Nogle skærmsystemer understøtter flere baggrundslag, der kan rulles uafhængigt i vandret og lodret retning, og lag kan lægges oven på hinanden, og derved simulere et multibanekamera. I et sådant displaysystem kan parallakse skabes ved blot at ændre placeringen af hvert lag med en forskellig mængde offset i én retning. Lag, der bevæger sig hurtigere, vil blive opfattet som værende tættere på det virtuelle kamera. Lag kan placeres foran spillepladen (dvs. laget, der indeholder de objekter, som spilleren interagerer med) af forskellige årsager, såsom for at øge størrelsen, skjule nogle spilhandlinger eller for at distrahere spilleren.
Denne metode involverer oprettelsen af sprite -pseudolag (dvs. separat kontrollerede bevægelige objekter gengivet oven på eller under lag af hardwaren), hvis en sådan mulighed er tilgængelig i displaysystemet. For eksempel, i Star Force , et lodret skydespil til NES , blev denne metode brugt til at vise et stjernefelt, og i Super NES-spillet Final Fight blev denne metode brugt til at skabe et lag lige foran hovedspillefeltet.
Amiga-computeren har evnen til at vise sprites, der kan indstilles til enhver højde, og deres vandrette position kan bestemmes ved hjælp af en co-processor, så deres anvendelse er velegnet til at skabe parallakserulning.
Amiga -spillet Risky Woods bruger også hardware-multipleksede sprites til at skabe et fuldskærmsparallaks-baggrundslag [ 7] i stedet for systemets sædvanlige dobbelte spillefelt-tilstand.
På displaysystemer, der understøtter rulning, hvor skærmen er sammensat af individuelle fliser , kan det være muligt at placere fliser over et gentagne baggrundslag ved at animere bitmaps på individuelle fliser, hvilket kan skabe en parallakseeffekt. Farvecykling kan bruges til hurtigt at animere fliser på tværs af hele skærmen. Denne softwareeffekt giver illusionen af et andet hardware-niveau. Mange spil har brugt denne teknik til at scrolle gennem et stjernefelt, men nogle gange opnås en mere kompleks eller multi-directional effekt, såsom Sensible Softwares Parallax -spil.
I rastergrafik er rækkerne af pixels i et billede typisk sammensat og opdateret i top-til-bund rækkefølge, med en lille forsinkelse (kaldet det horisontale blanking interval ) mellem visningen af en række og starten af visningen af den næste. Spil designet til ældre grafikchipsæt (såsom tredje og fjerde generation af videospilkonsoller, dedikerede tv-spil eller lignende håndholdte systemer) udnytter bitmap-egenskaber til at skabe illusionen om flere lag.
Nogle skærmsystemer har kun ét lag. Disse omfatter de fleste klassiske 8-bit systemer (såsom Commodore 64 , NES , Sega Master System , PC Engine og den originale Game Boy ). I mere komplekse spil på sådanne systemer er laget normalt opdelt i vandrette striber, hver med en forskellig position og rullehastighed. Typisk vil bjælkerne øverst på skærmen repræsentere elementer, der er længere væk fra det virtuelle kamera, og en bjælke kan forblive stationær for at vise statusoplysninger. Programmet vil derefter vente på det vandrette blanking-interval for at beregne den nye position af det scroll-drevne lag, før displaysystemet begynder at tegne scanningslinjerne. Dette kaldes en " bitmap-effekt " og kan også bruges til at ændre systempaletten til at vise en gradientbaggrund.
Nogle platforme (såsom Commodore 64, Amiga , Sega Master System, [8] PC Engine, [9] Sega Mega Drive , SNES , Game Boy , Game Boy Advance og Nintendo DS ) har mulighed for automatisk at indstille registre uafhængigt af resten af programmet i under det horisontale quenching interval. Andre platforme, såsom NES, kræver brug af clocket kode, der er specifikt skrevet til at køre nøjagtigt så længe, som det tager videooutputchippen at tegne en enkelt scanningslinje, eller brug af timere inde i spilpatroner , der genererer afbrydelser efter den specificerede antal viste rækker. Mange NES-spil bruger denne teknik til at tegne deres statuslinjer, og NES-spillene Teenage Mutant Ninja Turtles og Vice: Project Doom bruger den også til at rulle baggrundslag ved forskellige hastigheder.
Mere komplekse rastermetoder kan give interessante effekter. Systemet kan opnå dybdeskarphed meget effektivt ved at flette lag med bitmaps, som det blev brugt i Sonic the Hedgehog , Sonic The Hedgehog 2 , ActRaiser , Lionheart og Street Fighter II . Hvis hver scanningslinje har sit eget lag, skabes en " Pole Position -effekt ", der skaber en pseudo -3D-vej (eller en pseudo-3D-legeplads i NBA Jam ) i 2D-grafik.
Hvis displaysystemet understøtter rotation og skalering ud over scrolling (en effekt almindeligvis kendt som " Mode 7 "), kan man ved at ændre rotations- og skaleringsfaktorerne skabe en planprojektion (som i F-Zero og Super Mario Kart ) eller warp spillefeltet ved at skabe en forhindring for spilleren som en del af gameplayet .
En anden metode er række/kolonne rulning, hvor rækkerne/kolonnerne af fliser på skærmen kan rulles individuelt [10] . Denne metode er implementeret i grafikprocessorerne på forskellige bundkort i Sega arkadesystemer, startende med Sega Space Harrier og System 16 [11] , Sega Mega Drive spilkonsoller [12] såvel som i Capcom CP System [13] , Irem M-92 [ 14] og Taito F3 System [15] .
I animationen nedenfor bevæger de tre lag sig til venstre med forskellige hastigheder. Deres hastigheder falder fra tættest på seeren mod baggrunden og svarer til en stigning i relativ afstand fra seeren. Jordlaget bevæger sig 8 gange hurtigere end plantelaget. Plantelaget bevæger sig dobbelt så hurtigt som skylaget.
Skylag ( bagside )
Plantelag - ( i midten )
Jordlag - ( nær )
Overlejringslag ( animation )
Webdesignere begyndte at implementere parallax scrolling i 2011 ved hjælp af HTML5 og CSS3 . Det bruges som et værktøj til bedre at engagere brugerne og forbedre den overordnede oplevelse fra et websted. En undersøgelse fra Purdue University , offentliggjort i 2013, fandt dog følgende resultater: "... mens parallax scrolling forbedrer nogle aspekter af brugeroplevelsen, forbedrer det ikke nødvendigvis den overordnede brugeroplevelse . " [16]