Passar para o conteúdo principal

Análise tecnológica: FOX Engine de Metal Gear Solid 5

Jornada de Kojima pelo foto-realismo.

Na GDC da semana passada, o Kojima Productions revelou a quinta entrada na série Metal Gear Solid, The Phantom Pain, que incorpora também Ground Zeroes anunciado anteriormente. Como os dois se encaixam precisamente é actualmente incerto, apesar do próprio Hideo Kojima ter sugerido no Twitter que GZ age como prólogo a TPP e que os dois são ligados por um período no qual o protagonista do jogo fica em coma. Mas Kojima é um mestre do engano portanto quem sabe? O elo entre os dois que temos a certeza, é que ambos os correm no novo ambicioso motor FOX Engine, inicialmente apresentado com GZ no ano passado, e que o jogo vai ter uma renovação radical do esquema de jogo tradicional de MGS: as novas aventuras de Snake decorrem numa série ambiciosa de ambientes de mundo aberto.

O trailer e gameplay demonstração para TPP foram seguidos de uma extensa apresentação que abordava de perto este novo motor. Chamada de "Foto-realismo pelos olhos de uma raposa", a declaração de intenção é ambiciosa - Kojima procura o Santo Graal da tecnologia gráfica - imagem ultra real, mas é importante dizer que não é só sobre renderização. Os seus jogos são definidos pela convergência e equilíbrio tanto da arte como da tecnologia.

"Quanto mais a tecnologia evolui, mais temos que compreender o nosso arredor físico," disse ele. "Para criar um produto de qualidade o olho do artista é essencial. Simplesmente recriar a realidade iria resultar numa imagem traçada. Isto é o que queremos dizer por foto-realismo pelos olhos de uma raposa."

Olhando para o vídeo apresentado na GDC e pela linha de trabalho revelada pela sua equipa, a FOX de Kojima pode não estar assim tão longe do rasto: a abordagem do motor à renderização, iluminação e criação de bens é altamente inovadora e entusiasmante no mínimo mas vai ser a aplicação da tecnologia pela equipa que verdadeiramente define a experiência.

No evento, a apresentação GDC concentrou-se muito mais no lado técnico da equação. É coisa de ponta que talvez ultrapassou a mente de muitos dos presentes na GDC e audiência live-stream, portanto o objectivo deste artigo é bem simples: vamos resumir essa informação, detalhar áreas específicas que os programadores tem como alvo, e tentar descobrir o que anda Kojima a fumar - e se queremos disso.

"Em MGS5, renderização diferida é absolutamente vital porque a sua estratégia foto-realista recai imenso na iluminação."

O FOX em acção - o trailer GDC 2013 do Kojima Studios para Metal Gear Solid 5: The Phantom Pain.Ver no Youtube

A fundação de toda abordagem de MGS5 ao foto-realismo é o seu uso de renderização diferida. Apesar da renderização diferida ser inicialmente usada devido a uma variedade de limitações que trazia consigo - tais como problemas na criação de superfícies transparentes e incompatibilidade com tradicionais soluções anti-aliasing - gradualmente cresceu em popularidade ao longo da vida das consolas de actual geração. A Crytek mudou o CryEngine 3 para um modelo diferido para o conseguir correr nas consolas, mas a técnica foi usada numa multiplicidade de títulos em várias formas, começando com o título de lançamento da Xbox 360, Perfect Dark Zero, englobando outros jogos como na série Killzone, Uncharted, GTA 4 e muitos lançamentos modernos incluindo BioShock Infinite e Tomb Raider.

Renderização diferida difere da tradicional pois adiciona um passo extra no processo de renderização entre o reunir de informação sobre como os materiais, sombras e por aí adiante devem estar posicionados, e a criação real destas funcionalidades no ambiente. Durante esse passo extra a informação é guardada em texturas conhecidas como buffer de geometria (G-buffer), chamadas consoante e sempre que o sistema precisa.

O efeito mais importante da renderização diferida é que separa a renderização de geometria da aplicação de iluminação. A renderização frontal tradicional pode assumir diferentes formas - tradicionalmente uma só ou múltipla passagem. A passagem única tem problemas com um potencial alto número de permutações shader (luzes diferentes, materiais diferentes todos combinados diferentemente). Na múltipla passagem, um objecto é gerado uma vez por todas as vezes que é afectado pela luz. Portanto dez luzes igualam dez renderizações, o que torna a iluminação computacionalmente dispendiosa. Na renderização diferida, as luzes são geradas como geometria, o que depois chamada a informação de iluminação sobre os objectos (cor, profundidade etc) do G-buffer, significando que objectos apenas tem que ser gerados uma vez- Então a renderização diferida permite um maior número de luzes com um custo muito menor na performance.

