Diablo IV

Além da superfície: Os gráficos de Diablo IV

Blizzard Entertainment

O lançamento oficial de Diablo IV em 5 de junho às 20h (horário de Brasília) abre uma nova dimensão do Inferno para viajantes corajosos. Quem for matar demônios por Santuário logo perceberá uma característica marcante de Diablo IV: o jogo é convidativamente sombrio. Essa estética remonta às raízes do universo, aos amados tons góticos de Diablo e Diablo II. O primeiro desses jogos foi lançado há quase 27 anos e, desde então, a tecnologia usada para estabelecer a linguagem visual dos videogames mudou radicalmente.

O líder de engenharia de software Keven Cantin, os engenheiros-chefe de software John Buckley e Kevin Todisco, o artista técnico líder Aaron Aikman e o engenheiro de software sênior Samuel Delmont vão explicar a abordagem da equipe para dar vida aos gráficos de Diablo IV, mostrar algumas das tecnologias usadas no desenvolvimento e falar sobre nossa abordagem em relação à escalabilidade.


Códice

Filosofia e princípios orientadores

Retornando à escuridão com a tecnologia

Escalabilidade em Santuário

Desempenho em consoles no lançamento

O que vem por aí


Filosofia e princípios orientadores

– com Keven Cantin, líder de engenharia gráfica

Os objetivos e a filosofia da equipe de gráficos de Diablo IV estão enraizados nos mesmos valores que levam ao sucesso da Blizzard. Somos uma empresa que prioriza a jogabilidade, o que significa que cada decisão que tomamos deve estar a serviço da criação de um jogo divertido de jogar. Com cada iteração única do reino mortal de Santuário, desafiamos os limites da nossa tecnologia de renderização. Como Diablo IV tem um tom mais sombrio, nos perguntamos: “O que podemos fazer como equipe de gráficos para apoiar essa ideia especificamente?”. Para responder a essa pergunta, selecionamos alguns recursos principais, priorizando um resultado altamente refinado em vez de uma maior variedade de opções.

A colaboração está no centro da nossa filosofia. Nossa equipe de engenheiros gráficos e artistas técnicos colaborou com diferentes equipes de arte de Diablo IV durante o processo de design e desenvolvimento. Ter equipes multidisciplinares trabalhando em um recurso específico é algo comum para nós. Valorizamos muito as perspectivas não só da equipe de arte, mas de todos que trabalham no jogo.

Outro aspecto importante para todos nós é tornar o jogo acessível a um grande público, garantindo que o maior número possível de jogadores possa curtir o jogo de forma plena. Entendemos que os jogadores podem ter dispositivos diferentes com capacidades variadas e queremos garantir que oferecemos uma experiência de alto desempenho e visualmente atraente para todos. Nosso pipeline de gráficos é otimizado para funcionar com eficiência em hardware menos potente. Para hardware mais potente, aproveitamos as capacidades adicionais do dispositivo para aprimorar a fidelidade visual e levar o jogo a novos patamares.

Voltar ao topo


Retornando à escuridão com a tecnologia

– com John Buckley, engenheiro-chefe de gráficos

Renderização baseada em física

O visual sombrio de Diablo é amparado pela renderização baseada em física (PBR), que garante mais realismo nos materiais do jogo. Como o nome sugere, usamos valores da física e do mundo real para modelar a interação entre luz e matéria no nosso mundo de jogo virtual. Em um videogame, você pode programar sua própria realidade, o que certamente pode ser muito divertido. Mas se você desvincular completamente os gráficos da realidade, pode ficar muito confuso. Nós escolhemos basear nossa tecnologia na física do mundo real e só nos desviamos da realidade quando parecia adequado para o jogo. Por exemplo, não existe uma “fonte de luz negativa” no mundo real, mas no jogo há situações em que queríamos que a magia sombria retirasse a luz do mundo.

Para obter materiais baseados em física, nossa equipe de arte criou muitos dados para informar ao nosso engine gráfico como a luz deveria interagir com a superfície. Nossa equipe de arte decidiu, por exemplo, quais comprimentos de onda de luz irradiam de um determinado material do jogo, o grau de suavidade ou rugosidade dos detalhes microscópicos, o quanto a superfície é metálica e muitos outros aspectos.

