Between Tech and Art: The Vegetation of Horizon Zero Dawn

Between Tech and Art: The Vegetation of Horizon Zero Dawn

Introdução

Visão Geral da Seção: Nesta seção introdutória, o palestrante faz uma piada sobre a criação do mundo e apresenta-se como um dos artistas responsáveis pela criação da vegetação no jogo Horizon Zero Dawn.

Apresentação do Palestrante

  • Gilbert Saunders é um artista principal na guerilla games.
  • Ele trabalhou em jogos anteriores da empresa, como Killzone 2 e Killzone 3.
  • Em 2011, ele foi convidado para fazer parte de uma equipe que começou a testar e prototipar o que se tornaria Horizon Zero Dawn.
  • Desde 2014, ele está envolvido na produção completa do jogo.

Sobre Horizon Zero Dawn

  • O público é questionado quantos deles já jogaram Horizon Zero Dawn.
  • A vegetação do jogo será discutida nesta apresentação.
  • Um clipe é mostrado para dar uma ideia do que foi criado em termos de vegetação no jogo.

Desafios na Criação de Vegetação

Visão Geral da Seção: Nesta seção, o palestrante aborda os desafios artísticos e técnicos enfrentados ao criar grandes quantidades de vegetação no motor gráfico Décima.

Limitações dos Ativos Naturais

  • Os ativos naturais ainda são simplificações exageradas do mundo real nos consoles atuais.
  • A filosofia de "fazer mais com menos" se aplica à criação e renderização desses ativos.

Tópicos Abordados

  • Os tópicos a serem abordados nesta apresentação são apresentados.
  • Eles representam os desafios artísticos e técnicos enfrentados na criação e renderização de grandes quantidades de vegetação no motor Décima.

Informações Gerais sobre o Motor Décima

  • O palestrante explica que, como artista, ele pode criar e manter seus próprios shaders no motor Décima.
  • A criação de shaders é feita principalmente no Maya, com a ajuda de notas personalizadas fornecidas pelos programadores gráficos da equipe.
  • O desempenho desses shaders é responsabilidade dos artistas, sob a orientação da equipe técnica.
  • O motor Décima usa o primeiro shading e foi projetado para rodar Horizon Zero Dawn a 30 quadros por segundo em 1080p no PS4 e em 4K no PS4 Pro.

Desenvolvimento do Jogo

Visão Geral da Seção: Nesta seção, o palestrante fala sobre o desenvolvimento do jogo Horizon Zero Dawn e como a vegetação se tornou um dos pilares do jogo.

Desenvolvimento Inicial

  • Durante o desenvolvimento inicial do jogo, enquanto outros membros da equipe trabalhavam em Killzone Shadowfall, a equipe começou a testar e criar os elementos naturais para Horizon Zero Dawn.
  • A experiência adquirida com Killzone Shadowfall ajudou a entender as dificuldades na criação e movimentação da vegetação.

Importância da Vegetação

  • A natureza era um elemento crucial para o novo IP que estavam criando.
  • Sete anos depois, o palestrante está aqui para falar sobre esse aspecto importante do jogo.

Sistema de Posicionamento

Visão Geral da Seção: Nesta seção, o palestrante discute a importância do sistema de posicionamento na criação do mundo de Horizon Zero Dawn.

Testes com Killzone Shadowfall

  • Durante a produção de Killzone Shadowfall, foi possível testar e aprender sobre a criação e movimentação da vegetação.
  • Foi descoberto que ter um sistema de posicionamento era essencial para criar o mundo aberto desejado em Horizon Zero Dawn.

Sistema de Posicionamento

  • Um sistema foi desenvolvido para permitir que os artistas descrevessem uma variedade de ambientes interessantes e realistas que poderiam ser aplicados em qualquer lugar do mundo do jogo.
  • O sistema precisava ser altamente flexível, integrar-se perfeitamente com a arte manualmente colocada e ser totalmente orientado por dados.
  • Esse sistema ajudou a preencher rapidamente o mundo do jogo e também facilitou os testes de escala e desempenho dos novos ativos.

