Rolagem parallax

Origem: Wikipédia, a enciclopédia livre.

Rolagem parallax é uma técnica em computação gráfica em que as imagens de plano de fundo movem-se mais lentamente que as imagens em primeiro plano, criando uma ilusão de profundidade em uma cena 2D e aumentando a sensação de imersão na experiência virtual.[1] A técnica surgiu a partir da técnica da câmera multiplano usada na animação tradicional[2] desde a década de 1930. A rolagem paralaxe foi popularizada em computação gráfica 2D e jogos eletrônicos pelos jogos de arcade Moon Patrol[3][4] e Jungle Hunt,[5] ambos lançados em 1982. Um pouco de rolagem paralaxe já havia sido usada pelo jogo de arcade de 1981 Jump Bug.[6]

Métodos[editar | editar código-fonte]

Existem quatro métodos principais de rolagem paralaxe usados em títulos para placa de sistema arcade, console de jogos eletrônicos e sistemas de computadores pessoais.[carece de fontes?]

Método de camada[editar | editar código-fonte]

Demonstração do método de camada
Uma vista lateral das camadas usadas para rolagem parallax em The Whispered World
A mesma imagem acima, vista de frente

Alguns sistemas de exibição suportam várias camadas de plano de fundo que podem ser roladas independentemente nas direções horizontal e vertical e compostas umas nas outras, simulando uma câmera multiplano. Em tal sistema de exibição, um jogo pode produzir paralaxe simplesmente mudando a posição de cada camada por uma quantidade diferente na mesma direção. Camadas que se movem mais rapidamente são percebidas como mais próximas da câmera virtual. Camadas podem ser colocadas na frente do campo de jogo - a camada contendo os objetos com os quais o jogador interage - por várias razões, como para fornecer uma dimensão maior, obscurecer parte da ação do jogo ou distrair o jogador.

Método Sprite[editar | editar código-fonte]

Os programadores também podem criar pseudo-camadas de sprites - objetos móveis controláveis individualmente, desenhados por hardware em cima ou atrás das camadas - se estiverem disponíveis no sistema de exibição. Por exemplo, Star Force, um shooter de rolagem vertical de visão aérea para NES, usou isso para seu campo estelar, e Final Fight para o Super Nintendo usou essa técnica para a camada imediatamente à frente do campo de jogo principal.

O computador Amiga possui sprites que podem ter qualquer altura e podem ser ajustados horizontalmente com o coprocessador copper, o que os torna ideais para este propósito.

Risky Woods no Amiga usa sprites multiplexados com o copper para criar uma camada de fundo de paralaxe de tela inteira[7] como uma alternativa ao modo dual playfield do sistema.

Repeating pattern/método de animação[editar | editar código-fonte]

As exibições de rolagem de blocos individuais podem ser feitas para 'flutuar' sobre uma camada de fundo repetida animando os bitmaps dos blocos individuais para retratar o efeito paralaxe. O ciclo de cores pode ser usado para animar as peças rapidamente em toda a tela. Este efeito de software dá a ilusão de outra camada (hardware). Muitos jogos usaram esta técnica para um campo estrela de rolagem, mas às vezes um efeito mais intrincado ou multidirecional é alcançado, como no jogo Parallax da Sensible Software.

Método raster[editar | editar código-fonte]

Em gráficos raster, as linhas de pixels em uma imagem são geralmente compostas e atualizadas na ordem de cima para baixo com um pequeno atraso (chamado de intervalo de moldagem horizontal) entre desenhar uma linha e desenhar a próxima linha. Os jogos projetados para chipsets gráficos mais antigos - como os da terceira e quarta geração de consoles de videogame, de jogos de TV dedicados ou de sistemas portáteis semelhantes - aproveitam as características raster para criar a ilusão de mais camadas.

