Entrevista Tecnológica: Gestor de rácio de fotogramas da LucasArts
Digital Foundry fala detalhadamente com o criador da "milagrosa" tecnologia 60FPS.
Isso é verdade pois bem cedo na pré-produção decidimos fechar o nosso leque de funcionalidades, e não introduzir alterações extra à produção de arte e design, para que quando os artistas chegassem à produção eles tivessem um leque muito sólido de funcionalidades, às quais podiam recorrer sem se preocuparem com alguma coisa. Mas tiveram que efectuar, em alguns casos, pequenos ajustes no motion blur e desenhar um pouco em seu redor.
Em termos de 60Hz seria melhor desenhar as coisas em seu redor para ter um melhor efeito assim como lidar com alguns artefactos da arte. Deixa-me explicar com alguns exemplos.
Por exemplo, quando sabes que um ocasional fotograma é interpolado e os seus visuais são retirados do anterior, queres evitar alterações muito significativas ou mudanças direccionais entre esses fotogramas. O fotograma interior não teria os dados correctos dos quais seria construído, por isso uma solução seria não permitir tais mudanças rápidas na jogabilidade, ao mudá-lo mais gradualmente. Ou poderias detectar esta mudança e omitir a interpolação ou esse particular personagem para esse fotograma, deixando-o tal como está por apenas esse fotograma.
Se a personagem salta rapidamente e faz todas estas coisas loucas, poderias tentar segui-lo um pouco com a câmara, e tentar antecipar o que provavelmente vamos ver.
Outras coisas relacionadas com o design envolvem o uso de alpha blending e do HUD. Na demonstração que viste os sabres de luz não estavam desligados assim como o HUD. Não é realmente um problema técnico pois poderia ser trabalhado ao renderizar e por aí adiante, mas depois outro tipo de problemas surgem. E quanto ao sorting e coisas como isso? De novo, é possível de gerir.
Mas a solução mais fácil – simplesmente não o faças. O HUD é um problema? Sim. Ok, nada de HUD. Sabres de luz? Bem, sim. Ok, nada de sabres de luz. Mas não nos podemos perder com isto e remover sombras por exemplo. Ao invés, podemos dizer que vamos colocar fontes de luz ou sombras para que não sejam um problema. Por isso não podes ter a luz próxima o suficiente de forma a que o início das sombras comece a mover-se muito rápido no chão. Não estou a dizer que estas coisas não podem ser solucionadas, mas a questão é que podem afectar o design e arte, e tens que pensar neles.
No caso da demonstração podem ver a chuva. É alpha blended, mas não parece causar quaisquer problemas. Por outro lado, aqueles pequenos salpicos no personagem parecem um pouco estranhos. Fácil, remove-os.
Não, a nossa solução para o anti-aliasing não usa re-projecção, mas é muito similar à técnica de interpolação em termos de simplicidade. Resume-se ao que podes fazer sobre não andar a "vasculhar" coisas, mas olhar para um problema de uma perspectiva diferente. Não posso dizer mais sobre isso de momento.
No entanto uma coisa relacionada com a interpolação é assegurar que funciona com o anti-aliasing, porque muitas vezes em jogos vejo que as pessoas não fazem nada quanto a isso, e uma vez que te começas a mover o anti-aliasing desaparece, especialmente com o motion blur, por isso devemos ter isso em consideração.
O uso de buffer de velocidade está apenas limitado pela nossa imaginação. Sei que parece um pouco abstracto mas é como é. Mesmo se não usarmos a interpolação em The Force Unleashed II, a maioria das coisas descritas na apresentação é usada na produção de uma forma ou de outra. A maioria. Eu realmente quero que as pessoas compreendam as coisas antes ou quando as estiverem a usar. Saber algo e compreende-lo são duas coisas diferentes. Isto foi o que eu aprendi.
Tenho experimentado com a re-projecção 3D há já algum tempo. Já agora, é aqui que uma versão ligeiramente modificada da remoção de personagens poderia ser usada para resolver os problemas da re-projecção, mas que é menos eficiente comparado com quando é usada em movimento. E claro, quando é baseada fortemente em 3D [como o TriOviz e potencialmente a implementação de Crysis 2 – Ed] tens os mesmos problemas com a transparência.
Em alguns casos funciona, noutros não. Por isso continua a ser melhor desenhar o vosso jogo em redor de tecnologia 3D desde o início. Ainda não o experimentei, mas penso que é possível fazer conversão para cima do rácio de fotogramas juntamente com re-projecção de profundidade 3D. Pode funcionar, mas eu contaria com um maior impacto na performance e memória.
Bem, penso que para a EA correr a 60FPS é muito importante, especialmente para a EA Sports. E penso que muitos dos jogos de desporto são muito mais fáceis de funcionarem com esta técnica uma vez que muitos dos seus motores são baseados na renderização avançada. Por isso tentaria renderizar o ambiente como estádios e pistas a 30FPS com todos os personagens a correr a 60FPS reais.
Em termos de "quando", penso que jogos já a correr a 60 vão manter-se fieis a 60FPS reais e títulos que estão em produção e a correr a 30FPS vão muito provavelmente continuar assim. Mas os que estão em pré-produção ou nos inícios da produção podem tentar isto, o que pode levar no mínimo um ano. Não ficarei surpreendido se for a EA a usar isto brevemente, mas a real utilização pode vir de companhias mais orientadas para a tecnologia como a Naughty Dog. Vamos a ver.