Movimento da Vegetação

Visão Geral da Seção: Nesta seção, o palestrante explica como o movimento da vegetação foi integrado ao sistema climático do jogo.

Integração com o Sistema Climático

  • Desde o início, sabia-se que a simulação da natureza deveria estar ligada ao sistema climático projetado para o jogo.
  • O movimento da vegetação é impulsionado pelo programa Vertex Shader dos shaders de vegetação.
  • A base dessa simulação é um campo global de força do vento chamado "wind boxes".

Conclusão

O palestrante introduz os desafios enfrentados na criação da vegetação em Horizon Zero Dawn e discute a importância do sistema de posicionamento e do movimento da vegetação no jogo.

O Vento na Simulação

Visão Geral da Seção: Nesta seção, o palestrante explica como o vento é simulado no jogo e como isso afeta a resolução e escala dos elementos.

Textura 3D para Representar o Vento

  • A simulação do vento utiliza uma textura 3D que é amostrada em diferentes escalas e resoluções.
  • A textura de vento permite que a simulação esteja sempre em alta resolução próxima ao jogador, enquanto gradualmente diminui a resolução à medida que se afasta.

Cascata de Campos de Força

  • O jogo utiliza cascata de campos de força para representar o vento local ao redor do jogador.
  • Existem várias cascadas de campos de força para diferentes tipos de elementos no jogo.
  • Cada cascata tem uma escala um pouco diferente, dependendo do tipo de elemento.

Configurações Distintas para Diferentes Tipos de Elementos

  • A configuração das cascadas permite simular quatro categorias distintas de movimento causado pelo vento.
  • Os elementos são divididos em três categorias principais, cada uma com um movimento característico.
  • No caso específico do jogo mencionado, apenas três categorias foram utilizadas.

Shaders Específicos para Grama e Árvores

  • Inicialmente, foi desenvolvido um único shader para todos os elementos vegetais do jogo.
  • Com o tempo, percebeu-se que a grama necessitava de um tratamento mais especializado, resultando no desenvolvimento de um shader dedicado para ela.

Simulação de Movimento dos Elementos Vegetais

Visão Geral da Seção: Nesta seção, o palestrante explica como é feita a simulação do movimento dos elementos vegetais em resposta ao vento.

Armazenamento de Aproximação de Rigidez nos Vertex Colors

  • O movimento dos elementos vegetais é simulado utilizando uma técnica descrita em um artigo chamado "GPU Gems 3".
  • A aproximação do movimento é armazenada nas cores dos vértices das malhas.
  • Essa técnica foi uma das primeiras pesquisadas e permaneceu inalterada durante a produção do jogo.

Três Níveis de Detalhe no Movimento

  • Para simular realisticamente o movimento dos elementos vegetais, são utilizados três níveis de detalhe.
  • O primeiro nível envolve o movimento geral do elemento inteiro, que se curva mais facilmente na parte superior.
  • O segundo nível lida com o movimento dos galhos e partes anexadas ao tronco.
  • O terceiro nível trata do movimento das folhas ou partes pequenas e finas que agem como folhas.

Uso de Canais RGB para Controle do Movimento

  • Os canais RGB das cores dos vértices são utilizados para controlar diferentes aspectos do movimento.
  • No canal vermelho, é armazenada a distância até o galho mais próximo, permitindo um deslocamento temporal no shader.
  • No canal verde, é utilizado um índice para ajustes adicionais no shader.
  • No canal azul, é armazenada uma aproximação da rigidez do galho.

Shader de Vegetação

Visão Geral da Seção: Nesta seção, o palestrante explica como é utilizado o shader de vegetação para controlar a animação dos elementos vegetais.

Uso das Cores dos Vértices no Shader de Vegetação

  • O shader de vegetação utiliza as cores dos vértices para controlar a animação dos elementos.
  • Variáveis adicionais foram adicionadas ao shader para ajustar a animação em cada elemento individualmente.
  • Essas variáveis permitem ajustes na rigidez, curvatura e movimento dos galhos.

