Laboratório de Explosões
ZombiAdA · Time de explosões e partículas · revisão 1 · 22/10/2026

Laboratório de Explosões

Os 12 explosivos do Arsenal, o barril, o carro, o posto de gasolina em cadeia e a granada no meio da horda, montados camada por camada em 3D: clarão, bola de fogo que vira fumaça, onda de choque, poeira rasteira, estilhaços, detritos em brasa, cogumelo, fogo residual e marca no chão. Escolha um explosivo, gire a câmera, ligue a câmera lenta e desligue camadas para ver cada uma sozinha.

Granada M67t = 0,000 sPronto
puffs 0 · faíscas 0
detritos 0 · luzes 0
ragdolls 0 · LOD 100%
Arraste para girar · role para aproximar
Distância
Camadas

Receita de uma explosão de qualidade

O que a revisão da Oficina apontou como fraco (explosão de barril com 5 bolas de fumaça e uma mancha) vira isto: nove camadas, cada uma com um trabalho. Os tempos valem para a granada; os outros explosivos mudam escala, cor e duração pela ficha. Tudo cabe nos tetos da Oficina (400 partículas de GPU por evento, 4 luzes de explosão, 40 detritos por evento).

CamadaQuandoComo ficaNa Unity 6 (URP)Por evento
1. Clarão0–50 msNúcleo branco-amarelo #FFF4D6 que aparece num quadro só, luz pontual que pinta chão, paredes e zumbis e some em 300 ms. Perto de 15 m a tela pisca.VFX Graph burst de 1 quad aditivo + Light sem sombra animada por curva no ExplosionDirector. Piscar de tela no Renderer Feature.1 luz
2. Bola de fogo0–350 ms
(combustível até 1,4 s)
12 a 40 malhas facetadas (icosaedro) que nascem a 25% do tamanho, chegam ao raio visual em 120 ms e sobem por empuxo. A cor vem do calor em 5 faixas posterizadas: #FFF4D6, #FFD36B, #FF8A2A, #C2361A e fuligem.Output Particle Mesh com Shader Graph HeatRamp: atributo heat por partícula, gradiente de 5 chaves com Posterize, emissão ×1,2 a ×3,8 para o Bloom do URP pegar.12–40
3. Fogo vira fumaça0,2–12 sA mesma partícula esfria e escurece até a cor da fumaça do explosivo, cresce 3×, deriva com o vento e some por erosão (buracos de ruído), nunca por transparência. Sem sprite borrado: a borda é dura, no estilo do jogo.Mesmo sistema da camada 2: heat cai por curva, Dissolve por Noise 3D no Shader Graph (alpha clip). Fica opaca, então não ordena nem pesa overdraw.+20–60
4. Halo de calor0–600 msBrilho aditivo grande atrás da bola de fogo e nos pedaços em brasa. Faz o papel do bloom em máquina fraca.Quad aditivo com falloff radial, ou só o Bloom do URP no preset Alto.1–6
5. Onda de choque20–300 msEsfera de ar que cresce até o raio letal em 120 ms (borda clara, centro vazio) e anel de poeira no chão até 60% do raio de ferimento. A fumaça e a poeira ganham velocidade para fora quando o anel passa.Malha de esfera com fresnel e distorção pela Opaque Texture; anel no chão como decal animado.2 malhas
6. Poeira rasteira30 ms–4 s20 a 60 puffs que saem rentes ao chão com arrasto alto, na cor do chão: asfalto #6B6560, terra #7A5A3A, concreto #8A857C.VFX Graph com spawn em anel e Linear Drag alto; cor vem do SurfaceMaterial do ponto.20–60
7. Estilhaços0–1,2 sRiscos esticados pela velocidade, brancos no começo e vermelhos no fim, que quicam no chão. Claymore: 700 esferas num cone de 60°. Pregos na bomba caseira.Output Quad em modo Stretched Billboard, Collide with Depth Buffer.60–700
8. Detritos50 ms–2,5 sPedaços do material atingido (asfalto, concreto, lataria, vidro) e partes do corpo. Um terço sai em brasa com rastro de fumaça. Pousam e viram estáticos em 2 s.Pool de Rigidbody aquecido (teto 300), rastro por VFX Graph com Spawn over Distance.8–40
9. Depois1 s–10 minCogumelo nos combustíveis (anel que rola e sobe), fogo residual, coluna de fumaça visível de longe, marca queimada no chão (1,5 a 4 m) e buraco no chão conforme a força: 18 cm na bomba caseira, 25 cm na granada, 70 cm na dinamite, 90 cm na C4 e 1,6 m no tanque do posto, com borda de asfalto quebrado e terra no fundo.Fogo e coluna são entidades do servidor (como na Oficina). Marca no atlas de decal; buraco por deformação do terreno ou malha de cratera recortando o chão (stencil), com borda e decal de terra.1 decal
Regra 1

Tempo não é linear

Os primeiros 120 ms decidem se a explosão parece forte. Tudo nasce rápido e desacelera por arrasto exponencial; nada cresce em velocidade constante.

Regra 2

Cada explosivo tem assinatura

Granada é seca e cinza. Molotov é larga e baixa. Botijão sobe em cogumelo. Dinamite levanta terra marrom. C4 é branca, curta e abre cratera. Dá para saber o que explodiu só de ver.

Regra 3

A luz vende o fogo

