Equilibrando fidelidade visual e desempenho em Projekt Z: Beyond Order

Projekt Z: Beyond Order, o primeiro grande título comercial da 314 Arts, é um shooter de ação zumbi cooperativo para quatro jogadores que mistura narrativa cinematográfica com jogabilidade intensa e focada na equipe.
A equipe se propôs a criar um jogo multiplataforma com visuais fortes e iluminação e ambientes sombrios. Embora nunca tenham se desviado de seu objetivo, eles enfrentaram desafios de desempenho ao longo de seu longo processo de desenvolvimento. Aqui está como eles os superaram.
O DESAFIO:
Superando restrições de desempenho enquanto melhora a fidelidade visual em várias plataformas
PLATAFORMA:
PC, Xbox Series X|S, PlayStation® 5
LOCAL:
Alemanha
EQUIPE DO PROJETO:
6
Projekt Z: Beyond Order: Um estudo de caso da Unity
Como um estúdio melhora a fidelidade visual enquanto mantém o desempenho em várias plataformas?
Quando a 314 Arts trouxe Projekt Z: Beyond Order para várias plataformas, sua motivação não era apenas sobre alcance de mercado – também era sobre enfrentar um desafio técnico.
“Consoles têm recursos limitados, então alcançar nossos objetivos visuais e de jogabilidade enquanto mantemos o desempenho é complexo – mas é isso que torna tudo emocionante,” diz Justin Miersch, cofundador e designer de jogos/níveis da 314 Arts. “Você está constantemente otimizando, extraindo cada gota de poder do hardware. Assistir o jogo se aproximar de nosso objetivo é incrivelmente satisfatório.
Desde o início, a equipe sabia que suas ambições ultrapassariam os limites do hardware. "O desempenho foi nosso maior desafio", acrescenta Miersch. "Também queríamos mostrar o que a Unity pode fazer quando é levada ao seu pleno potencial."

Os resultados
Desempenho aumentado de injogável para um consistente 30 fps no Steam Deck
Taxa de quadros aumentada na GTX 1060 de 30 fps para 55 fps
Ganho de cerca de 2-3 ms de tempo de GPU
Aproveitando o Pipeline de Renderização de Alta Definição (HDRP)
Desde o início, a 314 Arts sabia que Projekt Z: Beyond Order precisava de uma tecnologia de renderização forte para alcançar sua atmosfera sombria e cinematográfica. "HDRP foi crucial para alcançarmos nossos objetivos", diz Miersch. "Precisávamos de qualidade máxima com o máximo de flexibilidade possível, e isso nos deu exatamente isso - uma solução à prova de futuro pronta para novas tecnologias como ray tracing."
A adoção precoce do HDRP deu à equipe acesso a recursos em evolução como Iluminação Global em Espaço de Tela (SSGI), Super Amostragem por Aprendizado Profundo (DLSS), Super Resolução FidelityFX (FSR) e Processamento Pós-Temporal Escalável (STP), que melhoraram tanto a qualidade visual quanto a acessibilidade para hardware de baixo desempenho. No entanto, a análise revelou que as sombras eram o principal gargalo de desempenho. Para resolver isso sem sacrificar a qualidade, a equipe desenvolveu uma ferramenta personalizada - o Gerenciador de Sombras HDRP (HSM).