Controle do Movimento nos Galhos

  • Para os galhos, são utilizados três controles principais: "Bend", "Sway" e "Lift".
  • "Bend" controla o movimento ao longo do vetor do vento.
  • "Sway" controla o movimento perpendicular ao vetor do vento.
  • "Lift" controla o movimento vertical para cima e para baixo.

Movimento das Folhas

  • O movimento das folhas é baseado na força do vento.
  • É utilizado um mapa de ruído 3D para mover as folhas designadas.

Simulação de Grama

Visão Geral da Seção: Nesta seção, o palestrante fala sobre a simulação da grama no jogo.

Desafios na Simulação da Grama

  • A equipe tinha planos ambiciosos para a simulação da grama no jogo.
  • Inicialmente, a grama era renderizada como geometria completa, mas isso consumia muitos recursos.

Simplificação da Simulação da Grama

  • Ao longo do desenvolvimento, a simulação da grama foi simplificada para otimizar o desempenho.
  • Foram feitas escolhas artísticas inteligentes para reduzir a quantidade de triângulos e utilizar um shader dedicado para a grama.

Controle do Vento na Grama

  • O shader da grama possui uma função de rampa que permite ajustar a influência do vento em diferentes tipos de gramas.
  • Essa função é multiplicada pela intensidade do vento no jogo, permitindo controlar o movimento da grama de forma diferenciada.

Conclusão

Visão Geral da Seção: Nesta seção final, o palestrante conclui sua apresentação sobre a simulação de vento e movimento dos elementos vegetais no jogo.

Uso de Shaders Específicos e Ajustes Individuais

  • Os shaders específicos e os ajustes individuais permitem um controle preciso do movimento dos elementos vegetais.
  • Cada tipo de elemento pode ter configurações distintas para criar uma aparência realista.

Desafios e Simplificações ao Longo do Desenvolvimento

  • Durante o desenvolvimento, foram encontrados desafios na simulação do vento e movimento dos elementos vegetais.
  • Foram necessárias simplificações e otimizações para garantir um bom desempenho no jogo.

Simulação de Movimento da Grama

Visão Geral da Seção: Nesta seção, o palestrante discute a simulação do movimento da grama no jogo.

Simulação de Movimento da Grama

  • A simulação do movimento da grama é baseada em um campo de força que atua no centro do objeto.
  • A altura da grama é usada como gradiente para imitar a rigidez da malha.
  • Os vértices da grama são deslocados para criar um movimento básico.
  • No entanto, apenas esse movimento básico não é suficiente para obter resultados espetaculares.
  • São adicionados mais elementos de movimento para evitar que a grama incline-se em uma direção específica ou fique parada por muito tempo.
  • O comprimento do campo de força é usado para adicionar um movimento em grande escala à grama, criando pequenas figuras em forma de oito.
  • Além disso, é adicionado um movimento em pequena escala usando uma função periódica que desloca os vértices ao longo das normais.
  • Esses dois tipos de movimentos (grande e pequena escala) compõem cerca de 80% da animação total.

Posicionamento e Disposição dos Modelos

Visão Geral da Seção: Nesta seção, o palestrante aborda o posicionamento e disposição dos modelos no ambiente do jogo.

Posicionamento e Disposição dos Modelos

  • Para evitar que a geometria desapareça quando vista de cima, os modelos de grama são inclinados para longe da câmera.
  • Quando a câmera se move para cima, os vértices são empurrados um pouco mais para longe.
  • Os modelos de grama têm uma área de aproximadamente um metro e meio e são posicionados em relação ao terreno usando o mapa de altura.
  • Isso evita problemas de recorte ou flutuação dos modelos.

Otimização do Desempenho

Visão Geral da Seção: Nesta seção, o palestrante discute as otimizações feitas para melhorar o desempenho do jogo.

