Motor! ou O que é física de jogo



Ao criar um jogo, os desenvolvedores precisam encontrar um equilíbrio não apenas na mecânica, mas também na física. Realismo ou arcade? Em geral, alguém assim. O principal é fã e prazer. É necessário criar as leis fundamentais do seu mundo e explicar que a capacidade de andar no teto é um mecânico, não um bug.

Quão complicada deve ser a física dos jogos, que tipos de jogos existem e quais truques os desenvolvedores utilizam ao implementá-los - traduzidos em detalhes.

A física em videogames é frequentemente considerada um dado adquirido. Se o personagem pular, ele é obrigado a pousar e não voar para o espaço (embora com um jogo bastante longo em Skyrim, isso ainda possa acontecer). Esperamos que os objetos do jogo se comportem como na vida (não levamos em consideração os bugs).

A física de programação pode se resumir a um ou dois métodos com algumas linhas de código. Ou talvez um sistema complexo com um mecanismo físico separado (por exemplo, Havok ou PhysX ) com milhões de linhas de código. Independentemente da complexidade, a física dos jogos é dividida em duas categorias: física do estado sólido e física do corpo mole.



A física de estado sólido é necessária na maioria dos jogos 2D e 3D. A física do corpo mole descreve a ação das forças em um objeto que assume várias formas (por exemplo, uma bandeira). Exibir um corpo mole é muito mais difícil, portanto, essa abordagem é usada com muito menos frequência.

O importante papel da física dos jogos


A física dos jogos serve a propósitos diferentes, mas os mais importantes são a intuitividade e a diversão. Se um objeto se comportar imprevisivelmente, será difícil entender as regras do jogo.

Se a bola no FIFA 20 saltasse em uma direção aleatória, seria impossível marcar um gol. Os desenvolvedores estão tentando recriar o rebote da bola, dependendo de sua trajetória, velocidade e outros fatores no mundo real. Para o jogador entender intuitivamente como lidar com a bola ou outros objetos. A propósito, FIFA 20 tem muitas críticas ruins justamente porque sua física não funciona como os fãs esperavam.


Além disso, os jogos não são obrigados a observar rigorosamente as leis naturais da natureza. O principal é que o jogo deve ser divertido, e a implementação de leis físicas reais pode destruir toda a experiência. Imagine Grand Theft Auto V com uma física terrestre severa (mas se você realmente quiser, pode colocar um mod especial ). Mesmo um acidente leve em alta velocidade terminaria fatalmente, mataria o ritmo e a atmosfera. Não é muito divertido.


O desenvolvedor deve encontrar o equilíbrio certo entre um jogo divertido e um jogo com física realista. E isso geralmente depende do público-alvo. Um bom exemplo é a corrida.

Muitas pessoas gostam do Arcade Racing (Need For Speed), em que tocar o picador ou uma curva acentuada afeta fracamente o controle da máquina. Outros preferem simuladores de corrida realistas (Gran Turismo).

Mas, mesmo criando simuladores, os desenvolvedores estão tentando atrair um novo público - o Gran Turismo confia no fotorrealismo (e, até certo ponto, funcionou). Mas, no final, a Polyphony Digital adicionou um modo arcade para capturar um mercado maior.

Física do estado sólido


Falando em física dos jogos, geralmente queremos dizer física rígida do corpo (RBP). Descreve e reproduz as leis físicas aplicáveis ​​a massas sólidas de matéria. A bola no FIFA 20 é um sólido que é controlado pela física do jogo.

Não importa se olharmos para títulos 2D como Pong ou 3D como Skyrim - a maioria dos jogos possui física de estado sólido linear.



Física de Jogos 2D


Tome Pong como um exemplo. Dois sólidos (bola e raquete) colidem de novo e de novo. Isso não parece muito encorajador. O avô dos videogames não tinha física realista.