Alguns sistemas de exibição têm apenas uma camada. Estes incluem a maioria dos sistemas clássicos de 8 bits (como o Commodore 64, o Nintendo Entertainment System, o Master System, o PC Engine/TurboGrafx-16 e o Game Boy original). Os jogos mais sofisticados em tais sistemas geralmente dividem a camada em faixas horizontais, cada uma com uma posição diferente e taxa de rolagem. Normalmente, as faixas mais altas na tela representam as coisas mais distantes da câmera virtual ou uma tira será mantida estacionária para exibir informações de status. O programa aguardará o espaço em branco horizontal e alterará a posição de rolagem da camada antes que o sistema de exibição comece a desenhar cada linha de varredura. Isso é chamado de "efeito raster" e também é útil para alterar a paleta do sistema para fornecer um segundo plano gradiente.

Algumas plataformas (como o Commodore 64, Amiga, Master System,[8] PC Engine/TurboGrafx-16,[9] Mega Drive/Genesis, Super Nintendo, Game Boy, Game Boy Advance e Nintendo DS) fornecem uma interrupção horizontal em branco para definir automaticamente registra-se independentemente do resto do programa. Outros, como o NES, exigem o uso de um código de ciclo, que é especialmente escrito para levar exatamente o mesmo tempo de execução do chip de vídeo para desenhar um scanline ou timers dentro de cartuchos de jogos que geram interrupções após um determinado número de scanlines foram desenhados. Muitos jogos NES usam essa técnica para desenhar suas barras de status, Teenage Mutant Ninja Turtles II: The Arcade Game e Vice: Project Doom para NES usá-lo para rolar camadas de fundo em diferentes taxas.

Técnicas raster mais avançadas podem produzir efeitos interessantes. Um sistema pode alcançar uma profundidade de campo muito efetiva se camadas com rasters forem combinadas; Sonic the Hedgehog, Sonic The Hedgehog 2, ActRaiser, Lionheart e Street Fighter II usaram bem este efeito. Se cada linha de varredura tiver sua própria camada, o efeito é produzido, o que cria uma estrada pseudo-3D em Pole Position (ou uma quadra de bola pseudo-3D como no NBA Jam) em um sistema 2D.

Se o sistema de exibição oferecer suporte a rotação e dimensionamento além da rolagem - um efeito popularmente conhecido como Mode 7 - alterar os fatores de rotação e dimensionamento pode desenhar uma projeção de um plano (como em F-Zero e Super Mario Kart ) ou pode distorcer o campo de jogo para criar um fator de desafio extra.

Outra técnica avançada é a rolagem de linha/coluna, onde linhas/colunas de blocos em uma tela podem ser roladas individualmente.[10] Esta técnica é implementada nos chips gráficos de várias placas de sistema de arcade da Sega desde o Sega Space Harrier e System 16,[11] o console Mega Drive,[12] e o sistema Capcom CP,[13] Irem M-92[14] e as placas do jogo arcade Taito F3 System.[15]

Exemplo[editar | editar código-fonte]

Na animação a seguir, três camadas estão se movendo para a esquerda em diferentes velocidades. Suas velocidades diminuem de frente para trás e correspondem a aumentos na distância relativa do espectador. A camada do solo está se movendo 8 vezes mais rápido que a camada de vegetação. A camada de vegetação está se movendo duas vezes mais rápido que a camada de nuvens.

Rolagem paralaxe em Web design[editar | editar código-fonte]

Uma das primeiras implementações de rolagem parallax no navegador foi criada e compartilhada em um post de blog do desenvolvedor web Glutnix em 2007, isso incluiu um código de exemplo e uma demonstração usando Javascript e CSS2 que suportavam o IE6 e outros navegadores daquela época.[16][17] No entanto, não foi até 2011 e a introdução do código HTML5 e CSS3 que a técnica se tornou popular entre os designers da Web. Os defensores argumentam que é uma maneira simples de abraçar a fluidez da Web.[18] Os proponentes usam planos de fundo paralaxe como uma ferramenta para envolver melhor os usuários e melhorar a experiência geral que um site oferece. No entanto, um estudo da Purdue University, publicado em 2013, revelou as seguintes descobertas: "... embora a rolagem parallax tenha melhorado certos aspectos da experiência do usuário, isso não necessariamente melhorou a experiência geral do usuário".[19]