"Iluminação espaço-linear leva em consideração o contraste luz/escuro acima do natural da maioria do ecrã de monitor, e providencia correcção gamma para criar luz e sombra mais natural."

Para MGS5 isto é absolutamente vital, porque a sua estratégia foto-realista recorre largamente à iluminação. O FOX usa uma técnica de iluminação conhecida como iluminação linear-espaço. De uma forma, a sua implementação é analógica de renderização diferença pois toma uma rota ligeiramente mais longa através da linha de trabalhos gráficos para produzir um efeito que tem vantagens significativas sobre a sua versão tradicional.

Resumindo, a iluminação linear-espaço toma em consideração o contraste luz/escuridão acima do natural do ecrã de um monitor tradicional, e providencia correcção gamma para criar luzes e sombras de aspecto mais natural. A demo no hospital de MGS5 demonstra bem isto: como o ambiente é bem consistente em termos de luz e claridade, a subtileza das sombras que o FOX emprega é colocada no centro. A iluminação que daí resulta parece mesmo inferior da de muitos jogos de actual geração porque não está a tentar esconder a falta de detalhe com brilho exagerado ou efeitos de campo de profundidade.

Apesar da iluminação linear-espaço ser em grande parte responsável pela qualidade visual mais subtil do jogo, existem muitos sub-componentes que entram na renderização final de iluminação. Alguns destes tem um efeito geral: atenuação de luz determina a intensidade da luz dado o seu foco no e distância de um objecto. Entretanto, a luz do céu num ambiente exterior simula com eficácia dispersão atmosférica, uma tarefa complicada que afecta tanto como o céu é iluminado e como essa luz afecta o ambiente a nível do chão.

PAX 2012
GDC 2013
Na GDC 2013, o Kojima Productions demonstrou como os aspectos físicos de materiais afectam a renderização quando elementos tais como iluminação e clima são alterados. Aqui comparamos as duas versões, reduzindo o tamanho de imagem devido à pobre qualidade dos bens disponíveis. Também vais notas ligeiras alterações no conteúdo.
PAX 2012
GDC 2013
Na GDC 2013, o Kojima Productions demonstrou como os aspectos físicos de materiais afectam a renderização quando elementos tais como iluminação e clima são alterados. Aqui comparamos as duas versões, reduzindo o tamanho de imagem devido à pobre qualidade dos bens disponíveis. Também vais notas ligeiras alterações no conteúdo.
PAX 2012
GDC 2013
Na GDC 2013, o Kojima Productions demonstrou como os aspectos físicos de materiais afectam a renderização quando elementos tais como iluminação e clima são alterados. Aqui comparamos as duas versões, reduzindo o tamanho de imagem devido à pobre qualidade dos bens disponíveis. Também vais notas ligeiras alterações no conteúdo.
PAX 2012
GDC 2013
Na GDC 2013, o Kojima Productions demonstrou como os aspectos físicos de materiais afectam a renderização quando elementos tais como iluminação e clima são alterados. Aqui comparamos as duas versões, reduzindo o tamanho de imagem devido à pobre qualidade dos bens disponíveis. Também vais notas ligeiras alterações no conteúdo.

Outras técnicas de iluminação são direccionadas para como a luz reage com certas superfícies. Com MGS5 o ênfase parece estar nas nuances de superfícies não reflectoras, uma continuação de uma tendência na tecnologia gráfica que começou com screen-space ambient occlusion (SSAO) e resultou recentemente em tecnologias como a solução de IG de uma só passagem modificada pela Crytek que simula luz em superfícies brilhantes. Os shaders do FOX Engine suportam translúcidas, importante para simulação eficaz da reacção da luz com superfícies suaves tais como pele, cabelo e roupa.

'Dureza' é um termo que caracteriza a apresentação. A dureza de uma superfície no FOX pode ser ajustada para lhe dar um aspecto mais escorregadio, útil ao criar um cena chuvosa para minimizar simulação de líquidos complexa e esfomeada por poder. Mais interessante é a dureza dependente da visão - uma nova funcionalidade no FOX que afecta a capacidade reflectora de uma superfície dependendo do ângulo da qual é vista. Portanto uma parede de gesso parece mais clara e com mais reflexo ao longe quando o ângulo de visão é apertado do que na ponta final onde o ângulo de visão é maior e os contornos da parede mais visíveis. Isto soa como um pequeno e insignificante detalhe, mas o efeito resultante é realmente bem espantoso, especialmente na demo no hospital onde existem muitos corredores longos atingidos directamente por luzes directamente em cima.