Primeiro, os programadores ignoraram a gravidade, fricção e inércia. Havia apenas uma bola se movendo para frente e para trás a uma velocidade constante.
Em segundo lugar, o ângulo de rebote da bola da raquete não foi calculado com precisão. A bola ignora completamente a lei da reflexão: se a rotação e outros fatores não forem levados em consideração, o ângulo de incidência da bola na superfície é igual ao ângulo de seu rebote. Em Pong, o ângulo de reflexão foi determinado pela distância que a bola estava do centro da raquete no momento do contato. A trajetória original não importava. Os jogadores podem mudar completamente a inércia da bola, apesar do vetor de seu movimento.

A trajetória da bola tornou-se mais levada em consideração nas versões posteriores e em outros jogos similares. Por exemplo, em Breakout. Mas mesmo sem realismo, caso contrário, um jogo divertido se torna um jogo chato e difícil.



Jogos com artilharia foram os primeiros a levar em conta a gravidade e a resistência em sua mecânica. Os usuários se revezam disparando balas de canhão, flechas e mísseis para destruir a base do inimigo. Esses jogos levaram em conta balística semi-realista, ou seja, o ângulo de lançamento, a gravidade, a resistência do vento e a velocidade inicial. Mas, novamente, os designers não procuraram fazer tudo como no mundo real. Seu público-alvo eram pessoas comuns, não especialistas em balística.

O comportamento dos sólidos (principalmente conchas) dependia de várias forças. De acordo com eles, as animações mudaram. Flechas e foguetes são um ótimo exemplo de animação de sólidos em jogos semelhantes. O avião do projétil pode mudar durante o vôo e a flecha permanece reta. Dois pontos em um objeto em um sistema de sólidos sempre estarão à mesma distância um do outro.

Jogos como Donkey Kong e Mario Bros. influenciou fortemente a física dos projetos 3D. Mario fez amizade com as leis físicas básicas - gravidade, momento e inércia. O salto se tornou a principal mecânica e permaneceu na indústria de jogos para sempre.



O objeto quicando deve recuar. A única questão é quão alto ele subirá e com que rapidez cairá? E quão realista a gravidade deve estar em um jogo?

Se Mario obedecesse às leis reais da física, nunca teria passado do primeiro nível. O saldo teve que ser alterado por diversão e pelas expectativas dos jogadores.

Outros jogos da série expandiram esses limites - um salto duplo apareceu. Nesta franquia, foi adicionado pela primeira vez ao Super Mario 64, mas já havia sido usado em Dragon Buster em 1984.

O salto duplo começou a ser usado ativamente em plataformas (às vezes até demais). E ainda existe em muitos projetos modernos, incluindo o 3D. Por exemplo, Devil May Cry e Unreal Tournament.

Física 3D


Física em jogos 3D não é muito diferente da física em projetos 2D. Os cálculos são complicados pela terceira dimensão (eixo Z) e pelo fato de os objetos consistirem em vários sólidos.

Na maioria dos jogos 2D, os desenvolvedores só precisam processar dados de apenas algumas colisões de sólidos. Por exemplo: Mario pula em Kupu. Mario pode tocar qualquer parte do Kupa. Dependendo do ponto de contato, ou Coop se esconde em uma concha ou Mario perde sua vida. De qualquer forma, estamos falando de um único toque.



Nos jogos 3D, vários objetos sólidos colidem simultaneamente. Em Uncharted, quando Drake escala uma pedra, o programa monitora pelo menos seus braços e pernas - sólidos individuais. Ele pode saltar e agarrar as escadas com uma mão ou duas, e a animação será diferente.

Nos jogos 3D (e alguns 2D), os membros dos personagens são divididos em vários sólidos conectados por juntas. Ou seja, o modelo da mão humana consiste no antebraço e na mão, que são conectados pelo pulso e anexados ao ombro pela articulação do cotovelo. Isso é descrito pela física ragdoll (do inglês ragdoll - rag doll).


Imagem: Universidade da Califórnia , Riverside

Compostos de sólidos (juntas) são criados no sistema de animação esquelética do mecanismo de jogo. Cada sólido deve se mover de acordo com certas regras para parecer realista. Para calcular os movimentos, os programadores usam várias técnicas. O mais famoso é o algoritmo de Featherstone , uma abordagem restritiva que impede os membros de sair aleatoriamente.

