ESPAÇO PUBLICITÁRIO DISPONÍVEL · FALE CONOSCO

Hitboxes, Hurtboxes e arquitetura de detecção de colisão: volumes delimitadores, CCD e efeito túnel

365Finds Editorial
11.430 artigos Wiki catalogados

Use o 365 Wiki com sua IA

Copie o prompt abaixo, cole na IA que você já usa e faça sua pergunta.

Baixar o Skill completo

Experimente primeiro com o prompt. Se você usa o 365 Wiki com frequência, instale o Skill completo do 365Wiki para não precisar colá-lo novamente. Se não usa uma IA específica, as versões web do Gemini ou Microsoft Copilot também servem.

A Geometria do Combate: Hitboxes, Hurtboxes e Pushboxes

Nos sistemas de combate dos jogos eletrônicos, o que os jogadores visualizam na tela raramente reflete os cálculos executados pelo motor de física subjacente. Modelos visuais tridimensionais de alta fidelidade, compostos por dezenas de milhares de polígonos, roupas dinâmicas e articulações detalhadas, são computacionalmente inviáveis para simulações de física em tempo real. Por esse motivo, os motores separam completamente a renderização gráfica da física geométrica, criando volumes invisíveis e simplificados que determinam se um ataque acerta, se uma entidade recebe dano e de que forma os personagens ocupam o espaço no cenário.

Para organizar a lógica de combate com precisão, os motores dividem as colisões de um personagem em três volumes funcionais distintos:

+-------------------------------------------------------------------------+
|                      TRÍADE DE COLISÃO DE COMBATE                       |
+-------------------------------------------------------------------------+
|  1. HITBOX (Volume Ofensivo Ativo)                                      |
|     - Gerado unicamente durante os quadros ativos do ataque             |
|     - Percorre o espaço em busca de alvos vulneráveis em interseção     |
|     - Dispara o cômputo de dano, o hitstop e impulsos de repulsão       |
+-------------------------------------------------------------------------+
|  2. HURTBOX (Volume Passivo de Vulnerabilidade)                         |
|     - Vinculado aos ossos da estrutura esquelética (cabeça, tronco, etc)|
|     - Atualiza suas matrizes de rotação e translação a cada animação    |
|     - Receptor passivo: registra dano ao sofrer invasão por uma Hitbox  |
+-------------------------------------------------------------------------+
|  3. PUSHBOX / COLISOR DE AMBIENTE (Volume Físico Sólido)                |
|     - Geralmente uma cápsula vertical, cilindro ou paralelepípedo       |
|     - Resolve o contato com o terreno (chão, paredes, rampas)           |
|     - Impede que personagens atravessem uns aos outros ou o cenário     |
+-------------------------------------------------------------------------+

A Necessidade Estrutural do Isolamento Espacial

Se um jogo unificasse todas as interações em um único colisor físico, as mecânicas de combate entrariam em colapso:


O Pipeline de Colisão em Duas Fases: Fase Ampla vs. Fase Estreita

Em jogos de ação modernos com dezenas de inimigos na tela, projéteis arcanos e elementos interativos, testar cada formato geométrico contra todos os outros a cada quadro geraria uma explosão de processamento na ordem de $O(N^2)$. Caso uma cena contenha 100 entidades físicas, um algoritmo ingênuo realizaria:

$$\frac{100 \times 99}{2} = 4,950 \text{ testes de interseção por ciclo}$$

Para sustentar taxas de atualização de física de 60Hz ou 144Hz, os motores de física (como PhysX, Chaos e Havok) dividem as consultas espaciais em duas fases sequenciais:

[ Todas as Entidades Físicas na Cena ]
                  |
                  v
+-----------------------------------------------------------+
| FASE AMPLA (Broad Phase): Particionamento Espacial Amplo  |
| - Utiliza Caixas Alinhadas aos Eixos (AABB)               |
| - Processa Árvores BVH, Octrees ou Varredura e Poda (SAP) |
| - Descarta instantaneamente de 95% a 99% dos pares        |
+-----------------------------------------------------------+
                  |
                  | (Apenas Pares Candidatos a Sobreposição)
                  v