Da mesma forma que a renderização diferida reage como fundação para iluminação linear-espaço, iluminação linear-espaço por sua vez forma a estrutura suporte para a terceira e final vertente do esforço do FOX Engine por foto-realismo, a terminologia gráfica, tudo isto significa renderizar texturas, modelos e materiais usando o máximo possível de dados do mundo real quanto fisicamente possível.

"Sempre que possível a equipa de desenvolvimento usa captura de fotos 3D, captura laser e captura de movimentos para criar bens que são tão detalhados e realistas quanto possível."

Não deixem que a explicação simples vos engane. A implementação prática deste método de renderização envolve uma quantidade enorme de trabalho. O Kojima Productions leva o aspecto 'foto' do foto-realismo bem a sério. Sempre que possível a equipa usa captura de foto 3D, captura laser e captura de movimentos para criar bens que são tão detalhados e realistas quanto possível. Objectos no jogo são fotografados na vida real de uma variedade de ângulos, e depois essas fotografias são compiladas num modelo 3D usando um programada chamado Photoscan.

As texturas são fotografadas com alta exposição para preservar a sua informação linear de luz, o que dá uma representação mais apurada de como o olho humano vê objectos em oposto a como a lente da câmara vê objectos, que se levarmos o termo literalmente é na verdade além do foto-realismo. Estas texturas são depois limpas pelos artistas do estúdio e importadas para programas tais como o Marvelous Designer uma complexa ferramenta de design de roupas usada para construir roupa de personagens por camadas, incluindo a renderização eficaz e maneável de dobras, costuras e por aí adiante.

É por isso que a iluminação linear-espaço é tão importante. Usando bens baseados tão fortemente na realidade requer iluminação que é simulada realisticamente, porque de outra forma estas texturas iriam parecer completamente deslocadas. O problema surge nos reflexos de difusão e especulares da luz vinda das superfícies. Reflexo especular ocorre quando a luz atinge uma superfície muito suave, tal como um espelho, e ressalta numa única direcção resultando num reflexo quase perfeito. Reflexo por difusão acontece quando a luz atinge uma superfície dura como uma parede de tijolos e é espalhada, ou "difundida" em várias direcções, fazendo com que a superfície pareça brilhante ou fosca.

"Claramente a aclamação de Kojima na procura de foto-realismo não é vazia. Existe um plano de jogo aqui, e está mesmo muito bem pensado."

Quanto mais realista a superfície, mais complexos se tornam os mapas de difusão e especulares. Claro, isto por sua vez é quando a renderização diferida entra. O FOX Engine guarda a informação difusa e especular em separado no G-buffer, depois combina essa informação juntamente com outros parâmetros da iluminação tais como os tipos de luz usados (por exemplo luz ambiente ou luz solar) para produzir a renderização final sem ter que renderizar essa informação repetidamente.

Claramente a aclamação de Kojima sobre a procura de foto-realismo não é vazia. Existe um plano aqui e está muito bem pensado. Ao mesmo tempo, é importante enfatizar que estes ainda são os primeiros dias e existem muitas questões à espera de resposta. A demonstração correu num PC, mas o jogo foi até agora anunciado para 360, PS3 e PS4, sem informação oficial de uma versão PC. Daí não sabermos como as versões de consola se comparam, quais os compromissos, se existem, que terão que ser feitos. A solução de renderização diferida sugere que a diferença entre o vídeo PC e as consolas não vai ser gigante, mas a diferença entre PC e atuais consolas tem crescido e apenas vai ficar maior. Demonstrações anteriores do FOX correram num PC dito como equivalente das consolas de actual geração, portanto existe razões para optimismo.

Mais ainda, também não temos ideia se tal atenção implacável ao detalhe em todas as texturas de todas as rochas e árvores e paredes e edifícios pode ser aplicada ao que o próprio Kojima descreve como um jogo de mundo aberto - especialmente tendo em conta as limitações de RAM e streaming das atuais plataformas. É uma coisa criar uma renderização espantosamente realista de uma sala de conferência com pouca mobília e um corredor de hospital clinicamente limpo. É outra aplicar a mesma filosofia a um mundo largo, diverso e detalhado. Dito isto, apesar de Kojima ter um gosto adquirido em coisas como história, a tecnologia por detrás dos jogos Metal Gear Solid raramente falharam em cumprir com as suas promessas. Se Kojima está a olhar para o PC como plataforma de lançamento desta vez - é a primeira vez que o faz - este tiro completamente louco em direcção à lua pode muito bem aterrar perto do alvo.

Lê também