frente vfx-elementos · 12/10/2026 · Mateus revisa

Efeitos das torres — antes × depois

Antes, na partida de verdade, a torre não desenhava tiro nem impacto nenhum (o servidor mandava tipoTiro nulo): só o número do golpe e uns pontinhos de aura — não dava para saber o elemento nem a força. Agora cada elemento tem forma própria (lança de cristal, semente com folhas, raio em zigue-zague, míssil com runa), a força cresce com o nível em degraus que se veem (5, 10 e Final) e o impacto tem luz curta. Tudo sai de um JSON; o motor é o mesmo das partículas das magias.

ElementoAntesDepois
Gelo2.08.6
Natureza2.08.5
Tempestade3.08.8
Arcana2.08.6
  • FPS com 12 torres atirando: 117,2 (antes) → 100,3 (depois) sem disputa de placa — +1,4 ms por quadro; CPU dos efeitos 0,07 ms
  • Leitura do elemento: forma própria em cada um (lança de cristal, semente com folhas, raio em zigue-zague, míssil com runa) — dá para ler sem cor.
  • Leitura da força: tudo cresce com o nível (tamanho, quantidade, a fita do rastro de 3 a 8,5 células) e há degraus que se veem: nível 5 (anel ou decal no chão), 8 (luz curta no impacto), 10 (nova, círculo, camada extra) e Final (golpe de assinatura).
  • Pilha de torres: o brilho grosso tem teto por alvo; a forma não — 12 torres no mesmo Troll não viram um borrão branco.

A cena com 12 torres atirando no Troll

Doze torres de linha real (Gelo, Natureza, Tempestade e Arcana nos níveis 1, 8 e 15) atirando no Troll, a mesma partida e o mesmo instante nas duas fotos de cada par. Antes: o Troll leva os números e mais nada. Depois: dá para contar quem está batendo — cometa de gelo com flocos, raios azuis, mísseis violeta com rastro, sementes verdes — e o brilho grosso tem teto por alvo, então a pilha de impactos não vira um borrão branco.

antes: partida de verdade, dia
depois: partida de verdade, dia
antesdepois
partida de verdade, dia — arraste a barra (esquerda = antes, direita = depois)
antes: partida de verdade, noite
depois: partida de verdade, noite
antesdepois
partida de verdade, noite — arraste a barra (esquerda = antes, direita = depois)
ANTES em movimento: só os números do golpe (a torre não desenhava tiro)
ANTES em movimento: só os números do golpe (a torre não desenhava tiro)
DEPOIS em movimento: cada torre diz o elemento e a força
DEPOIS em movimento: cada torre diz o elemento e a força

Gelo antes 2.0 → depois 8.6 (contra o WC3 Reforged)

Como se lê (forma, não só cor)

  • tiro: lança de cristal sólida (mistura normal, lê de dia sobre a grama) com halo ciano, rastro de flocos e névoa fria que cai
  • impacto: lascas de cristal que estilhaçam para cima e caem, névoa, flocos; anel de cristais no chão
  • aura: névoa que escorre do topo, flocos, cintilas e lascas girando em volta do cristal

A força pelo nível (1 → 8 → 15)

  • nível 1: lança fina com fita curta (3 células), poucas lascas, sem luz
  • nível 5: anel de gelo e decal de luz no chão, flocos no impacto
  • nível 8: luz pontual azul no impacto
  • nível 10: nova de gelo (estrela que abre), névoa no chão da torre
  • Final: fita de 8,5 células, anel de pingentes que brota em volta do alvo, segunda coroa de lascas, clarão longo
laboratório: níveis 1, 8 e 15 (da esquerda para a direita), em movimento
laboratório: níveis 1, 8 e 15 (da esquerda para a direita), em movimento
laboratório de noite: níveis 1, 8 e 15
laboratório de noite: níveis 1, 8 e 15
antes: Gelo na partida, dia (níveis 1, 8 e 15)
depois: Gelo na partida, dia (níveis 1, 8 e 15)
antesdepois
Gelo na partida, dia (níveis 1, 8 e 15) — arraste a barra (esquerda = antes, direita = depois)
antes: Gelo na partida, noite
depois: Gelo na partida, noite
antesdepois
Gelo na partida, noite — arraste a barra (esquerda = antes, direita = depois)