A imagem acima mostra as propriedades físicas dos materiais de Lilith, separados individualmente.

Luzes, sombras e o espaço intermediário

Ao pensar sobre a direção de arte no início do desenvolvimento, ficou evidente a necessidade de expressar um tom mais sombrio com a arte de Diablo IV. Para isso, precisávamos de sombras (o máximo que conseguíssemos extrair do hardware), mas mantendo uma taxa de frames muito alta. Com um mundo aberto em constante mudança, masmorras geradas aleatoriamente, clima dinâmico e cenas que incluem seu personagem exclusivo, poucos truques ou atalhos de otimização poderiam ser implementados. Felizmente, as placas de vídeo e consoles de hoje são incrivelmente rápidos, capazes de trilhões de operações matemáticas por segundo, um feito impressionante que seria inconcebível há apenas algumas décadas. Esses trilhões de operações nos permitem realizar cálculos complexos de iluminação e sombra, que seguem de perto os detalhes intrincados da própria realidade.

A complexa teia de linhas na imagem representa a iluminação em uma masmorra de Diablo IV.

A complexidade vem da necessidade de computar sombras para todas essas fontes de luz separadas. Para ajudar a acelerar esses cálculos, optamos por implementar o que é conhecido como renderização diferida, uma comprovada técnica gráfica que compartilha cálculos de materiais complexos entre diferentes fontes de luz.

Além da renderização diferida, temos um sistema elaborado para calcular, armazenar e sobrepor sombras que construímos do zero. As masmorras são geradas aleatoriamente. Não sabemos exatamente qual será a configuração da masmorra antes de ser gerada. Felizmente, nem todas as partes de uma masmorra mudam depois que ela é gerada. À medida que você se move por uma masmorra, o sistema de iluminação tenta gerenciar e agendar esses cálculos de sombra para que não sejam feitos todos de uma vez. O sistema de sombras é construído para aproveitar objetos estáticos, como o chão e as paredes, geralmente armazenando esses cálculos para mais tarde, e sobrepor objetos dinâmicos, como seu personagem, nesses cálculos armazenados.

Embora bons materiais representem a base da arte do nosso jogo, a iluminação e as sombras são necessárias para dar vida a essa arte. Assim como os materiais, a iluminação de Diablo IV é baseada na física do mundo real. Detalhes técnicos como esses podem facilmente sobrecarregar uma equipe de arte que está tentando expressar uma visão artística, então colocamos esses detalhes sob um incrível conjunto de ferramentas de arte, facilitando o foco da equipe na sua especialidade. Para isso, criamos um conjunto totalmente novo de ferramentas de arte poderosas para Diablo IV. Essas ferramentas incluem muita física, com termos aplicáveis como lúmens, irradiância e candelas.

Uma das surpresas durante o desenvolvimento foi a importância do espaço intermediário. Alcançar um tom escuro em um mundo sombrio e realista significava que precisávamos modelar a poeira e as partículas entre as luzes e os objetos. Isso é chamado de renderização volumétrica e foi uma peça-chave para dar vida à arte de Diablo IV.

No passado, emulávamos esses efeitos com sistemas de partículas, imagens sobrepostas em formas retangulares e depois colocadas em camadas na frente da câmera. O resultado dava a ilusão de poeira e fumaça, mas era primitivo. No mundo real, a luz é refletida e interage com estruturas sólidas e densas, como paredes. Mas a luz também atravessa um campo minado de poeira e partículas no próprio ar, com mudanças nas características físicas ao longo do caminho. Em Diablo IV, modelamos o ar de forma que as partículas do ar sejam iluminadas. A luz percorre o espaço não vazio (às vezes se dispersando, às vezes sendo absorvida) em uma jornada em direção a uma câmera virtual no mundo do jogo. Tudo isso usando a física do mundo real. Até mesmo os vitrais emitem luz no próprio ar.

Olhando de perto

