Por que os gráficos de jogos não são tão bonitos quanto os filmes animados?


60

Lembro-me de assistir ao trailer pré-renderizado de Tomb Raider e desejei que esses gráficos pudessem estar no próprio jogo.

Por que existe uma diferença tão grande entre o trailer e o jogo real? Eu entendo que o jogo é um conceito completamente diferente, tem um pipeline diferente, tem que passar por diferentes tipos de interações entre jogadores, etc. Quero saber o que são os jogos que os tornam tão difíceis em comparação aos filmes de animação.

Até agora eu sei que fazer um jogo e um filme de animação compartilham uma carga de trabalho básica, por exemplo, criar modelos 3D, renderizá-los (somente no jogo acontece ao vivo). Os filmes animados são renderizados por um longo tempo e só vemos cenas pré-renderizadas. É tudo o que sei, então espero que você responda dessa perspectiva!

E a renderização de filmes animados por horas e horas os torna tão bonitos, enquanto a renderização ao vivo no jogo é menos bonita (do ponto de vista geral)?


11
Realmente não vejo como a resposta aceita realmente atende aos pontos de sua pergunta. Você pode deixar um comentário aqui como um resumo do que entendeu a partir dele, ou seja, que notícias ele trouxe para você, para que agora você entenda o problema que antes não entendia?
Bogdan Alexandru

4
Não tenho certeza do que você está confuso. A questão é o título; o post aceito responde a essa pergunta.
Jhocking

2
Na verdade eu entendi 80% da resposta. O restante cobriu 20%, especialmente eu aprendi muito com a resposta de @ Vladimir (veja abaixo). Algumas das respostas até discutiram coisas em que não pensei, por exemplo, adicionar detalhes após a renderização. E para responder à sua pergunta, selecionei a resposta porque acho que trouxe um nível mais profundo de compreensão (não apenas ele mencionou pontos, mas também os algoritmos / conceitos que trabalham por trás dela). E nessa época eu terminei de ler isso, outras respostas também foram incríveis! Foi difícil escolher qual é o melhor, mas as pessoas parecem gostar também! Eu marcaria todos eles!
cowboysaif

Talvez porque os desenvolvedores de jogos não tenham interesse em gastar mais de US $ 50.000.000 em efeitos - algo que os produtores de filmes fazem rotineiramente atualmente.
Pieter Geerkens

Respostas:


109

Você já mencionou um dos pontos centrais: o tempo .

No processo por trás da renderização de uma animação de alta fidelidade, são usadas várias abordagens e algoritmos diferentes (todos geralmente combinados sob o termo "Iluminação Global" ), com o Ray-Tracing sendo um dos mais comuns (outros incluem, por exemplo, Radiosidade e Oclusão Ambiental )

O rastreamento de raios envolve a simulação de um número (geralmente alto) de raios de luz passando pela cena e o cálculo de seus caminhos, reflexos e refrações quando atingem objetos com materiais diferentes. Em troca, materiais diferentes têm propriedades físicas diferentes que resultam em reações específicas para os raios (a quantidade de luz que salta de um objeto, por exemplo, é maior para objetos brilhantes quando comparados a objetos brilhantes).

Outro ponto é a física : simular milhares de tensões capilares de uma maneira fisicamente correta é demorado. É por isso que em jogos mais antigos, os cabelos são geralmente aproximados com uma malha muito áspera que é texturizada para dar a impressão de cabelos, talvez com alguns objetos em movimento adicionais para torná-los um pouco mais realistas.

Também deve ser considerado: Memória e Largura de Banda . Quanto maior a qualidade de uma textura aplicada a um objeto em uma cena, mais memória você precisará carregar e usar em um jogo. Mas o sistema não apenas precisa ter memória suficiente para reter os dados, mas também precisa ser transferido para o qual consome a largura de banda disponível. Como a memória e a largura de banda são limitadas, há um máximo que pode ser alcançado.

Os jogos costumam trapacear um pouco usando apenas as texturas de alta resolução para objetos próximos e usam imagens de baixa resolução para objetos distantes (termo: MipMapping ), reduzindo assim a largura de banda necessária, pois menos texels precisam ser buscados, o que, por sua vez, aumenta o desempenho (consulte a seção sobre MipMapping no Guia de programação da Apple OpenGLES).