Otimização do Desempenho

  • A animação é dimensionada com base na distância, permitindo que seja removida completamente em certas áreas.
  • Reduzir o tamanho total da malha facilita a integração dos modelos com o terreno e melhora o desempenho.
  • Várias pequenas otimizações foram implementadas para melhorar o desempenho geral do jogo.

Renderização de Transparências

Visão Geral da Seção: Nesta seção, o palestrante aborda a renderização de transparências no jogo.

Renderização de Transparências

  • A renderização de transparências é cara em jogos, mesmo quando usando técnicas como teste alfa.
  • No início do desenvolvimento do Horizon Zero Dawn, a equipe não tinha muita experiência com renderização de ativos com teste alfa.
  • Para lidar com a grande quantidade de vegetação necessária no mundo do jogo, eles adotaram uma abordagem de renderização em duas etapas.
  • Primeiro, os modelos com teste alfa são renderizados como ocultadores precoces para obter informações de profundidade.
  • Em seguida, eles são renderizados normalmente, usando apenas as informações de profundidade obtidas na etapa anterior.
  • Essa abordagem reduz significativamente o custo da renderização de transparências.

Manipulação do Canal Alpha

Visão Geral da Seção: Nesta seção, o palestrante discute a manipulação do canal alpha dos ativos no shader.

Manipulação do Canal Alpha

  • No início do desenvolvimento, foram utilizadas texturas alpha com distância assinada para controlar o tamanho das áreas transparentes nos ativos.
  • A equipe também ajustava dinamicamente o canal alpha no shader para combater a diminuição da qualidade nas texturas em distâncias maiores.
  • No entanto, à medida que o mundo do jogo crescia e se tornava mais populado, foi necessário buscar otimizações de desempenho.
  • A manipulação dinâmica do canal alpha provou ser uma operação custosa e foi substituída pela geração de um mapa personalizado offline.

Resultados da Otimização

Visão Geral da Seção: Nesta seção final, o palestrante apresenta os resultados das otimizações realizadas.

Resultados da Otimização

  • Ao remover a manipulação dinâmica do canal alpha e gerar um mapa personalizado offline, houve uma melhoria significativa no desempenho.
  • Os números mostram uma redução considerável no tempo gasto na renderização de sombras e no processamento do canal alpha.
  • Essas otimizações ajudaram a melhorar o desempenho geral do jogo.

Escalando o mapa original

Visão geral da seção: Nesta seção, o palestrante discute a escala do mapa original e sua cobertura após um recorte em 0.5. Ele também menciona a criação de uma textura personalizada para a cobertura alpha.

Escala do mapa e cobertura

  • A quantidade pela qual precisamos escalar o mapa para obter nossa cobertura original.
  • Representação da cadeia intermediária e sua cobertura após um recorte em 0.5.
  • As duas últimas linhas representam o alpha ampliado criado pela nossa própria cobertura alpha personalizada.

Importância de fazer o alpha pequeno

Visão geral da seção: O palestrante destaca a importância de manter o tamanho do alpha visualmente pequeno, especialmente para ativos que serão desenhados em grande quantidade.

Tamanho do Alpha

  • Fazer o alpha tão pequeno quanto visualmente possível é uma boa prática.
  • É importante garantir que o alpha seja pequeno o suficiente para caber na memória cache.
  • Exemplo de grama: sem mipmaps - 16 kilobytes, com mipmaps - 21 kilobytes.

Anti-serrilhamento e mipmaps

Visão geral da seção: O palestrante menciona a necessidade de uma solução eficaz de anti-serrilhamento e como os mipmaps afetaram a escolha final da versão com mid maps.

Anti-serrilhamento

  • É necessário ter uma boa solução de anti-serrilhamento para obter resultados visuais impressionantes.
  • Menciona um artigo sobre anti-serrilhamento escrito por um programador gráfico.
  • A versão final escolhida inclui mid maps para melhorar a qualidade visual.

Pixel Program e G-buffers