Um dos destaques de Diablo IV é que a história é contada por meio de cenas no jogo. Quando a câmera se aproxima de um personagem, é fundamental representar a pele com precisão. A luz é transmitida através da pele de trás para a frente, como visto nas asas de Lilith. No mundo real, a luz também entra na pele, é refletida e depois sai da pele por um local diferente. A luz é modificada pela carne, sangue e osso por onde passa, um fenômeno físico conhecido como dispersão subsuperficial. Modelar essa complexa interação de luz dá vida ao rosto do personagem. Sem isso, os rostos pareceriam de plástico.

A imagem à esquerda mostra a pele no jogo sem distribuição de luz realista, enquanto a imagem à direita mostra a luz sendo distribuída de forma realista pela pele.

Voltar ao topo


HDR em Diablo IV

– com Kevin Todisco, engenheiro-chefe de gráficos

Outra tecnologia mais recente no retorno à escuridão são as telas de alto alcance dinâmico (HDR).

O HDR vem se popularizando com cada vez mais telas no mercado compatíveis com essa tecnologia. Antes de discutirmos o HDR em Diablo IV, vale a pena falar mais sobre o que é essa tecnologia e seus benefícios em relação à tecnologia de exibição com a qual nos acostumamos nas últimas décadas.

As telas do passado estavam limitadas a uma faixa específica de brilho. Ou seja, o limite inferior era de cerca de 0,1 nit. Nit é uma unidade de brilho em uma superfície plana, e um nit é o brilho de uma vela em uma área de um metro quadrado. O limite superior dessas telas mais antigas era de 80 nits, o que não é tão brilhante. As TVs de tubo (CRT) provavelmente atingiam no máximo 80 nits. Isso tende a parecer decepcionante. Quando as TVs HD chegaram ao mercado, os fabricantes de telas queriam ter a melhor imagem em seus produtos. Então eles começaram a aumentar o brilho das telas para valores como 300 nits. Por causa do chamado “Efeito Hunt”, cores mais brilhantes também parecem mais saturadas. Isso faz com que as cores se destaquem mais e a imagem pareça mais vibrante em telas de alta definição, exatamente o que gostamos de ver nos jogos.

O padrão de exibição HDR expandiu ainda mais esse alcance para o máximo atual de 10.000 nits, e a tecnologia OLED tornou possível alcançar o preto verdadeiro em qualquer parte da tela. Esses avanços significam que a renderização interna HDR de um engine de jogo agora pode ser enviada diretamente para a tela sem a compressão necessária para o padrão SDR. Conseguimos alcançar não apenas brilhos mais brilhantes, mas também o que é mais importante para Diablo IV: o mais escuro dos escuros.

Vamos ver como isso ganha vida no jogo. Nesta cena, ativamos um visualizador de cores falsas para mostrar a faixa de brilho que seria exibida em uma tela. Confira a legenda para interpretar as duas imagens a seguir.

Primeiro, temos Diablo IV em uma tela SDR.

Agora compare isso com a mesma cena em uma tela HDR.

Perceba como a cena em HDR atinge o preto verdadeiro em algumas partes da tela e, no geral, é muito mais escura. Então por que a cena em SDR parece muito mais brilhante? Para telas SDR, precisamos mapear os tons da imagem para aumentar os valores mais escuros até o limite inferior de 0,1 nit, o que pode ser visto nas sombras da primeira captura de tela. Essa compressão também significa que aumentamos o brilho do restante da cena; caso contrário, tudo apareceria como sombra. Esse problema é conhecido como “crushed blacks” (pretos sem detalhes), e é o que nosso mapeamento de tons evita para telas SDR.

Em contraste, em HDR, podemos reproduzir com mais fidelidade a iluminação tênue dessa masmorra e até mesmo ter áreas de preto puro nas sombras, o que realmente ajuda a transmitir a atmosfera gótica e sombria de Diablo IV.

Mudanças no HDR desde o Beta Aberto