Da mesma forma, os jogos também costumam usar malhas diferentes para objetos, dependendo de quão longe eles estão, com objetos distantes sendo menos detalhados (termo: LoD = Nível de Detalhe ).

Conclusão: Em gráficos em tempo real (como jogos e simulações), esse processo de renderização detalhado e complexo obviamente não funcionará para produzir cenas fluidas / suaves. Você precisa de pelo menos 20 quadros renderizados por segundo para obter esse efeito fluido de animação / movimento para o olho humano. Por outro lado, a renderização de um único quadro (!) Em um filme de animação pode facilmente levar de algumas horas a vários dias, dependendo de vários fatores, como o número de raios usados ​​no Ray-Tracing ou o número de amostras para Ambient Oclusão (consulte a página 1 da Pixar / página 2 da Pixar para capturas de tela de 16 vs. 256 amostras), bem como a resolução de filme desejada (mais pixels = mais informações a serem calculadas). Veja também este artigosobre o processo por trás do filme de animação Monsters University da Pixar , fornecendo informações interessantes e também mencionando 29 horas de tempo de renderização por quadro.

Em geral: quanto maior a fidelidade / realismo a ser alcançada, mais iterações / retornos / amostras são geralmente necessárias, o que, em troca, exige mais recursos (tempo e / ou poder / memória da computação). Para visualizar a diferença, consulte a renderização resultante com base no número de rejeições para o cálculo da refração neste exemplo: Diamond Bounces from Keyshot

Mas é claro que a qualidade em aplicativos em tempo real aumenta o tempo todo por dois motivos:

  1. Hardware mais forte: à medida que os computadores (de jogos) melhoram (= mais poder de computação [paralelo], maior transmissão de dados entre componentes de computador, memória mais rápida e etc.), a fidelidade visual também aumenta, porque na verdade, computações mais demoradas tornar-se viável em um sistema em tempo real.
  2. Métodos / fórmulas mais inteligentes são desenvolvidos e implementados, capazes de criar efeitos foto-realistas sem a necessidade de rastreamento de raios. Isso geralmente envolve aproximações e, às vezes, dados pré-calculados. Alguns exemplos:


4
@ cowboysaif não, você não pode fazê-lo na GPU "como está". Você teria que obter HW especializado. No entanto, existem tentativas de traçar raios em tempo real usando CUDA ou tecnologia similar.
Wondra

4
Existem muitas outras técnicas além do raytracing usadas na renderização offline, ao criar filmes de qualidade profissional. Mas, como você diz, eles usam técnicas caras de renderização, iluminação e sombreamento que simplesmente não são práticas para renderização em tempo real.
precisa saber é o seguinte

40
Esta resposta explica por que a animação pré-renderizada leva muito mais tempo, mas realmente não dá uma noção da escala. A diferença é enorme ! Um jogo precisa renderizar um quadro em menos de 1/30 de segundo, enquanto os filmes costumam levar vários dias para renderizar cada quadro.
Jhocking

9
"Dias" é certamente o ponto alto da escala de tempo, mas sim, às vezes, os filmes levam mais de um dia para renderizar um único quadro (consulte aqui por exemplo venturebeat.com/2013/04/24/… ) E mesmo na média Nos tempos de renderização, ainda é meio dia por quadro, o que ainda é muito mais longo do que o jogo precisa renderizar. A razão pela qual o filme inteiro não leva uma década para renderizar é que eles têm uma fazenda de renderização, ou seja. centenas de máquinas renderizadas ao mesmo tempo.
jhocking 3/09/14

7
Alguns fatos: o raytracing é usado em todos os lugares, não é absolutamente uma técnica de nicho. VRay é apenas CPU. VRayRT é apenas GPU. A GPU não é adequada para produção, porque as cenas normalmente levam muitos GB de RAM e não cabem na GPU (mas às vezes ajuda). Nossas próprias fotos levam de uma a duas horas / quadro em CPUs de última geração e não demora muito. JackAidley está completamente errado.
Calvin1602

44