Crítica contra WC3 Reforged / LoL / Dota

Lê como o projétil do Frost Wyrm e o Frost Nova do Lich no WC3: a cor ciano e, sobretudo, a forma (lança, lascas, pingentes) dizem gelo antes de qualquer número. A diferença entre o 1 e o Final é nítida (tamanho do tiro, quantidade de lascas, nova e pingentes). Contra o Reforged, a nossa lança é um sprite esticado e não um modelo com refração.

O que ainda falta: o anel no chão some em 0,6 s (no WC3 o chão fica congelado um pouco mais); a névoa do impacto podia ter mais volume.

Natureza antes 2.0 → depois 8.5 (contra o WC3 Reforged)

Como se lê (forma, não só cor)

  • tiro: semente de luz em arco alto, com halo esmeralda (fora do matiz da grama), espiral de folhas girando do nível 8, rastro de folhas, pólen e pétalas
  • impacto: folhas que rodopiam, pétalas brancas (contraste na grama), explosão de folhas; onda esmeralda no chão
  • crítico: espinhos de luz, flor de luz, onda no chão e uma tremida curta do nível 10
  • aura: vagalumes, folhas e pétalas caindo, vagalumes girando em volta da copa

A força pelo nível (1 → 8 → 15)

  • nível 1: semente pequena, folhas e algumas pétalas
  • nível 5: espinhos voando, onda no chão, pétalas no rastro
  • nível 8: espiral de folhas girando na semente, luz pontual verde no impacto
  • nível 10: marca de folhas no chão, nuvem de pólen; o crítico treme a câmera
  • Final: anel de espinhos no chão e chuva de pétalas
laboratório: níveis 1, 8 e 15 (da esquerda para a direita), em movimento
laboratório: níveis 1, 8 e 15 (da esquerda para a direita), em movimento
laboratório de noite: níveis 1, 8 e 15
laboratório de noite: níveis 1, 8 e 15
antes: Natureza na partida, dia (níveis 1, 8 e 15)
depois: Natureza na partida, dia (níveis 1, 8 e 15)
antesdepois
Natureza na partida, dia (níveis 1, 8 e 15) — arraste a barra (esquerda = antes, direita = depois)
antes: Natureza na partida, noite
depois: Natureza na partida, noite
antesdepois
Natureza na partida, noite — arraste a barra (esquerda = antes, direita = depois)

Crítica contra WC3 Reforged / LoL / Dota

O verde-lima antigo tinha o matiz da grama e sumia de dia; o esmeralda com núcleo dourado e as pétalas brancas resolveram. Lembra o Rejuvenation e o Entangling Roots do Keeper of the Grove no WC3 e o Ivern do LoL. De noite é o elemento mais bonito (vagalumes e anéis verdes).

O que ainda falta: as folhas são pequenas na câmera do jogo; o rastro do nível 15 é cheio, podia ser mais elegante (menos peças, maiores).

Tempestade antes 3.0 → depois 8.8 (contra o WC3 Reforged)

Como se lê (forma, não só cor)

  • sem projétil (como o WC3 e o Dota): o orbe carrega no tiroSaiu e o raio cai no golpe, junto do número
  • raio em zigue-zague de 16 segmentos, redesenhado 30 vezes por segundo, núcleo branco quente em halo azul elétrico, com galhos que escorrem para o alvo
  • impacto: estalo animado, faíscas, anel elétrico, chamuscado no chão
  • aura: até 3 arcos independentes estalando em volta do orbe e faíscas de estática

A força pelo nível (1 → 8 → 15)

  • nível 1: um raio fino, um arco na aura
  • nível 5: anel elétrico no chão, segundo estalo, luz pontual azul
  • nível 10: chamuscado no chão, faíscas caindo da torre, arcos mais longos
  • Final: dois raios grossos com galhos, raio do céu sobre o alvo e coroa de faíscas