Durante o Beta Aberto, tivemos um problema que fazia com que os níveis de preto no jogo parecessem ser “elevados” acima da capacidade de valores escuros das telas HDR (especialmente as OLEDs). Nossa equipe concluiu que isso se devia a uma função log() destinada a ajudar na distribuição de amostras nas tabelas de pesquisa de cores. A função log() faz um ótimo trabalho ao distribuir bem as amostras por todo o cubo de cores, mas os fãs de matemática perceberão que nunca pode chegar a 0 porque 20 ainda é 1, e até 2-10 ainda é 0,000976. Na verdade, 0,000976 é importante porque foi o valor mínimo de cor que o jogo conseguiu colocar no framebuffer devido ao bug. Graças ao processamento de imagens adicional que as fabricantes de telas colocam em suas TVs SDR, essas telas mostram algo próximo ao preto ao alcançarem esses valores. No entanto, em uma TV HDR, esses valores são interpretados de forma mais literal. Esse valor (0,000976) é traduzido em cerca de 0,07 nit de brilho na tela, o que está bem acima do mínimo de nits de quase zero de uma OLED e seria visto como um brilho incomum em todas as coisas escuras no jogo. Ficamos felizes por ter resolvido esse problema antes do Teste de Servidores.

Outra mudança importante que fizemos entre o Beta Aberto e o Teste de Servidores foi a introdução de uma nova curva de mapeamento de tons especificamente para HDR. Basicamente, pegar os valores HDR internos e enviar diretamente para a tela é como tirar uma foto com sua câmera e publicá-la sem adicionar nenhum tipo de filtro. O resultado pode parecer um pouco “desbotado” ou uniformemente sem contraste ou brilho. Ao introduzir uma nova curva de mapeamento de tons selecionada pela equipe de arte, alcançamos o contraste e a saturação de cores que buscávamos em HDR. Temos uma cena de deserto que demonstra isso muito bem. Primeiramente, a imagem sem mapeamento de tons.

E agora a mesma cena com nosso mapeamento de tons HDR.

É bem sutil, mas alternando entre essas imagens você verá que a imagem com mapeamento de tons ganhou contraste e a areia parece menos cinza e mais, digamos, arenosa.

Isso também pode ter um efeito sutil, mas importante, na saturação da cor. Preste atenção nas duas fontes de luz nesta cena.

A fonte de luz no lado direito da imagem parece natural, mas falta um pouco de contraste nas áreas mais brilhantes. Agora, compare com a mesma cena usando nosso mapeamento de tons HDR.

Novamente, o efeito é sutil, mas extremamente importante. O brilho laranja da fonte de luz à esquerda desviou para o vermelho, e a área iluminada à direita ganhou saturação. Essas mudanças foram muito importantes para manter o mesmo visual e sensação do jogo em telas SDR e HDR.

Calibrando o Inferno

Trabalhamos muito para fazer as versões SDR e HDR de Diablo IV serem visualmente incríveis por padrão. Também temos opções de calibração disponíveis para lidar com as diferenças de tela e de iluminação ambiente. Veja abaixo a tela de calibração HDR, que permite ajustar o ponto preto, o brilho e o ponto branco para personalizar o visual do jogo como você quiser.

Voltar ao topo


Ligando os pontos com a arte técnica

– com Aaron Aikman, artista técnico líder de gráficos

A arte técnica de gráficos ajuda a conectar engenheiros e artistas, combinando sombreadores e geração de arte procedural com os detalhes de renderização de baixo nível que levam vértices e pixels para a sua tela.

A maior parte do nosso trabalho de sombreador ocorre em sombreadores de pixel, que geram valores para materiais baseados em física, como albedo, rugosidade, normal, alfa e emissivo. A criação de um sombreador é semelhante à criação de uma série de etapas para que os dados sejam acessados e modificados antes dos resultados do processamento. Acessar os dados geralmente significa realizar amostragem de texturas criadas fora do engine, mas a parte interessante ocorre quando esses dados são combinados.

Para efeitos visuais, isso pode significar combinar texturas de ruído lado a lado de uma maneira que crie névoas esvoaçantes, infernos ardentes ou poças venenosas sem a necessidade de criar texturas frame por frame. Também podemos usar texturas com informações direcionais 2D para distorcer as texturas de ruído e obter ainda mais variação.