+-----------------------------------------------------------+
| FASE ESTREITA (Narrow Phase): Resolução Geométrica Exata  |
| - Testa primitivas específicas (Esferas, Cápsulas, OBBs)  |
| - Executa o Teorema do Eixo Separador (SAT) ou GJK        |
| - Calcula pontos de contato exatos, normais e penetração  |
+-----------------------------------------------------------+
                  |
                  v
[ Eventos de Jogabilidade: TakeDamage(), ApplyImpulse() ]

1. Particionamento e Aceleração na Fase Ampla

A fase ampla desconsidera detalhes anatômicos. Cada elemento da cena é encapsulado dentro de uma Caixa Delimitadora Alinhada aos Eixos (Axis-Aligned Bounding Box, AABB), cujas faces permanecem estritamente paralelas aos eixos globais $(X, Y, Z)$. A verificação de sobreposição entre duas caixas AABB requer apenas comparações escalares simples entre coordenadas mínimas e máximas:

$$\text{Overlap} \iff (A_{\min}^x \le B_{\max}^x \land A_{\max}^x \ge B_{\min}^x) \land (A_{\min}^y \le B_{\max}^y \land A_{\max}^y \ge B_{\min}^y) \land (A_{\min}^z \le B_{\max}^z \land A_{\max}^z \ge B_{\min}^z)$$

Estruturas hierárquicas como a Hierarquia de Volumes Delimitadores (BVH), Octrees ou o método de Varredura e Poda (Sweep and Prune) agrupam objetos próximos em nós de árvores espaciais. Se a caixa delimitadora do golpe de uma espada não interceptar o nó pai que engloba um grupo de inimigos distantes, o motor descarta dezenas de checagens em um único ciclo, reduzindo a complexidade de $O(N^2)$ para $O(N \log N)$ ou próximo de $O(N)$.

2. Resolução Geométrica na Fase Estreita

Os pares que superam o filtro da fase ampla avançam para a fase estreita, onde fórmulas matemáticas de alta precisão avaliam as primitivas:

A checagem direta triângulo a triângulo (Per-Polygon Mesh) é evitada categoricamente em combates dinâmicos. Submeter dezenas de milhares de polígonos deformados por animação a testes de colisão simultâneos paralisaria as threads da CPU, provocando severas quedas de quadros.


Detecção Discreta vs. Detecção Contínua (CCD): O Fenômeno do Efeito Túnel

A anomalia de colisão mais recorrente em jogos de combate é o efeito túnel (tunneling, comumente chamado de "atravessamento fantasma" ou "tiro que sumiu"). Ocorre quando um corpo em alta velocidade pula integralmente a barreira física de seu alvo entre dois quadros sucessivos da física.

A Mecânica Matemática do Efeito Túnel

A maior parte dos motores opera por padrão com a Detecção de Colisão Discreta. Nela, as posições dos objetos são avaliadas unicamente em intervalos de tempo discretos $t, t + \Delta t$:

Quadro N (Tempo = t):               Quadro N+1 (Tempo = t + dt):
  [ Bala / Espada ]  --- Velocidade v --->         [ Bala / Espada ]
          o                                                o
      (em x=10)                                        (em x=60)
                             | Escudo / Inimigo |
                             |    [x=30..35]    |

Se um corpo se move a uma velocidade $v$, seu deslocamento em um intervalo de simulação é:

$$\Delta x = v \cdot \Delta t$$

Se a espessura do obstáculo $W_{\text{target}}$ somada ao diâmetro do objeto $D_{\text{proj}}$ for inferior ao deslocamento do quadro:

$$W_{\text{target}} + D_{\text{proj}} < v \cdot \Delta t$$