Visão geral da seção: O palestrante discute o pixel program usado no mecanismo decimal e os G-buffers usados nos shaders de vegetação.

Shaders de Vegetação

  • Os shaders de vegetação enviam informações para os G-buffers.
  • Texturas fornecidas aos shaders, exceto para grama que não possui textura de oclusão ambiente.
  • Uso de uma ferramenta chamada Texture Set Tool para empacotar arquivos do Photoshop em DDS comprimidos.

Normais e Geometria

Visão geral da seção: O palestrante aborda as normais e geometria usadas nos ativos 3D, destacando a importância das normais corretas na renderização.

Normais

  • Para geometria adequada, como plantas, não é necessário fazer muitos ajustes nas normais.
  • Ao lidar com ativos que dependem fortemente de planos ou triângulos alpha, é importante ajustar corretamente as normais para ocultar a natureza cartunesca dos objetos.
  • Exemplo do uso de uma isosurface para gerar as normais.

Buffers Normais

Visão geral da seção: O palestrante compara buffers normais incorretos com buffers normais corrigidos e destaca a importância dessa correção na renderização dos ativos.

Buffers Normais

  • Comparação entre buffers normais incorretos e corrigidos.
  • A escolha do buffer normal é uma decisão artística, pois pode afetar a iluminação e a translucência.
  • Uso de buffers normais para ocultar a natureza simples dos ativos.

Colorização

Visão geral da seção: O palestrante discute o processo de colorização dos ativos no jogo, incluindo texturas de eco taupe coloridas.

Colorização

  • Uso de uma textura array com 64 texturas de colorização para vegetação, rochas, terreno, poeira e líquen.
  • A posição do objeto no mundo determina qual textura amostrar.
  • Uso de um componente W para diferentes tipos de dados mundiais em uma textura em escala de cinza.

Translucência

Visão geral da seção: O palestrante aborda o uso da translucência nos ativos e como ela é ajustada pelos artistas.

Translucência

  • A espessura do serviço informa a quantidade de absorção dentro da superfície.
  • Os valores de difusão e quantidade são codificados como parte da translucência nos G-buffers.
  • Os artistas têm controle sobre esses valores para ajustar a aparência final dos ativos.

Shading Explanation

Nesta seção, o palestrante explica o processo de sombreamento usado no jogo e como eles conseguiram alcançar um efeito surreal.

Explicação do sombreamento

  • Eles usam uma combinação de texturas de quantidade de translucidez e AO pré-computado para criar a aparência da grama.
  • Na última fase, eles quebram a correção física para aumentar a quantidade de luz dispersa, criando um efeito mais surreal.

Pipeline para criação de vegetação

O palestrante discute o pipeline utilizado na criação da vegetação do jogo Horizon Zero Dawn.

Criação dos modelos

  • Inicialmente, eles construíram os modelos com muitos detalhes, mas perceberam que precisavam otimizar para melhorar o desempenho.
  • Decidiram inverter o processo de criação, começando pelos modelos com menor quantidade de detalhes e adicionando detalhes conforme necessário.
  • Utilizaram o software SpeedTree para criar os modelos iniciais.

Texturização e exportação

  • Após obterem os resultados desejados nos modelos iniciais, passaram para a criação dos componentes em alta resolução necessários para gerar as texturas.
  • Utilizaram o Maya para fazer a texturização dos modelos em alta resolução.
  • Exportaram os modelos em formato FBX e utilizaram um processo personalizado no Houdini para converter os dados do modelo em cores vertex.

Configurações finais

  • Os modelos foram configurados no Maya e exportados para serem utilizados no jogo.
  • O palestrante mostra exemplos de como os modelos são configurados e como são renderizados.

Otimização dos LODs

Nesta seção, o palestrante discute a otimização dos níveis de detalhe (LODs) para melhorar o desempenho do jogo.

Seleção de LODs para sombras

  • A seleção natural de LODs para renderizar sombras é baseada na distância da câmera.
  • No entanto, eles implementaram um sistema de transição suave entre os LODs das sombras para evitar transições bruscas.