O sombreamento em Santuário

Os personagens representam uma mistura interessante de elementos de sombreador simples e recursos de sombreador para transmitir efeitos de estado, como pegar fogo, envenenamento ou furtividade. Para adicionar mais interação dinâmica com o ambiente, os personagens se molham na chuva e ficam secos em ambientes fechados. No calor da batalha, os jogadores podem ficar ensanguentados dependendo das habilidades usadas. E para oferecer alta fidelidade ao chegar perto do jogador, os sombreadores dos personagens integram texturas altamente detalhadas quando a câmera se aproxima.

Os sombreadores de ambiente também aplicam uma variedade de técnicas, como mesclagem direcional, dimensionamento de texturas adaptável e dissolução. Os sombreadores direcionais permitem mesclar diferentes texturas com base na direção para a qual a superfície está voltada, como em rochas cobertas de neve. É possível usar dados de curvatura para modificar valores de cor e rugosidade para bordas e cavidades em materiais de ambiente. Os sombreadores de objetos usam elementos emissivos para iluminar e chamar a atenção para objetos interativos. Os sombreadores de terreno fazem uma mesclagem complexa de muitas texturas agrupáveis para criar um solo que pareça natural. Para limitar a complexidade dos sombreadores, criamos texturas virtuais que combinam várias texturas uma vez, em vez de ter que mesclá-las para cada frame que renderizamos.

Os sombreadores de água utilizam várias técnicas de sombreador de pixel para emular a realidade. Os artistas podem pintar máscaras para camadas de texturas de ruído e distorcê-las ao longo do tempo. A luz simulada abaixo da superfície tem refração para criar um efeito de distorção, e a cor varia com base na profundidade da água. Além disso, os personagens podem interagir com a água. Ao passarem por água, jogadores e monstros criam ondas e agitam a espuma. Elementos de sombreador de vértice permitem deslocar a posição dos vértices da superfície. Isso é especialmente perceptível quando as ondas do mar chegam à costa ou as habilidades acionam explosões.

Falando em sombreadores de vértice, muitos materiais de ambiente usam a matemática para mover o que seriam malhas estáticas. A folhagem move-se ao interagir com personagens e habilidades, rajadas de vento movimentam a grama, tumores de carne podem ondular, glóbulos de sangue e membros se contorcem... Tudo graças ao uso de dados e matemática no sombreador.

Voltar ao topo


Escalabilidade em Santuário

– com Samuel Delmont, engenheiro de gráficos sênior

Diablo IV foi desenvolvido para PC Windows e duas gerações de consoles. Para isso, vários sistemas foram implementados para tornar o engine escalável e capaz de manter a qualidade, respeitando a taxa de frames necessária de cada dispositivo para oferecer a melhor experiência de jogo possível.

Considerando as capacidades de PCs e consoles, como restrições de memória e potência de processamento de CPU e GPU, Diablo IV terá o desempenho mais adequado para o dispositivo em uso. Por exemplo, é possível carregar materiais, como malhas e texturas, com um nível mais baixo de detalhes, e o mesmo tratamento pode ser aplicado a sombreadores, efeitos visuais, efeitos de pós-processamento e outros sistemas. Ajustar cada uma dessas configurações permite priorizar a qualidade da imagem em vez do desempenho ou vice-versa.

Entendendo as opções para PC

O engine de Diablo IV selecionará automaticamente a configuração gráfica mais adequada para o hardware do seu PC. Há quatro predefinições para escolher: Baixa, Média, Alta e Ultra, além da opção de selecionar uma predefinição diferente para ajustar a qualidade e a taxa de frames como você quiser. Mas é importante entender o impacto que cada configuração diferente tem nas restrições, como uso de memória e custo de processamento.

Resolução

Um dos principais fatores para o desempenho é a resolução de renderização do jogo. Ao jogar no PC, o mundo pode ser renderizado em uma resolução mais baixa ou mais alta com base no controle Porcentagem de Resolução e redimensionado para corresponder à resolução final do monitor ou janela usado pelo jogador.