No quadro $N$, o projétil se encontrava antes do obstáculo; no quadro $N+1$, ele já se localiza inteiramente atrás dele. Como o motor discreto consulta apenas as posições estáticas nesses instantes específicos, nenhum contato é registrado. A espada ou o projétil atravessa o corpo como se ele não existisse.

Arquiteturas de Detecção Contínua de Colisão (CCD)

Para conter o efeito túnel em projéteis velozes, pontas de espadas e personagens arremessados, os motores adotam a Detecção Contínua de Colisão (CCD) por meio de dois métodos principais:

+----------------------------------------------------------------------------+
|                          MODALIDADES DE CCD                                |
+----------------------------------------------------------------------------+
| 1. CCD BASEADA EM VARREDURA (Sweep-based CCD / Volume Extrudado)           |
|    - Extruda a forma geométrica ao longo do vetor de deslocamento          |
|    - Soluciona a interseção temporal matemática no intervalo contínuo      |
|    - Determina o momento exato do impacto (TOI ∈ [0, 1]) e sua normal      |
|    - Custo: Elevada demanda de processamento de CPU por ator dinâmico      |
+----------------------------------------------------------------------------+
| 2. CCD ESPECULATIVA (Speculative CCD / Expansão Preditiva)                 |
|    - Amplia a caixa AABB do objeto no sentido de sua trajetória            |
|    - Cria restrições preditivas de contato antes da sobreposição física    |
|    - Vantagem: Menor custo de processamento que a varredura geométrica     |
|    - Risco: Pode gerar "colisões fantasmas" em mudanças bruscas de direção |
+----------------------------------------------------------------------------+

Em jogos de tiro em primeira pessoa, os desenvolvedores evitam instanciar projéteis físicos para armas de fogo convencionais, optando por Traçados de Raio (Line Traces / Raycasts) instantâneos (hitscan). No instante do disparo, uma linha matemática de espessura zero é projetada a partir do cano da arma, registrando instantaneamente qualquer Hurtbox perfurada ao longo de sua trajetória.


O Descompasso Entre o Modelo Visual e a Física de Combate

A sensação de frustração quando "o golpe atravessou o inimigo sem registrar" ou "o personagem foi atingido pelo vento a meio metro de distância" resulta do compromisso técnico entre estética e simulação.

1. Aproximação por Cápsulas vs. Curvaturas Anatômicas

Modelos visuais apresentam relevos musculares, ombreiras de armaduras e dobras de tecidos. Por outro lado, as Hurtboxes são montadas a partir de cápsulas cilíndricas simplificadas acopladas ao esqueleto do personagem.

Os designers precisam balancear:

2. Mesclagem de Animações e Dessincronização de Root Motion

Personagens modernos utilizam árvores de mistura (Blend Trees). Quando um ataque pesado é cancelado por uma esquiva, a GPU interpola suavemente os vértices da malha visual ao longo de centenas de milissegundos.

Contudo, as Hurtboxes atualizam suas posições com base nas matrizes dos ossos. Se a curva de animação e o deslocamento de física (Root Motion) sofrerem pequenos descompassos temporais, o modelo gráfico desenhado na tela pode se afastar momentaneamente das cápsulas de colisão reais.

3. Hitboxes Desarticuladas (Disjoint) e Quadros Residuais (Linger Frames)

Em jogos de luta e ação acrobática, desenvolvedores frequentemente configuram Hitboxes propositalmente desarticuladas (disjoint), projetando a área de dano além do alcance visual da lâmina, ou estendendo a ativação da colisão por alguns quadros após o término do golpe (linger frames).

Essa decisão compensa o tempo de reação humano e assegura que golpes aéreos conectem com firmeza em alvos abaixados, garantindo uma resposta tátil e prazerosa nas mãos do jogador, ainda que sacrifique a precisão visual absoluta.

4. Efeitos Especiais Visuais (VFX) Não Possuem Massa Física