Projekt Z: Beyond Order | 314 Arts
O HSM controla dinamicamente quando e como o Motor renderiza sombras. Ele as desativa a longas distâncias, armazena sombras estáticas em cache e habilita a renderização em tempo real apenas quando necessário. Ele também considera o tamanho da sombra, o tipo de luz e a distância para manter um desempenho suave, com opções de ajuste manual para evitar pop-in. "O HSM realmente mostra o que você pode fazer com o HDRP graças à sua flexibilidade", diz Miersch. “Em seguida, planejamos usar luzes falsas e decalques de sombra para eliminar a iluminação distante acima.”
Maximilian Kube, cofundador e programador, explica que muitos problemas de renderização surgiram da ambição criativa da equipe. “Nunca se trata do Engine – trata-se de fazer escolhas inteligentes quando se trata de fidelidade visual.” Ao otimizar volumétricos, sombras e texturas, conseguimos ganhos significativos. Reduzimos o orçamento de névoa volumétrica, diminuímos as resoluções de sombra para 512 ou 1K e escalonamos seletivamente os tamanhos das texturas.”
Construindo níveis destrutíveis
A equipe adicionou gore ao design do nível para intensificar o ambiente. Eles usaram o Timeline para criar e editar as animações e efeitos cinematográficos. “Foi um sistema crucial para nós.” O que mais me interessa é que o usamos para mais do que cinematics,” diz Miersch. “Foi muito útil em nossos fluxos de trabalho típicos de design de níveis.“
Como eles construíram seu próprio sistema de missões baseado em nós, os designers de níveis criaram animações no Timeline e as conectaram ao editor de nós para as missões. Isso lhes permitiu testar ideias rapidamente.
“Uma vez que obtivemos aprovações, atualizamos os modelos dentro do Timeline e adicionamos alguns VFX e SFX a ele. Isso realmente acelerou a iteração das missões,” diz Miersch.

Projekt Z: Beyond Order | 314 Arts
À medida que o desenvolvimento do jogo continuava, eles se esforçavam para alcançar um equilíbrio entre feedback visual visceral e satisfatório e desempenho ideal. “Gore é imprescindível para um jogo de zumbis como o nosso, mas a taxa de quadros é a prioridade máxima. Queríamos que o jogador sentisse o impacto de cada golpe – membros voando, sangue espirrando, feridas visíveis – sem comprometer o fps,” explica Kube.
Eles construíram um sistema de dano de zumbis altamente eficiente que lida com dezenas de zumbis na tela simultaneamente sem engasgar. “O objetivo era fazer com que cada encontro parecesse brutal e cinematográfico”, continua Kube, “mas tecnicamente perfeito do ponto de vista do Engine.”
Como parte de seu fluxo de trabalho, o zumbi agora compartilha um material em todos os estados de dano e permanece uma única malha com pele, não importa o quão desmembrado ele se torne. Eles compartilham sangue e outros efeitos através de um pool de objetos para evitar operações caras de Instanciar e Destruir sempre que possível.

Projekt Z: Beyond Order | 314 Arts
Melhorando o desempenho da GPU
À medida que os desafios de desempenho aumentavam, a equipe recrutou a equipe de Sucesso Integrado da Unity para soluções. Com acesso a suporte premium, eles resolveram a maioria dos problemas críticos em 24 horas.
A verdadeira descoberta para a equipe veio da Revisão do Projeto. “Ter um engenheiro da Unity mergulhando em nosso projeto por vários dias foi um divisor de águas,” diz Miersch.
Capturas de GPU em um NVIDIA RTX 3090 revelaram que mesmo em 1080p, o jogo excedeu seu orçamento de quadros. Passagens como SSGI e iluminação adiada escalaram bem, mas GBuffer, mapeamento de sombras, pré-passagem de profundidade e vetores de movimento exigiram otimização.
“A passagem do GBuffer sozinha levou mais de 20% do nosso tempo de GPU. A análise do PIX mostrou que desabilitar o Early-Z devido a uma configuração incorreta da GPU causou algumas chamadas de desenho caras. Early-Z pula a sombreamento de pixels em pixels ocluídos realizando o teste de profundidade antes do sombreador de pixels,” explica Kube. “Uma vez que corrigimos uma configuração de sombreador que desabilitava a otimização do Early-Z, ganhamos cerca de dois a três milissegundos por quadro.”
A renderização de sombras foi o próximo maior custo, particularmente sombras de luz pontual. “Tínhamos luzes pontuais demais atualizando a cada quadro, algumas com distâncias de desvanecimento de até 10.000 metros,” diz Miersch. “Ao mudar para holofotes sempre que possível, reduzindo as distâncias de desvanecimento e configurando as sombras para atualizar sob demanda, cortamos significativamente o uso da GPU sem impactar os visuais.”