laboratório: níveis 1, 8 e 15 (da esquerda para a direita), em movimento
laboratório: níveis 1, 8 e 15 (da esquerda para a direita), em movimento
laboratório de noite: níveis 1, 8 e 15
laboratório de noite: níveis 1, 8 e 15
antes: Tempestade na partida, dia (níveis 1, 8 e 15)
depois: Tempestade na partida, dia (níveis 1, 8 e 15)
antesdepois
Tempestade na partida, dia (níveis 1, 8 e 15) — arraste a barra (esquerda = antes, direita = depois)
antes: Tempestade na partida, noite
depois: Tempestade na partida, noite
antesdepois
Tempestade na partida, noite — arraste a barra (esquerda = antes, direita = depois)

Crítica contra WC3 Reforged / LoL / Dota

É o que mais parece WC3: o Chain Lightning e o raio do Far Seer têm exatamente essa leitura (núcleo branco, halo azul, tremendo). O degrau de força é o mais nítido de todos (1 raio fino → 2 raios grossos com galhos e raio do céu). O halo largo do 15 dominava a cena de 12 torres e foi estreitado.

O que ainda falta: o chão não guarda um brilho residual depois do raio; o raio do céu só aparece no Final.

Arcana antes 2.0 → depois 8.6 (contra o WC3 Reforged)

Como se lê (forma, não só cor)

  • tiro: míssil violeta com uma runa girando na frente, motas em espiral e fita violeta
  • impacto: implosão (as motas são puxadas PARA DENTRO — o contrário dos outros), círculo arcano girando no chão
  • marca: a runa sobre a cabeça do alvo enquanto dura a redução
  • aura: motas subindo em espiral e runas girando em volta do topo

A força pelo nível (1 → 8 → 15)

  • nível 1: míssil pequeno, implosão curta
  • nível 5: círculo arcano no chão, runas no rastro
  • nível 8: luz pontual violeta no impacto, runas saindo da torre no disparo
  • nível 10: runas que sobem do círculo
  • Final: órbita de runas no chão e a estrela arcana
laboratório: níveis 1, 8 e 15 (da esquerda para a direita), em movimento
laboratório: níveis 1, 8 e 15 (da esquerda para a direita), em movimento
laboratório de noite: níveis 1, 8 e 15
laboratório de noite: níveis 1, 8 e 15
antes: Arcana na partida, dia (níveis 1, 8 e 15)
depois: Arcana na partida, dia (níveis 1, 8 e 15)
antesdepois
Arcana na partida, dia (níveis 1, 8 e 15) — arraste a barra (esquerda = antes, direita = depois)
antes: Arcana na partida, noite
depois: Arcana na partida, noite
antesdepois
Arcana na partida, noite — arraste a barra (esquerda = antes, direita = depois)

Crítica contra WC3 Reforged / LoL / Dota

A implosão (para dentro) e o círculo no chão são formas que nenhum outro elemento usa: dá para ler sem cor. Fica entre o Arcane Missiles do Blood Mage (WC3) e o Skywrath Mage do Dota. O míssil do 15 com a fita longa é dos tiros mais legíveis da cena.

O que ainda falta: a runa do míssil podia deixar um rastro de runas maior no nível alto; o círculo no chão é pequeno no nível 5.

As outras linhas: Sagrada (aura), Topo e Base

As linhas de aura usam o mesmo elemento da linha (a força delas fica entre o 7 e o 15); a Sagrada é só de aura e o Topo é a torre mais forte do jogo — o impacto dele soma todos os elementos e supera o Final de qualquer linha (há teste para isso).

Sagrada (linha de aura): cometa dourado, penas, auréola; pilar de luz do nível 3
Sagrada (linha de aura): cometa dourado, penas, auréola; pilar de luz do nível 3
Topo (a torre mais forte): orbe prismático, feixe grosso, todos os elementos juntos no impacto
Topo (a torre mais forte): orbe prismático, feixe grosso, todos os elementos juntos no impacto
Base (sem linha): flecha de luz pequena — de propósito a mais fraca
Base (sem linha): flecha de luz pequena — de propósito a mais fraca

Desempenho (12 torres atirando, a mesma vista e a mesma hora)