Processo de criação dos LODs

O palestrante explica o processo utilizado na criação dos níveis de detalhe (LODs) para os modelos do jogo.

Criação dos LODs iniciais

  • Os primeiros LODs são criados com poucos triângulos ou quadriláteros.
  • É feito um esboço rápido da textura ou silhueta que será utilizada nos modelos.
  • Os modelos são construídos com base nesses esboços e avaliados em termos de desempenho e aparência.

Texturização e exportação

  • Após a aprovação dos modelos iniciais, são criados os componentes em alta resolução necessários para gerar as texturas.
  • Utilizam o Maya para fazer a texturização desses modelos em alta resolução.
  • As texturas e meshes resultantes são exportadas e aplicadas aos modelos em baixa resolução.

Detalhamento final

  • Os modelos em baixa resolução recebem mais detalhes, como pequenos triângulos adicionais.
  • Os modelos são substituídos pelos LODs finais e estão prontos para serem utilizados no jogo.

Sombreamento de Vegetação

O palestrante discute o sombreamento da vegetação no jogo Horizon Zero Dawn.

Cascades de sombra

  • Utilizam Cascades para renderizar as sombras do sol.
  • As Cascades 0 e 1 são usadas para renderizar as sombras padrão da vegetação.

Renderização das sombras

  • Ao renderizar as sombras, eles fazem um crossfade entre as Cascades, evitando transições bruscas entre os LODs das sombras.
  • Isso cria uma aparência mais suave e natural nas sombras.

Sombreamento de Cascata

Visão Geral da Seção: Nesta seção, o palestrante discute o uso do sombreamento de cascata para evitar problemas de transição entre diferentes cargas de sombra.

Sombreamento Suave entre Cascatas

  • Ao mover um objeto de uma cascata para outra, é importante garantir que não haja "popping" durante a transição.
  • O uso do sombreamento suave entre cascadas garante uma transição suave e evita problemas de popping.
  • Isso aumenta o custo de renderização, mas resolve efetivamente o problema do popping nas sombras.

Transição Suave entre Cascadas

Visão Geral da Seção: Nesta seção, o palestrante mostra um pequeno vídeo demonstrando a transição suave entre as cascadas.

Demonstração da Transição Suave

  • Um vídeo rápido é mostrado para ilustrar a transição suave entre as cascadas 0 e 1.
  • A transição ocorre sem qualquer popping ou interrupções visíveis.

Separação dos Elementos Visuais e das Sombras

Visão Geral da Seção: Nesta seção, o palestrante explica como separar os elementos visuais dos elementos que geram sombras pode ser benéfico para otimizar a renderização.

Vantagens da Separação

  • Separar os objetos que geram sombras dos objetos visuais permite reduzir a contagem de triângulos nos elementos das sombras.
  • É possível ter menos objetos geradores de sombras em comparação com os objetos visuais, resultando em economia de recursos.
  • Os elementos das sombras podem ser simplificados, removendo animações e testes alfa, tornando-os mais baratos de renderizar.

Recomendações para Vegetação

Visão Geral da Seção: Nesta seção final, o palestrante resume suas recomendações para trabalhar com vegetação no contexto do jogo.

Lista de Recomendações

  • Utilizar a técnica DEP Prime.
  • Separar os elementos geradores de sombras dos elementos visuais.
  • Utilizar um sistema de posicionamento baseado em voxels (Yobs Placement System).
  • Realizar iterações frequentes e ajustes para otimização contínua do desempenho.

Referências e Perguntas

Visão Geral da Seção: Nesta seção final, o palestrante compartilha referências utilizadas e convida o público a fazer perguntas.

Referências Utilizadas

  • O palestrante mostra um slide com as referências utilizadas durante a apresentação.