A luz da explosão ilumina a fumaça por baixo, o chão, as fachadas e os zumbis. Sem isso a bola de fogo parece colada na tela.

Regra 4

O mundo responde

Vidros estouram, zumbis perdem pedaços pela distância, carros e botijões perto entram em cadeia e o chão fica marcado para sempre.

Reação em cadeia

O Arsenal define que explosão atinge botijões, tanques de carro e postos. O servidor decide a cadeia e manda um evento por explosão com o atraso já calculado, então todos os clientes veem a mesma sequência.

Botijão P13Explode 0,25–0,6 s depois de levar dano de explosão. Tiro abre vazamento: jato de 0,8 s, pega fogo, explode 1,4 s depois.
Barril de combustívelTiro vaza e pega fogo; explode em 1,2 s. Dano de explosão acima de 120: explode em 0,2–0,4 s.
CarroDano de explosão acima de 200 no tanque: incêndio no motor, fumaça preta, explode em 3 a 8 s. Acima de 400: explode em 0,6 s.
Bomba do postoCada bomba atinge a vizinha em 0,35–0,45 s. Depois de 3 bombas, o tanque subterrâneo explode em 2 s.
Tanque subterrâneoBomba de nível 3: letal 12 m, ferimento 30 m, cogumelo de 18 m, derruba a cobertura e deixa incêndio de 10 min.

Teto da cadeia: no máximo 6 explosões em 4 s na mesma área de 40 m. O excedente vira uma explosão maior agregada, para não estourar as 4 luzes e as 400 partículas por evento.

O que a explosão faz com o corpo

Usa os 4 estados de cada parte do Bestiário (ferida, dilacerada, arrancada, explodida) e o teto de 12 ragdolls da Oficina. Os mais próximos ganham ragdoll; os outros caem com animação pronta.

Distância do centroResultadoPartículasTeto
Até 25% do raio letalDespedaçado: a cabeça estoura e o corpo vira pedaços: membros inteiros voando e mais 20 pedaços pequenos de carne e osso.8 puffs de névoa na cabeça, 4 por membro, um respingo onde cada pedaço cai4 por explosão
Até 45% do raio letalExplodido: todas as partes saem voando; mais 5 pedaços pequenos.12 puffs de névoa de sangue, 6 respingos no chão, partes em brasa se houver fogo4 por explosão
Até o raio letalDesmembrado: 2 a 4 partes arrancadas (as do lado da explosão primeiro); o resto do corpo é arremessado e cai.6 puffs de sangue por parte, rastro pingando12 ragdolls
Até o raio de ferimentoArremessado: derrubado para longe do centro; chance de perder 1 parte cai com a distância (até 50%).Poeira ao cairqueda animada
Dentro do fogoEm chamas: anda 3 a 5 s pegando fogo, escurece até carvão e cai. O Carbonizado não queima.Chama presa ao corpo (até 6 corpos)6 chamas
Granada de luz até 10 mAtordoado 4 s: cambaleia com as mãos na cabeça. Sem dano.Nenhuma no corpo—

Distância, rede e orçamento

LOD

Explosão é o último efeito a sumir

  • Até 15 m: tudo.
  • 15–40 m: 50% das partículas, sem detritos com física (viram faísca).
  • 40–80 m: 20%, só bola de fogo, luz e fumaça.
  • Além de 80 m: bola de fogo, coluna de fumaça e incêndio, que servem de referência no mapa.

Use os botões de distância para ver cada nível.

Rede LAN

Um evento de 16 bytes

  • Tipo do explosivo (6 bits), posição (1 cm), direção (2 bytes, para foguete e Claymore), semente (16 bits), atraso de cadeia (8 bits, em 10 ms).
  • O servidor manda junto a lista de atingidos e partes arrancadas; o visual é local com a semente.
  • Fogo residual e coluna de fumaça são entidades do servidor, como na Oficina.
Desempenho

Bola de fogo opaca

  • Fogo e fumaça são malhas opacas com recorte por ruído: sem ordenar e sem overdraw de transparência, que é o que derruba FPS em explosão.
  • Pool aquecido no carregamento, zero Instantiate.
  • Teste: 4 explosões de C4 juntas + 2.000 zumbis ≥ 30 FPS numa GTX 1060.

Partículas nas páginas dos times

Passei em cada página de time procurando efeito que falta ou que está abaixo do padrão desta bancada. As correções foram mandadas para a thread dona de cada página; o catálogo geral e o orçamento continuam com a Oficina de VFX.

PáginaHojeO que faltaPrioridadeEnviado para

Para quem vai montar

Dados

ExplosionProfileSO

Um por explosivo, com os números da ficha: raios, escala, contagens por camada, cores das 5 faixas de calor, cor da fumaça, vida da fumaça, cogumelo sim ou não, fogo residual, decal e cratera. Este laboratório lê exatamente esses campos.

Código

ExplosionDirector

Recebe o evento de rede, dispara as camadas na ordem com os atrasos, pega luz do pool de 4, aplica tremor de câmera por distância (forte até 10 m, nenhum além de 40 m) e entrega os atingidos para o sistema de corpos.

Arte

Kit de malhas

Icosaedro com 80 faces para fogo e fumaça, 4 pedaços de detrito por material, cratera de borda em 3 tamanhos, atlas de marcas 2048² com 8 queimados. O resto é shader.

Brief completo em vfx/explosoes/brief-explosoes.md na pasta do projeto.