Além do fator tempo, vale a pena notar que, em um filme, o artista tem controle total sobre o que o espectador vai ou não ver.

Em sua cena típica de filme, a câmera não passa muito tempo apontada para o teto, apontada para um canto escuro da sala ou voltada para o tornozelo de alguém, de modo que o orçamento de polígono e texturização para esses elementos será bastante baixo.

Se a cena inteira ocorrer de um ponto de vista, o cenário virtual (como um cenário de filme real) não precisará incluir as partes que estão atrás da câmera. Na maioria dos jogos, o jogador é livre para procurar em qualquer lugar a qualquer momento. Isso significa que o orçamento da qualidade pode ser focado no que é realmente visto. (Alguns jogos de terceira pessoa, por exemplo, a série God Of War, usam uma câmera restrita; seus visuais tendem a ser notavelmente melhores do que os de mais jogos com câmeras gratuitas.)


12
Um ponto a não ser subestimado. A renderização de um conjunto fixo de quadros permite um foco completo apenas nesses quadros; tudo o que causa um problema em um quadro individual pode ser tratado manualmente.
Aaaaaaaaaaaa

9
Caramba, isso geralmente é usado em jogos que exibem suas cenas "ao vivo", e é por isso que as cenas cortadas ainda podem parecer melhores.
trlkly

Um jogo que quebra essa regra é o IMHO : Brothers: A Tale of Two Sons Os desenvolvedores se esforçam muito para garantir que a câmera termine no lugar certo e pareça natural também.
Básico

12
E a renderização de filmes animados por horas e horas os torna tão bonitos, enquanto a renderização ao vivo no jogo é menos bonita (do ponto de vista geral)?

Você está assumindo que a diferença está simplesmente na renderização - em um filme de animação, também há uma chance de edição após o fato. Eles podem ter efeitos compostos que seriam difíceis de alcançar no mecanismo original ou podem ajustar um pouco as coisas (por exemplo, remova ou repita a cada 10 quadros para acelerar / desacelerar a animação).

Se você tiver uma chance, desenterre um dos DVDs 'Roughnecks: The Starship Trooper Chronicles', pois eles têm faixas de comentários do editor e animadores sobre truques que eles precisavam fazer quando começaram a ficar atrasados ​​em relação ao cronograma de entrega - coisas como reciclando fotos, mas invertendo o eixo para que não fosse tão óbvio, correções de cores, mascarando coisas que não gostavam, adicionando explosões etc.


Motores de jogo também fazem isso! ;-)
Adrian Maire

@AdrianMaire: eles podem fazer algumas das outras coisas, mas não teriam o humano lá para atuar como editor e ajustar as coisas quando necessário. Eu sei que eu mencionei como eles ajustar as coisas, mas o meu ponto principal era que não havia seres humanos envolvidos na pré-renderizados coisas ..
Joe

10

Você já respondeu sua própria pergunta. Os filmes animados geralmente têm um nível de detalhe mais alto, o que causa um longo tempo de renderização para cada quadro individual.

Os jogos, por outro lado, não têm tantos detalhes, porque a cena deve ser renderizada 30 ou mais vezes por segundo. É também por isso que os desenvolvedores tentam reutilizar o máximo possível de recursos (texturas, modelos etc.), porque renderizar o mesmo objeto em duas posições é muito mais rápido do que se tudo fosse único. Eles também devem tomar cuidado para não usar muitos polígonos em seus modelos e, em vez disso, tentar obter uma impressão de profundidade usando iluminação, texturas, mapeamento de relevo e outras técnicas.

Os filmes não têm esse problema; eles fazem a cena da maneira que desejam e usam quantas texturas, modelos e geometria detalhados forem necessários para alcançar a cena que estão procurando.

Pode-se argumentar que os jogos estão se aproximando. Se você assistir a alguns dos melhores jogos dos últimos tempos, eles não estão tão longe da qualidade do filme como costumavam estar. É claro que você sempre poderá incluir mais detalhes em uma cena pré-renderizada do que em um jogo, mas acho que a diferença não será tão perceptível em alguns anos.