Perguntas do Público

  • Um membro da plateia pergunta sobre como foi alcançado o efeito visual da neve sobre a vegetação. O palestrante explica que inicialmente foi utilizado um sistema dinâmico no shader, mas posteriormente optaram por criar ativos dedicados para áreas com neve pesada.
  • Outro membro da plateia pergunta sobre os desafios de separar os elementos das sombras dos elementos visuais. O palestrante responde que após a separação, é necessário otimizar os elementos das sombras, mas visualmente não há problemas de alinhamento.
  • Um terceiro membro da plateia pergunta sobre as ferramentas utilizadas para o posicionamento da vegetação. O palestrante explica que utilizam um sistema baseado em nós no editor, combinando dados do mundo e criando mapas de densidade para controlar a distribuição da vegetação.

Encerramento

Visão Geral da Seção: Nesta seção final, o palestrante encerra a apresentação e convida mais perguntas do público.

Agradecimentos e Perguntas Finais

  • O palestrante agradece ao público e oferece-se para responder mais perguntas antes de encerrar a apresentação.

Uso de fotogrametria para vegetação

Visão geral da seção: Nesta seção, o palestrante discute o uso de fotogrametria para criar a vegetação no jogo.

Fotogrametria aplicada a uma árvore específica

  • Uma das árvores no jogo foi criada usando fotogrametria.
  • Essa árvore em particular é uma quaking aspen na DLC.

Experimentação com fotogrametria e desempenho

  • A equipe decidiu experimentar com fotogrametria, mas também precisou levar em consideração o desempenho do jogo.
  • Para otimizar o desempenho, algumas concessões foram feitas durante a criação da vegetação.

Tratamento de colisões e animações nas árvores

Visão geral da seção: Nesta seção, o palestrante aborda como as colisões e animações são tratadas nas árvores do jogo.

Colisões nas árvores

  • As colisões com as árvores são representadas por cilindros que representam a área ocupada pela copa das árvores.
  • A navegação ao redor das árvores é ajustada para evitar colisões, mas as copas das árvores não têm colisão.

Animações nas partes rígidas das árvores

  • As partes rígidas das árvores, como tronco e galhos, possuem animações controladas por shaders.
  • No entanto, essas animações não afetam a jogabilidade, ou seja, não há colisão com as partes animadas das árvores.

Geração de vento e campos de força

Visão geral da seção: Nesta seção, o palestrante explica como o vento e os campos de força são gerados no jogo.

Campos de força como áreas definidas

  • Os campos de força são áreas definidas no jogo.
  • O sistema climático do jogo utiliza vários campos de força que se misturam para criar diferentes intensidades de vento.
  • A velocidade máxima do vento é 33.

Propriedades dos campos de força

  • Os campos de força possuem propriedades como fluxo e intensidade máxima.
  • Essas propriedades são ajustadas para criar diferentes efeitos visuais e físicos relacionados ao vento.

Interação com a vegetação

Visão geral da seção: Nesta seção, o palestrante discute a interação do jogador com a vegetação no jogo.

Interatividade desejada com a grama

  • Embora não tenha sido implementado no momento, havia planos para permitir interações entre o personagem do jogador e a grama.
  • A equipe considera essa interatividade uma adição interessante ao jogo.

Sistema similar aplicado à neve

  • No DLC do jogo, foi introduzido um sistema em que o jogador pode caminhar pela neve.
  • Esse sistema está sendo explorado para ser utilizado em outras interações futuras com elementos do ambiente.
Video description

In this 2018 GDC session, Guerrilla Games' Gilbert Sanders discusses what the studio learned in order to bring the lush and vibrant vegetation of Horizon Zero Dawn to PS4 while keeping an eye on overall performance. Register for GDC: https://ubm.io/341ZiaZ Join the GDC mailing list: http://www.gdconf.com/subscribe Follow GDC on Twitter: https://twitter.com/Official_GDC GDC talks cover a range of developmental topics including game design, programming, audio, visual arts, business management, production, online games, and much more. We post a fresh GDC video every day. Subscribe to the channel to stay on top of regular updates, and check out GDC Vault for thousands of more in-depth talks from our archives.