EstadoFPS sem disputa de placa (5 rodadas limpas)tempo do quadrotodas as rodadas (o trellis voltou)bateria das fotos (trellis na placa)
fora da cena (o antes de verdade: sem a raiz e sem as 2 luzes)117,2 (mediana 118,0; 102,9 a 125,9)8,53 ms92,6 (47,2 a 125,9)51,1 (22,0 a 88,8)
desligados (malhas escondidas, as 2 luzes com intensidade 0)119,5 (mediana 121,3; 100,5 a 127,8)8,37 ms96,3 (45,7 a 127,8)52,6 (17,5 a 78,5)
efeitos novos ligados100,3 (mediana 95,7; 92,8 a 114,4)9,97 ms83,5 (37,0 a 114,4)47,8 (27,2 a 59,7)

Mesma partida de 12 torres de linha real atirando no Troll, mesma vista e mesma hora, os três estados alternados. Com o trellis-cli (a fila 3D de outra frente) calculando na mesma placa a ~99%, o FPS oscilava de 17 a 88 entre minutos em QUALQUER estado e a diferença sumia no ruído; por isso o fps.mjs lê, a cada medida, a ocupação da GPU pelo trellis no contador do Windows e conta só as rodadas em que ele estava parado. Resultado: 117 fps antes (sem os efeitos na cena) e 100 fps depois, cerca de +1,4 ms por quadro na GPU; as 2 luzes curtas sozinhas não custam nada medível (desligado ≈ fora). A CPU dos efeitos (diretor + buffers) fica em 0,07 ms por quadro (0,46 ms quando o trellis disputa a CPU). Orçamento nos dados: 5.000 nascimentos por segundo, pools fixos (3.072 partículas aditivas + 1.024 alfa + 384 cabeças + fitas), 5 malhas (+6 chamadas de desenho), atlas único de 2048 × 1024.

Medidas do fps.mjs na ordem (3 s cada; entre parênteses, a GPU usada pelo trellis-cli antes/depois, lida no contador do Windows): true 93.1 (trellis 0/0%), false 121.3 (trellis 0/0%), fora 118 (trellis 0/0%), true 105.7 (trellis 0/0%), false 100.5 (trellis 0/0%), fora 125.8 (trellis 0/0%), true 114.4 (trellis 0/0%), false 120.8 (trellis 0/0%), fora 113.6 (trellis 0/0%), true 92.8 (trellis 0/0%), false 127 (trellis 0/0%), fora 125.9 (trellis 0/0%), true 95.7 (trellis 0/0%), false 127.8 (trellis 0/0%), fora 102.9 (trellis 0/0%), true 89.7 (trellis 0/100.3%), false 45.7 (trellis 65.5/92%), fora 47.2 (trellis 91.6/104.6%), true 37 (trellis 109/68.4%), false 62.8 (trellis 72.9/56.4%), fora 53.1 (trellis 100.3/110.2%), true 39.9 (trellis 48.2/95.9%), false 64.6 (trellis 105.8/0%), fora 54.4 (trellis 97.2/116.1%).

No fim da bateria das fotos: 64 cabeças, 73 fitas, 3594 vértices de fita; nasceram 95091 partículas, 0 cortadas pelo orçamento, 8843 camadas puladas pelo teto de multidão; 2393 impactos, 914 raios.

De onde veio a arte (licenças)

OrigemO que éLicença
Kenney Particle Pack 1.1 (Kenney.nl) — 32 células do atlasa luz genérica: brilho, clarão, faísca, anel, fumaça, estrelas, chamuscadoCC0 (crédito opcional)
6 folhas 4 × 4 geradas no Codex (assinatura ChatGPT do Mateus) — 96 célulasas peças de forma de cada elemento: lança e lascas de gelo, folhas, pétalas, sementes, raios, runas, penas, círculos no chãoarte do projeto
Baixados para comparar e não usadosRPicster, Kenney (Foliage, Light Masks, Smoke), OpenGameArt (círculos, flocos, Inguz, raios, SBS noise, Sinestesia), Unity Labs flipbooks (todos CC0); Viktor Hahn Spell Animations (CC BY 4.0)registro em assets/LICENCAS.md

Como ver no jogo

Gerada por .scratch/vfx-elementos/monta_pagina.py a partir das capturas (bateria v4, laboratório final). As fotos ficam em production/qa/evidence/vfx-elementos-*.