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.