11
Amando essas respostas! Então, quem deve ser o principal culpado? Nível de polígono ou traçado de raios? Os mecanismos de jogos tendem a usar o buffer z porque são mais leves? Ou o traçado de raios faz mais trabalho do que calcular a profundidade?
cowboysaif

2
Eu estou supondo que é traçado de raio. Philip parece ser muito mais conhecedor do que eu sobre isso, mas, tanto quanto eu sei, é basicamente uma maneira de simular os raios de luz como eles agiriam na realidade - rebater coisas, ser difundido, quebrado ou alterado por materiais da cena , e assim por diante. Se você tem coisas como pêlos, cabelos ou outras simulações pesadas (como fluidos) em sua cena, a física também apresenta desempenho pesado - além disso, essas coisas afetam a complexidade do traçado de raios novamente.
Christian

2
Um aplicativo de rastreamento de raios também precisa de algo como um buffer Z para determinar e armazenar quais objetos ocluem com outros objetos. Mas o traçado de raios é muito mais detalhado do que uma aplicação em tempo real, pois faz tudo o que Christian e eu já mencionamos para obter uma maior fidelidade gráfica enviando esses raios de luz individuais e calculando refrações / dispersões reais, por exemplo, em objetos de vidro ou água , renderização física do cabelo, iluminação indireta e oclusão do ambiente etc. (embora algumas dessas partes também possam ser aproximadas em tempo real hoje em dia, como mencionei).
Philip Allgaier

7
Os filmes são renderizados com cerca de 10 a 12 horas de tempo de computação por quadro. E pela Lei de Blinn toda vez que o poder da computação melhora, eles adicionam mais coisas à cena, para que ela nunca fique mais rápida. A renderização de filme também tende a usar soluções 'exatas' de forma fechada para todas as equações de renderização, onde os jogos fazem inúmeras aproximações porque precisam ser um milhão de vezes mais rápido que um filme.
Chuck Walbourn

2
nunca ouviu falar da Lei de Blinn antes, que apontam foi ótimo
jhocking

8

As outras respostas cobrem as questões gráficas brutas com bons detalhes, mas não mencionam uma parte importante do realismo de jogos versus filmes e trailers: as animações e os movimentos da câmera .

Em um filme ou trailer, cada movimento de pessoas e câmeras pode ser cuidadosamente coordenado para mostrar a emoção certa no momento, e eles nunca precisam ser repetidos. Nos videogames, o jogo deve ser capaz de reagir instantaneamente aos movimentos do jogador e deve reutilizar um pequeno conjunto de animações de estoque para preencher as horas ilimitadas de tempo do jogo possíveis.

Exemplos disso no trailer em questão são quando o terapeuta assente com a cabeça e dá um sorriso "nada mal" , e quando Lara agarra o apoio de braço, balança a perna ou olha assombrada para a caverna. Essas pequenas coisas (ou a falta delas e os personagens "plásticos" envolvidos) afetam o realismo percebido muito mais do que pequenas melhorias nos gráficos.

Diferentemente das outras diferenças gráficas, este não é um problema que possa ser potencialmente resolvido com mais poder computacional: é uma diferença fundamental entre um mundo com script e um mundo que responde a todas as suas ações. Nesse sentido, espero que o realismo dos trailers de hoje exceda toda a jogabilidade no futuro próximo.


8

Adicionando outras ótimas respostas que já foram publicadas, vale a pena notar que, para alcançar os tempos de processamento rápidos necessários para os jogos, os desenvolvedores de jogos precisam usar muitos de seus efeitos visuais como texturas simples. Isso significa que deve-se tomar muito cuidado para evitar efeitos que não cozam bem.

Um efeito importante que é difícil de obter para os videogames é a dispersão de superfície (SSS) . Infelizmente, esse efeito é realmente importante na geração de pele humana com aparência realista. É por isso que muitos personagens "realistas" de videogame parecem plásticos.

Uma maneira de os desenvolvedores evitarem esse problema é criar deliberadamente os personagens com cores vivas para prejudicar a aparência plástica, ou adicionar muitas sombras e detalhes de textura ao rosto (como barbas etc.) para quebrar as seções contínuas de outra forma grandes pele.