Diminuir a Porcentagem de Resolução reduz a resolução interna do jogo, gerando uma melhor taxa de frames ao custo de uma imagem menos nítida. Por outro lado, aumentar a Porcentagem de Resolução aumenta a resolução interna, reduzindo o desempenho porque mais pixels são renderizados, o que exige mais memória. Isso proporciona mais qualidade e uma imagem mais detalhada, além de reduzir o aliasing.

Como alternativa ao método de upscaling padrão, várias opções de upscaling estão disponíveis para PC, incluindo o NVIDIA DLSS 3, para obter uma resolução mais alta para a imagem final enquanto renderiza o mundo em uma resolução mais baixa com perda mínima de qualidade. Já os consoles aproveitam uma combinação de upscaling e gerenciamento de resolução dinâmica para manter alta taxa de frames e qualidade visual em todos os momentos.

Otimizando as configurações para a sua experiência

A opção de qualidade das texturas é uma das configurações com maior impacto no uso de memória e no desempenho do jogo. Há quatro opções de qualidade para escolher, mas vamos nos concentrar em duas: Ultra e Alta. Para usar Ultra, a qualidade mais alta, é necessário selecionar os Elementos em Alta Resolução no menu de opções de instalação no Battle.net, além de ter pelo menos 32 GB de memória instalada no sistema. A qualidade Ultra é melhor aproveitada ao jogar com um monitor 4K, mas aumenta o uso de memória. A opção Alta é indicada para telas com resolução de 1440p e 1080p. Reduzir a qualidade das texturas faz com que o jogo carregue texturas em resolução mais baixa e aumenta o desempenho, além de reduzir o uso de memória pelo jogo ao custo de texturas com menos definição.

A qualidade das sombras também tem um grande impacto no uso de memória. Reduzir essa configuração diminui o uso de memória e aumenta o desempenho, mas faz com que as sombras do sol e de luzes locais fiquem menos nítidas.

Se a memória for uma preocupação, recomendamos reduzir tanto a qualidade das texturas como a qualidade das sombras. Algumas das outras configurações têm impacto relevante na memória (como a Complexidade Geométrica), mas a maioria tem pouco ou nenhum impacto. Para saber mais sobre cada opção, acesse o menu de configurações.

Voltar ao topo


Desempenho em consoles no lançamento

Diablo IV será lançado em vários consoles. Selecionamos os melhores valores para obter a qualidade mais alta em cada console. As resoluções e as taxas de frames listadas abaixo representam o desempenho em consoles Xbox e hardware semelhante.

Xbox:

  • Xbox Series X: 60 FPS em 4K
  • Xbox Series S: 60 FPS em 1440p
  • Xbox One X: 30 FPS em 1440p
  • Xbox One S: 30 FPS em 1080p
  • Xbox One: 30 FPS em 1080p

Voltar ao topo


O que vem por aí

Nossas ambições gráficas não param por aqui. Após o lançamento, a equipe vai continuar adicionando novos recursos, além de aprimorar e otimizar os existentes. Seu feedback é muito bem-vindo e pode ser compartilhado nos fóruns de Diablo IV. Mas, por enquanto, agradecemos por ler esta visão detalhada sobre os gráficos que tornam Diablo IV tão artisticamente sinistro.

Nos vemos em Santuário!
– Equipe de Diablo IV


Aprimore sua jornada por Santuário com o NVIDIA DLSS 3

Como mencionado anteriormente, o NVIDIA DLSS 3 é uma das opções de upscaling disponíveis para Diablo IV no PC. Com o NVIDIA DLSS 3, você pode multiplicar as taxas de frames nas placas de vídeo GeForce RTX Série 40 para deixar o fogo do Inferno Ardente ainda mais brilhante. Se quiser ativar o DLSS 3, clique aqui e role até a parte inferior da página.

O Driver GeForce Game Ready da NVIDIA para Diablo IV já está disponível para download na aba Drivers do GeForce Experience ou pelo site da GeForce.

Voltar ao topo