Existem outras abordagens para trabalhar com ragdoll: integração Werle (Hitman: Codename 47), cinemática inversa (Halo: Combat Evolved e Half-Life), ragdoll misto (Uncharted: Drakes Fortune e muitos outros) e animação procedural (série Medal of Honor )



Todas essas técnicas visam garantir que o corpo não fique mole muito rapidamente e não caia no chão, como uma boneca de pano. O movimento dos sólidos incorporados em um modelo é limitado, portanto eles se comportam de maneira previsível.

Deixe-me lembrá-lo, você sempre precisa encontrar um equilíbrio entre realismo e diversão. Mesmo que o jogo trapaceie um pouco.

Pegue a série Sniper Elite. No mundo real, o atirador deve levar em consideração várias variáveis: velocidade do vento, direção do vento, alcance, movimento do alvo, miragem, fonte de luz, temperatura, pressão e o efeito Coriolis .

Se a Rebellion criou um autêntico simulador de atirador de elite, levando em consideração todas as variáveis, o jogo se tornaria muito difícil. Sua ignorância se deve não apenas às capacidades dos processadores modernos. O usuário médio não apenas não deseja calcular todos esses fatores durante o jogo, nem mesmo quer saber sobre eles. É mais lucrativo permitir que o jogador use o escopo e mostre o vôo da bala em câmera lenta.


Call of Duty: Modern Warfare tem um nível em que você precisa atingir um alvo a longa distância. O jogador deve levar em consideração o efeito Coriolis, bem como a velocidade e a direção do vento. Algumas pessoas gostam desse desafio, mas eu o abandonei.

Corrida é outro gênero que exige muitos cálculos sobre sólidos e as forças que atuam sobre eles. As rodas estão em contato com a superfície da estrada, a suspensão está em contato com as rodas, os carros colidem. Ainda outros objetos participam direta ou indiretamente de colisões.

As forças físicas que atuam nos carros durante as curvas são geralmente simplificadas. A deriva neles é simples, mas ao mesmo tempo bastante complicado - os jogadores devem sentir satisfação.

Os simuladores Gran Turismo e Assetto Corsa têm forças mais realistas. Por exemplo, Assetto Corsa Competizione (versão 1.0.7)usa um modelo de pneu de cinco pontos. Inclui dois pontos na borda dianteira do pneu, dois na traseira e um no meio - todos juntos atuam como um sólido combinado. Os pontos podem se mover e dobrar em três dimensões, respondendo independentemente a forças externas e entrando em contato com a superfície. Pontos adicionais aumentam significativamente o número de cálculos que o mecanismo executa.


Modelos físicos em títulos 3D são muito mais complexos que em 2D. Você precisa acompanhar mais variáveis ​​e pontos em comum. Como a maioria dos cálculos é linear, esses modelos são muito mais simples que os modelos de corpo mole.

Física do corpo mole


A física do corpo mole (SBP) descreve objetos deformáveis. É usado com menos frequência e é bastante reduzido em videogames devido à enorme quantidade de computação.

Corpos moles são roupas, cabelos e acúmulos de partículas como fumaça ou nevoeiro. Os pontos de um sólido sempre permanecem à mesma distância um do outro. Um corpo mole pode se deformar e se mover para que a distância entre seus pontos mude.

Sólidos deformáveis


O movimento do corpo mole pode ser limitado. Todos os pontos da bandeira sempre permanecerão na bandeira, eles não podem separar. O intervalo de desvio de pontos um do outro depende da distância entre eles na bandeira suavizada.

Pontos adjacentes sempre permanecem adjacentes. Os pontos remotos podem se aproximar, mas, ao mesmo tempo, não podem se afastar um do outro além da distância em que estão fixados no sinalizador expandido.



O número de cálculos para o corpo mole excede os recursos da CPU e GPU. Portanto, os desenvolvedores simplificam e enganam. Por exemplo, a animação em loop é usada. Mas essa imagem parecerá antinatural depois de algum tempo. É melhor não recorrer a esse truque de vida se o objeto estiver no centro das atenções.