2
Sem mencionar todo o trabalho de pós-processamento que entra nas animações de filmes. Muitas coisas são renderizadas como várias cenas separadas que precisam ser colocadas em camadas juntas após a renderização. É por isso que, em muitos filmes animados, você costuma ver fundos relativamente estáticos com personagens se movendo em primeiro plano.
Vladimir

6

Para responder a uma das perguntas que o OP fez em um comentário:

"Então, quem deve ser o principal culpado? Nível de polígono ou traçado de raios?"

Esta questão é mais difícil do que parece. Eu acho que uma boa regra de ouro é a seguinte equação (que eu criei a propósito):

number of calculations = {polygons} * {light sources} * {effects}

Basicamente, isso significa que, para modelos com relativamente poucos materiais especiais (ou seja, sem espelho, sub-surf, etc.), o tempo de computação será grande, determinado pelo número de polígonos. Geralmente é o caso de gráficos de videogame muito simples.

Na prática, no entanto, em jogos mais recentes e, especialmente, em filmes, o culpado é "geralmente" o traçado de raios. Por quê? Bem, por duas razões. Vou dar a razão matemática primeiro, e depois a minha opinião sobre a verdadeira razão no final.


Razão de Mathy:

Atualização: Esta explicação matemática pode não ser completamente precisa. Por favor, veja a explicação de CrazyCasta nos comentários para mais detalhes.

Suponha que você tenha 1000 polígonos e 3 fontes de luz. O menor número de traços de raios que você precisa executar é 3 * 1000.

Se simplificarmos demais a situação e presumirmos que 1 traço de raio = 1 cálculo (uma subestimação bruta), precisaremos de 3000 cálculos.

Mas agora vamos supor que você também queira ter reflexos.

As configurações padrão para reflexões no programa freeware Blender são:

max reflections  = 2
ray length limit = None
...

Para essas configurações, podemos supor que, na melhor das hipóteses, essa reflexão super-simples dobrará o custo computacional do seu modelo.

Mas, como eu disse antes, este exemplo é muito simplificado e você pode encontrar muitos efeitos (além dos que eu já mencionei) que reduzirão seu tempo de renderização pelo telhado.

Caso e argumento: tente renderizar reflexões com gloss=1(o padrão no Blender), abaixe o brilho para 0,01 e compare os dois tempos de renderização. Você verá que aquele com brilho de 0,01 será muito mais lento, mas a complexidade do modelo não foi alterada.


Minha razão qualitativa, mas mais realista:

Aumentar a complexidade da malha apenas melhorará a qualidade do modelo até certo ponto. Depois de passar alguns milhões de rostos, realmente não há muito o que adicionar mais rostos fará. Eu vou até o ponto em que digo que, se você usar suavização, poderá sair com apenas algumas centenas de rostos para fins mais gerais.

Mas o que quase sempre faz diferença é a iluminação, os efeitos materiais e o traçado de raios. É por isso que os filmes tendem a usar um grande número deles na tentativa de aproximar as belas complexidades do mundo real.


Uma ótima maneira de ter uma ideia de tudo isso é ver a lista de elenco no final das últimas animações da Disney. Você provavelmente ficará surpreso com quantas pessoas de iluminação e textura possuem.


2
Meu Deus, esse é o ponto que eu estava procurando. Embora não tenha sido minha pergunta (fiquei um pouco confuso com o que devo pedir), acho que é isso!
cowboysaif

11
@cowboysaif Fico feliz em ajudar! :)
Vladimir

11
Na realidade, as coisas não são tão legais quanto eu poderia ter feito parecer. Mas acho que isso pode ajudá-lo a ter uma ideia geral. Normalmente, confio apenas na tentativa e erro. Como se eu estivesse renderizando uma cena mais longa (mais de 100 quadros), primeiro renderizo um ou dois quadros para poder ver a rapidez com que ela passa e quais efeitos tendem a desacelerá-la.
Vladimir

2
Um velho truque ao usar o POVRay em um 486 no passado - se você quiser saber quais partes da cena são mais caras, reproduza várias visualizações de todo o palco com todos os atores e acessórios no lugar e observe as partes que diminuem a velocidade o raytracer para um rastreamento. Aumente o zoom nessas partes e descubra o pior desempenho possível e gaste a maior parte do seu orçamento de renderização nos quadros que incorporam esses elementos. Se você tem um cronograma de renderização apertado, considere reformular algumas fotos.
Tom B