Ver também[editar | editar código-fonte]

Referências

  1. «Cap. O'Rourke to the rescue». New Straits Times Malaysia. 1 de setembro de 1988. Consultado em 1 de julho de 2019. Cópia arquivada em 1 de julho de 2019 
  2. Wyatt, Paul (Agosto de 2007). «The Art of Parallax Scrolling» (PDF). Consultado em 1 de julho de 2019. Arquivado do original (PDF) em 6 de outubro de 2014 
  3. Stahl, Ted (26 de julho de 2006). «Chronology of the History of Video Games: Golden Age». Consultado em 1 de julho de 2019. Cópia arquivada em 26 de junho de 2019 
  4. «Gaming's most important evolutions». GamesRadar. 9 de outubro de 2010. p. 3. Consultado em 1 de julho de 2019. Cópia arquivada em 1 de julho de 2019 
  5. Odoerfer, Mandi (19 de outubro de 2014). «Jungle Hunt Was a Terrible Waste of Quarters». Consultado em 1 de julho de 2019. Cópia arquivada em 28 de março de 2019 
  6. «Games vs. Hardware. The History of PC video games: The 80's». Consultado em 1 de julho de 2019. Cópia arquivada em 10 de abril de 2019 
  7. «Risky Woods». codetapper.com. Consultado em 1 de julho de 2019. Cópia arquivada em 15 de junho de 2019 
  8. Talbot-Watkins, Richard (25 de abril de 1999). «Archived copy». smspower.org. Consultado em 1 de julho de 2019. Cópia arquivada em 28 de março de 2019 
  9. MacDonald, Charles. «Archived copy». Consultado em 1 de julho de 2019. Arquivado do original em 30 de outubro de 2016 
  10. «Using MAME's tilemap system - MAMEDEV Wiki». archive.org. Consultado em 1 de julho de 2019. Cópia arquivada em 1 de julho de 2019 
  11. «Archived copy». Consultado em 1 de julho de 2019. Arquivado do original em 19 de dezembro de 2016 
  12. «Sega Genesis vs Super Nintendo». gamepilgrimage.com. 11 de agosto de 2009. Consultado em 1 de julho de 2019. Cópia arquivada em 11 de abril de 2019 
  13. Leaman, Paul. «New Forgotten World Clone – CP System Code». Consultado em 1 de julho de 2019. Arquivado do original em 5 de novembro de 2015 
  14. «System 16 - Irem M92 Hardware (Irem)». www.system16.com. Consultado em 1 de julho de 2019. Cópia arquivada em 1 de julho de 2019 
  15. «System 16 - Taito F3 System Hardware (Taito)». www.system16.com. Consultado em 1 de julho de 2019. Cópia arquivada em 1 de julho de 2019 
  16. Taylor, Brett (20 de março de 2007). «Parallax Backgrounds - a multi-layered javascript experiment». Glutnix. inner.geek.nz. Consultado em 1 de julho de 2019. Cópia arquivada em 28 de janeiro de 2019 
  17. Kretschmann, Matthias (23 de maio de 2008). «Showcasing the css parallax effect - 12+1 creative usages». Glutnix. kremalicious.com. Consultado em 1 de julho de 2019. Cópia arquivada em 1 de julho de 2019 
  18. Cederholm, Dan; Marcotte, Ethan (9 de abril de 2010). Handcrafted CSS: More Bulletproof Web Design. [S.l.]: New Riders. 5 páginas. ISBN 978-0-13-210481-4. Cópia arquivada em 10 de abril de 2019 
  19. M. Frederick, Dede (18 de abril de 2013). «The Effects Of Parallax Scrolling On User Experience And Preference In Web Design». Purdue University. Consultado em 1 de julho de 2019. Cópia arquivada em 28 de março de 2019