Como configurar e usar o fort parabrisa no seu projeto Fort
O fort parabrisa é um sistema de simulação de vidros em veículos dentro da engine Fort. Ele lida com reflexos, distorção de refração, quebra procedural e limpeza dinâmica. Se você já tentou implementar vidros realistas do zero, sabe que rapidamente vira uma dor de cabeça com GPU instabilidade e shaders incompatíveis. O pacote existe basicamente pra resolver isso de forma padronizada.
fort parabrisa — download e pré-requisitos
Você baixa direto do repositório oficial no site do Fort Community Assets. O link atual é a pasta releases na seção vehicle-effects. Escolha a versão que corresponde ao seu build do Fort — tem separação entre 4.x e 5.x, e elas não são compatíveis entre si. Antes de instalar, verifique se seu projeto tem o módulo PhysicsFX e o ShaderGraph atualizados. Sem isso, o shader de refração não compila e o vidro fica preto no viewport. A instalação em si leva uns cinco minutos. Descompacte na pasta Assets, rode o menu Fort > Parabrisa > Import Presets e selecione o preset do veículo que você vai usar. O sistema cria automaticamente os materiais, o setup de partículas de chuva e o script de controle de rachaduras.
Configuração prática passo a passo
O primeiro erro que as pessoas cometem é aplicar o material do parabrisa diretamente no mesh sem criar uma camada de colisão dedicada. O sistema de quebra usa raycast contra o collider do vidro pra determinar onde o impacto acontece. Se o collider não existir ou estiver mal posicionado, os danos aparecem flutuando fora do vidro ou nem aparecem. Monte o setup assim. Adicione um PlanarCollider no mesh do parabrisa, deixe a espessura em zero, e vincule o script ParabrisaController a esse objeto. Configure a resolução da textura de dano — 1024x1024 é o padrão, mas se o seu veículo for de primeira pessoa com câmera próxima, suba pra 2048. Acima disso não faz diferença perceptível e apenas sobe o uso de VRAM.
O segundo passo é o setup de materiais. O pacote vem com três variantes: cristalino, fumê e com película de segurança. Cada uma tem configurações diferentes de refração e opacidade. O shader usa dois passes principais — um de refração baseado em Screen Space Reflections adaptado e um de reflexão especular com BRDF otimizado. A qualidade desses passes é controlada pelo slider FPS Target no inspector do controlador. Manter entre 60 e 90 fps garante que o vidro não fique com aquelas falhas de amostragem que aparecem em telas com refresh alto quando o SSAO está mal configurado.
Problema real que encontrei e a solução
Num projeto de simulação de ônibus urbano, o sistema de rachaduras travava aleatoriamente após cerca de trinta minutos de execução. O profiler mostrava um leak de memória nos objetos ParticleDamage, que eram instanciados a cada impacto mas nunca destruídos corretamente quando a cena era reloadada. O problema era que o Fort parabrisa, na versão 2.3 que estávamos usando, não chamava o cleanup do pool de partículas no evento OnDestroy do controlador. A solução que funcionou foi sobrescrever o método CleanupDamageParticles() no script herdeiro. Basicamente, no OnDestroy, eu forçava a destruição de todos os objetos ativos no array _activeDamageInstances e chamava o DestroyImmediate em cada um com allowObjectDestroy true. Depois disso, nenhuma queda de FPS depois de horas de teste. Esse fix acabou sendo incluído na versão 2.4.1, então quem estiver nessa build já nasce com isso resolvido.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Insights que poucos sabem sobre o sistema
A maioria dos desenvolvedores configura a densidade de chuva no WorldWeatherManager do Fort e espera que o parabrisa reaja automaticamente. Mas o sistema de gotas no fort parabrisa tem um parâmetro chamado DropAdhesionForce que controla o quanto a água gruda no vidro antes de escorrer. Se você deixar nos valores padrão, as gotas acumulam de forma artificialmente uniforme. O valor ideal pra cenas noturnas com farol vindo de frente é algo entre 0.7 e 0.85 — isso faz as gotas se comportarem de forma mais orgânica e cria aquele efeito de distorção caótica que aparece quando o vento do veículo empurra a água contra o vidro. Outro ponto que ninguém menciona nas documentações oficiais: o shader de refração do fort parabrisa não funciona bem com Depth of Field ativo na câmera. A distorção do vidro entra em conflito com o blur de profundidade e gera halos brancos ao redor das bordas dos objetos atrás do vidro. A solução é desativar o DOF e usar ao invés disso uma texture de bokeh aplicada via post-processing separado, ou simplesmente aceitar que em primeira pessoa com câmera interna do veículo, o DOF deve ficar sempre desligado.
Limitações e onde o fort parabrisa realmente falha
O sistema não suporta multi-câmera nativamente. Se seu projeto usa renderização stereo para VR, cada eye renderiza o vidro separadamente e o custo dobra. O uso de memória sobe cerca de 800MB adicionais só com as texturas de dano em alta resolução rodando em dupla. Em hardware de entrada, isso significa travamento consistente acima de 45fps alvo. Também há um limite prático de rachaduras simultâneas. O sistema aguenta cerca de doze impactos visíveis por quadro antes de começar a Degradar a taxa de frames. Isso é ditado pelo número de draw calls extras gerados pelas máscaras de dano. Se seu jogo precisa de cenas com muitos impactos simultâneos — tipo um simulador de demolição — o fort parabrisa não é a escolha certa. Nesse caso, um shader procedural customizado com compute shaders seria mais adequado, ainda que exija muito mais trabalho de implementação.
Outro ponto importante: o sistema de limpeza por limpadores de para-brisa só funciona se o veículo tiver animação de braço do limpador vinculada ao parâmetro WiperActive do controlador. Muitos desenvolvedores instalam o pacote, ativam o efeito de chuva, e ficam se perguntando por que o vidro nunca limpa. A animação não é automática — você precisa mapear manualmente no Animator ou usar o script WiperMapper que vem como utilitário extra no pacote.
Testando o fort parabrisa rapidamente
O pacote vem com uma cena demo chamada ParabrisaTestScene. Abra ela e você vai encontrar um sedan genérico com todos os recursos ativados. Use as teclas numéricas de 1 a 5 pra ativar e desativar os modos: chuva leve, chuva forte, granizo, sol com reflexo e impacto de pedra. Cada modo mostra um comportamento diferente do sistema e ajuda a calibrar os parâmetros pro seu próprio projeto antes de importar. Leva uns vinte minutos pras pessoas entendendoem como cada slider afeta o resultado final. O mais importante é o parâmetro GlassThickness no material — ele controla o deslocamento da refração. Valores muito altos fazem o vidro parecer plástico, valores muito baixos eliminam o efeito de profundidade. O ponto doce pra a maioria dos veículos modernos fica entre 0.004 e 0.008 metros.
Se você está começando agora com o Fort e precisa de vidros realistas em veículos sem montar tudo do zero, o fort parabrisa é uma opção viável. Tem limitações claras, principalmente pra VR e cenas de alto impacto, mas pra a maioria dos projetos o custo-benefício é razoável. O tempo de configuração inicial gira em torno de trinta minutos, e depois disso o sistema roda de forma estável sem manutenção constante.