11
@ TomB Bom conselho! Acrescento que, se você espera que uma cena em particular seja lenta, pode realizá-la na Web e renderizar todo o resto localmente.
Vladimir

4

Vale a pena acrescentar que a animação do filme geralmente faz uma grande quantidade de truques visuais para tornar o movimento percebido mais fluido.

Os animadores podem, por exemplo, usar técnicas tradicionais de animação manual que normalmente não são usadas na renderização em tempo real, como manchas, múltiplos ou distorção, para produzir movimentos com aparência mais fluida, apesar da baixa taxa de quadros que os filmes são (de qualquer forma, até recentemente ) exibido em. O uso de manchas e múltiplos, em particular, é complicado pelo uso de malhas - você precisa produzir deformações de malha para esse tipo de distorção de malha, e não acredito que tenha visto isso em qualquer videogame em 3D.

Os quadros com objetos em movimento rápido passando por eles podem ser renderizados em uma taxa de quadros diferente e depois combinados novamente para produzir desfoque de movimento na cena. Atualmente, o motion blur é uma técnica bastante comum nos gráficos 3D em tempo real. Geralmente, o efeito não é da alta qualidade que uma casa de animação com dezenas de processadores à sua disposição obterá (veja as respostas "de tempo" acima), em grande parte devido ao fato de que a simulação de desfoque de movimento muito bem requer várias etapas de pós-processamento por camada, e um grande número de quadros intermediários para ser realmente fluido.

Fazer esse tipo de truque visual para aprimorar a qualidade percebida com gráficos em tempo real requer limitar efetivamente a taxa de quadros de saída a taxas bem abaixo dos quadros intermediários máximos disponíveis para renderização em segundo plano e, em seguida, fazer composição para produzir o quadro final. Provavelmente, existem várias escolas de pensamento sobre se os pequenos ganhos em fidelidade visual para o uso de técnicas como essa valem a perda do orçamento do quadro, especialmente se for extremamente difícil de acertar.

Para abordar um aspecto da sua pergunta:

E a renderização de filmes animados por horas e horas os torna tão bonitos, enquanto a renderização ao vivo no jogo é menos bonita (do ponto de vista geral)?

Artesanal, principalmente. Os artistas em tempo real não têm a chance de ajustar cada quadro ou criar truques únicos para melhorar a aparência geral de uma cena ou reação, não apenas por causa de restrições de tempo (tanto no desenvolvimento quanto na renderização), mas também porque de restrições práticas. Conforme observado no comentário da interatividade, o player provavelmente não fará exatamente a mesma coisa todas as vezes, mas o filme será exibido da mesma forma.

Isso significa que o artista de videogame tem um conjunto muito diferente de prioridades, no que diz respeito à qualidade do modelo e à qualidade de renderização final do artista de filme. Ambos exigem enormes quantidades de habilidade, mas cada um exige técnicas diferentes. Espero que essas técnicas convergam cada vez mais à medida que o hardware de renderização no nível do consumidor continua a progredir e um gênio matemático adicional continua a surgir nos seus SIGGRAPHs e GDCs.


11
Oooh, você acabou de discutir algo sobre o qual quero falar. Deformação de malha? também é chamado de modificador de malha? Existe um modificador que eu usei enquanto mexia na unidade 3d, chamada mega-fiers ( west-racing.com/mf/?page_id=2 ). Embora o Unity 3D ofereça suporte apenas à animação baseada em ossos, você acha que as tecnologias de jogos finalmente estão lidando com isso? Não tenho idéia de outros mecanismos de jogos!
cowboysaif 4/09/14

11
Esse tipo de efeito deve ser compatível com qualquer tipo de técnica de animação, desde que você esteja usando distorções matemáticas do modelo inteiro com um sombreador de vértice (provavelmente o que os "mega-agentes" estão fazendo). Algumas outras abordagens são: * ter uma malha "alvo", que é uma segunda malha totalmente distorcida e usar seu sombreador de vértice para mover os vértices da sua malha em direção aos vértices correspondentes na segunda malha; * tendo as deformações inseridas no próprio modelo e usando a animação do quadro-chave; * Fazendo suas distorções usando animação esquelética exclusivamente colocando ossos extras conforme necessário ...
Tom B