A roupa tem quase as mesmas propriedades de corpo mole que a bandeira, mas sua física é ainda mais complexa. Em primeiro lugar, porque o jogador definitivamente prestará atenção a ela. Em segundo lugar, porque muitas vezes é mais dinâmico: o jogador exerce sua própria influência sobre ele. Um ótimo exemplo é a capa de Batman na série Arkham.


Designers não podem usar animação em loop em uma capa, porque seu movimento depende das ações do jogador. Se o jogador direciona o personagem para a esquerda, a capa deve mudar para a direita, a fim de exibir realisticamente a inércia e a resistência do ar.

É aqui que os motores físicos entram em ação. Em Batman: Arkham Knight, a Rocksteady usou o APEX Cloth PhysX. Essa ferramenta permite criar uma máscara para corpos exibindo roupas e ajustar os parâmetros de seus movimentos. Dependendo da configuração, tudo, da seda à estopa, pode ser exibido.

Para melhorar o desempenho, você pode limitar os efeitos das forças naturais no tecido. Por exemplo, o Método do vento pode ser definido como Preciso ou Legado. A exibição parcial ignora pequenas flutuações, menos cálculos são realizados.

Nem todos os pontos do tecido precisam ser considerados - eles podem atuar em grupos. Isso reduz o número de vértices que precisam ser processados. No entanto, nem todos esses grupos interagem entre si como em um corpo mole real. Eles afetam principalmente apenas os pontos mais próximos; portanto, o número de cálculos matemáticos é reduzido para um nível aceitável.

Sistemas de partículas de corpo mole


Exibir fumaça ou nuvens é ainda mais difícil. Os pontos de tais objetos podem se mover de maneira não linear entre si. Alguns pontos podem ir além dos limites figurativos do objeto e até formar outros corpos moles.

Os motores físicos melhoraram significativamente os sistemas de partículas nos últimos anos. Veja a tela de boas-vindas de Skyrim e quão realista a fumaça parece lá.


Cada partícula no sistema de corpo mole tem uma vida útil estática. Este é o período desde o momento de sua ocorrência até o momento de seu desaparecimento (após algum tempo a fonte de partículas o criará novamente). Durante esse período, o ponto se move com os parâmetros fornecidos.

Considere a fumaça de uma fogueira como um exemplo. Cada partícula se move para cima a partir da fonte: não linear, girando e mudando aleatoriamente sua posição no espaço. Então eles aumentam até o fim de sua vida útil e são removidos.

A expectativa de vida afeta a aparência natural de um sistema de partículas. Com uma longa duração, você pode criar fumaça bastante realista a partir de um incêndio, mas isso carregará muito o processador. Curto - reduz o número de cálculos, mas as partículas só terão tempo para subir um pouco antes de desaparecer.

A fumaça no protetor de tela do Skyrim parece fria, simplesmente porque nada mais acontece na tela. Toda a potência do processador e da placa de vídeo pode ser direcionada para simular partículas de fumaça com uma vida útil muito longa.



No próprio jogo, a fumaça do fogo não parece mais tão realista. Ainda é bastante convincente, mas mais simples: os desenvolvedores reduziram o tempo necessário para exibir partículas em uma simulação. Existem outros truques. Por exemplo, sobrepondo várias camadas de fumaça estáticas

A física do corpo mole é adicionada com muito cuidado aos jogos. Em primeiro lugar, não há necessidade de uma simulação completa da física do corpo mole - como regra, é necessária apenas para a estética. Em segundo lugar, a reprodução exata do sistema do corpo mole exige muitos cálculos.

Resumir


A física de videogame é um campo complexo no qual os desenvolvedores buscam um equilíbrio entre o realismo e as limitações do poder da computação. Truques, simplificações e mecanismos físicos permitem criar rapidamente uma física bastante realista, para se concentrar nos aspectos mais importantes do jogo.



O jogo deve ser interessante. O realismo não é tão importante em comparação com a jogabilidade viciante. A física dos jogos ainda é importante - você precisa de regras intuitivas. Ao mesmo tempo, eles podem ser alterados para enriquecer a jogabilidade (lembre-se do salto duplo).

Se você quiser entender melhor a física dos videogames, verifique as seções relevantes no Guia da Unidade ou no Guia Lumberyard .

All Articles