Lâminas flamejantes, feixes de energia e rastros luminosos são processados exclusivamente na placa de vídeo (GPU) como texturas e partículas translúcidas. Eles não possuem colisão. A menos que a equipe de programação anexe intencionalmente um colisor à área do efeito, encostar apenas no brilho de uma magia não produzirá nenhum dano.


Matriz Comparativa: Modos de Detecção de Colisão

A tabela abaixo compara as principais abordagens de detecção e seus impactos operacionais:

Modo de ColisãoCusto de ProcessamentoRisco de Túnel (Estático)Risco de Túnel (Dinâmico)Aplicação ComumDesvantagens e Falhas
Detecção DiscretaMínimo (Teste estático por quadro)Alto em alta velocidadeAlto em alta velocidadeMovimentação básica, cenário imóvel, inimigos lentosTravessia indevida quando o FPS cai; atravessa paredes finas
CCD por VarreduraElevado (Cálculos de extrusão temporal)NuloNulo (com ambos corpos ativos)Pontas de lâminas brancas, lanças arremessadas, veículosSobrecarga de CPU em combate com múltiplos agentes
CCD EspeculativaModerado (Expansão preditiva de AABB)Muito reduzidoMuito reduzidoFísicas de boneco de pano (ragdoll), destroçosRisco de ricochetear no ar diante de mudanças bruscas de vetor
Traçado de Raio (Raycast)Baixo (Interseção linha-superfície)Nulo ao longo da linhaNulo ao longo da linhaArmas hitscan, checagem de chão, linhas de visãoNão possui espessura; pode passar por brechas entre cápsulas

Diagnóstico no Motor e Resolução de Problemas Práticos

Ao investigar inconsistências de registro de acertos, confiar unicamente no olho humano costuma conduzir a conclusões errôneas. É possível inspecionar a física real por meio dos consoles de depuração dos motores.

1. Comandos de Visualização de Colisão

Unreal Engine (UE4 / UE5)

Com o console habilitado (tecla ~), execute os seguintes comandos:

show collision          # Renderiza todas as geometrias de colisão ativas no mapa
show CollisionPawn      # Isola a visualização apenas para as cápsulas de dano dos personagens
pxvis collision         # Exibe a malha vetorial de física de baixo nível do PhysX / Chaos

Motor Source / Source 2

Em servidores dedicados e lobbies locais de títulos baseados na engine da Valve:

sv_showlagcompensation 1    # Desenha as caixas rebobinadas pelo servidor no instante do disparo
r_drawclipbrushes 1         # Desenha os volumes de bloqueio invisíveis do cenário (clip brushes)

2. Fluxo de Investigação de Falhas de Impacto

Caso um ataque pareça falhar de forma inexplicável:

  1. Passo 1: Verificar a taxa de quadros e estabilidade da física
    • Caso o jogo sofra quedas momentâneas de rendimento (ex.: caindo de 60 para 25 FPS), o delta $\Delta t$ aumenta de forma acentuada, fazendo com que armas de ataque rápido atravessem alvos sem registrar contato.
  2. Passo 2: Inspecionar o alinhamento esquelético dos colisores
    • Com as linhas de depuração ligadas, verifique se as cápsulas acompanharam o movimento da malha durante o quadro exato da animação. Falhas de acompanhamento apontam para pesos de animação incorretos, não para erros na física.
  3. Passo 3: Avaliar a compensação de latência (em rede)
    • No ambiente multijogador, a quase totalidade das falhas aparentes decorre da compensação de lag (Lag Compensation). O cliente prevê o acerto localmente, mas o servidor autoritativo volta no tempo e determina que a vítima já havia rolado para trás da parede, rejeitando o evento de dano.

Para discernir com objetividade se uma anomalia de combate tem raízes na geometria de colisão, na sincronização de rede ou em particularidades estéticas da animação, a consulta aos artigos técnicos do 365Finds permite isolar as causas reais sem cair nos mitos populares sobre supostos motores de física defeituosos.


Referências