11
Estou certo de que esse tipo de animação é possível há algum tempo e, até certo ponto, já foi usado, embora na maioria das vezes eu só lembre de instâncias em jogos com criaturas desonestas e modelos flexíveis (como Gish, Tower of Goo, Octodad) . A parte difícil é descobrir quando usar os efeitos, principalmente quando se trata de usar múltiplos ou manchas. A direção do movimento da câmera afeta a aparência do múltiplo ou mancha resultante. Suspeito que as diretrizes usadas pelos animadores de mão sejam um bom ponto de partida, mas pense em toda a diversão que se pode experimentar nas experimentações!
Tom B

3

Um único filme de animação pode levar muitos anos para renderizar em um único animal de uma máquina. Como é pré-renderizado, não importa quanto efeitos dispendiosos, como reflexos de luz, sombras etc., adicionamos à cena. Esses filmes geralmente são renderizados por fazendas de renderização, onde milhares de PCs estão ligados, trabalhando no mesmo trabalho.

A razão pela qual não podemos obter a mesma qualidade em tempo real é simplesmente porque a máquina precisa renderizar o quadro atual em cerca de 16ms para atingir um FPS de 60. Um único quadro para um filme de animação pode levar horas para renderizar em um único PC.

Em um jogo, além dos gráficos, uma tonelada de outras coisas está acontecendo. Cada quadro há toneladas de cálculos. Dito de forma simples, um filme de animação não precisa calcular o dano recebido pelo jogador em um lançador de foguetes, basta animar os gibs e os polígonos renderizarão.

Felizmente, existem pessoas geniais andando por este planeta. Além dos melhores PCs que podem renderizar mais polígonos e texturas maiores, existem algumas invenções engenhosas feitas como mapas normais que podem animar a luz / sombra em um polígono plano muito barato, fazendo com que um objeto 3D chato pareça extraordinariamente detalhado.

Alguns desses efeitos caros que fazem filmes têm esse brilho extra.

  • A luz salta. Na vida real, a luz salta até ser completamente absorvida pelas superfícies sobre as quais salta. Para cada fonte de luz, é necessário fazer cálculos. Tente segurar um objeto colorido ao lado de um pedaço de papel branco. Você verá a cor sangrar no papel.
  • Os jogos têm limitações severas na quantidade de polígonos usados, os filmes pré-renderizados não têm essas limitações, leva apenas mais tempo para renderizar. De volta à oscilação da luz, se tivermos mais polígonos, haverá mais cálculos de luz para visuais ainda melhores, mas à custa do custo crescente exponencial.
  • Com o tamanho da textura, as placas gráficas podem conter apenas uma certa quantidade de dados e a troca desses dados é cara. Uma textura comum de 1024 x 1024, incluindo todos os mapas de sombreador, pode ocupar facilmente algumas porcentagens do seu cartão GFX de 1 GB. Quando o cartão precisa trocar de dados, isso tem um custo. Obviamente, não nos importamos muito com isso ao pré-renderizar um filme. Além disso, em um filme, precisamos apenas de texturas de alta resolução onde a câmera se aproxima; para um jogo, queremos isso para cada objeto que o jogador possa se aproximar.
  • O Pathfinding é muito exigente na CPU. Os algoritmos de busca de caminhos, por exemplo, fazem os inimigos encontrarem rotas em sua direção ou fazem seu jogador percorrer um caminho quando você clica em algum lugar. Essa busca de caminhos pode ser cara, quando existem 10.000 pontos de referência (que são apenas cada metro quadrado em um mapa de 100m x 100m), então é possível precisarmos atravessá-los muitas vezes em um único quadro. Existem muitas maneiras de tornar isso mais barato, dependendo das necessidades, mas o fato é que não precisamos disso para cenas pré-renderizadas.

Para Simpy, precisamos criar truques "baratos" para fazer um jogo parecer bom. Mas o olho humano é difícil de enganar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.