Projekt Z: Beyond Order | 314 Arts
As otimizações da pré-passagem de profundidade também foram importantes. Os desenvolvedores usaram a opção de pré-passagem de profundidade completa, que renderizou todas as malhas para preencher o buffer de profundidade. Por padrão, o HDRP limita este passe a materiais complexos, como objetos com recorte alfa ou de dispersão subsuperficial, para reduzir a carga de trabalho da GPU.
“Nós avaliamos o desempenho com e sem o pré-passe de profundidade total, e também otimizamos os níveis de LOD, simplificamos a geometria e desativamos decalques ou dispersão subsuperficial para objetos distantes”, diz Kube, “tudo isso ajudou a reduzir o overdraw sem sacrificar a qualidade visual.”
As melhorias no vetor de movimento reduziram ainda mais a carga da GPU. “O motor estava renderizando muitos objetos estáticos desnecessariamente no passe de vetor de movimento,” explica Miersch. “Ao definir objetos não animados como Apenas Movimento da Câmera ou Forçar Sem Movimento, e eliminar objetos distantes, cortamos significativamente o tempo da GPU sem afetar a fidelidade visual.”
Após implementar essas recomendações, o desempenho melhorou dramaticamente. O jogo agora roda a 30 fps estáveis no Steam Deck, e em uma GTX 1060, as taxas de quadros saltaram de 30 fps para 55 fps.
“A equipe do Integrated Success não apenas nos ajudou a corrigir o desempenho – eles nos ensinaram a entender melhor o motor,” diz Miersch. “Ter acesso direto aos engenheiros da Unity e insights acionáveis fez toda a diferença.”

Projekt Z: Beyond Order | 314 Arts
Otimizando o desempenho da CPU
Com os gargalos da GPU sob controle, a atenção se voltou para o pipeline da CPU. Enquanto o jogo é limitado pela GPU em 4K em uma GeForce RTX 3090, em 1080p a carga muda, com a thread principal gastando cerca de metade do seu tempo de quadro de 28 ms na renderização. “A profilagem mostrou que o Render Graph do HDRP e o Scriptable Render Context eram responsáveis pela maior parte da sobrecarga da CPU,” diz Miersch.
O Render Graph prepara os dados de luz, registra e compila os passes de renderização, e os executa em ordem, enquanto o Scriptable Render Context lida com os comandos de desenho com base nos resultados de culling. O desempenho depende das luzes da cena, passes de renderização e lotes de chamadas de desenho por passe.
Para otimizar, a equipe avaliou as configurações do HDRP, habilitando o Culling de Passes de Renderização Dinâmico para pular passes desnecessários e testando opções como transparência de baixa resolução, culling de distância e distâncias de culling baseadas em camadas. “Ao eliminar pequenos objetos mais próximos da câmera, reduzimos chamadas de desenho, projetores de sombra e overdraw. Isso ajudou tanto o desempenho da CPU quanto da GPU,” explica Miersch.

Projekt Z: Beyond Order | 314 Arts
A atualização da equipe para o Unity 6 também melhorou o desempenho da CPU. Eles usaram o recurso GPU Resident Drawer (GRD) para aproveitar a API BatchRendererGroup para reduzir chamadas de desenho, enviar menos dados por quadro e diminuir o bloqueio da thread principal. “Ao habilitar o GRD, tanto a thread principal quanto a de renderização tiveram ganhos mensuráveis”, explica Miersch.
Eles também eliminaram automaticamente malhas pequenas usando a configuração de Porcentagem de Tela de Malhas Pequenas, o que reduziu chamadas de desenho de objetos muito pequenos para afetar significativamente o quadro.
“HDRP usa o sistema Render Graph extensivamente em sua implementação, o que pode introduzir alguma sobrecarga de CPU. Com o Unity 6, utilizamos o cache do Render Graph, que reutiliza os resultados da compilação do quadro anterior,” diz Kube. “O motor não precisa mais recompilar o gráfico de renderização a cada quadro, o que reduz significativamente nosso custo.”
Através dessas otimizações combinadas, a equipe da 314 Arts entregou ganhos de desempenho substanciais enquanto trazia sua ambiciosa visão criativa à vida em várias plataformas.
Baixe agora o Unity Pro
Comece a criar jogos que competem e superam a qualidade e o sucesso de lançamentos de grandes estúdios com a ajuda de ferramentas poderosas, suporte, parceiros verificados e uma comunidade vibrante.