Skip to content

Referência de Scalers

Web Adaptive Performance inclui um conjunto de Scalers especializados (módulos de otimização). O Indexer seleciona automaticamente qual Scaler implementar com base no seu impacto visual (Visual Impact) e no tipo de gargalo atual (Target: CPU ou GPU).

Matriz de Compatibilidade

Abaixo está a matriz de compatibilidade e uma descrição de todos os módulos disponíveis.

ScalerPipelineTargetDescrição
ResolutionBiRP URPGPUReduz a resolução de renderização, diminuindo radicalmente a carga no Fillrate da GPU. Veja os detalhes abaixo.
Shadows QualityBiRP URPGPUDesativa as sombras por fases.
Em URP, primeiro desativa as sombras suaves, depois as sombras de luzes adicionais e, finalmente, as sombras principais.
Em BiRP, muda as sombras para o modo Hard Only antes de desativá-las completamente.
Shadow CascadesBiRP URPCPU/GPUReduz o número de cascatas de sombra. Diminui os Draw Calls da CPU e a carga na GPU.
Shadow DistanceBiRP URPGPUEncurta a distância de desenho das sombras.
Shadow ResolutionBiRP URPGPUReduz a resolução dos mapas de sombra (Shadow Maps).
Anti AliasingBiRP URPGPUDiminui a qualidade de anti-aliasing (MSAA) até uma desativação completa.
LOD BiasBiRP URPGPUForça a Unity a mudar para modelos LOD low-poly a uma distância mais curta da câmara.
Camera ClipBiRP URPGPUReduz o parâmetro Far Clip Plane nas câmaras alvo, retirando objetos distantes da renderização.
Layer CullingBiRP URPCPUReduz proporcionalmente a distância de abate (Culling Distance) para camadas de objetos específicos.
Physics StepBiRP URPCPUDiminui a frequência dos cálculos de física. Salva a performance durante cargas de física pesadas no navegador.
LUTURP ApenasGPUReduz o tamanho das tabelas LUT de Color Grading ao mínimo.
Mesh LOD ThresholdUnity 6+GPUAltera o parâmetro meshLodThreshold, introduzido no Unity 6.2, para mudanças de LOD agressivas.

Cuidado com o Physics Step Scaler

O Scaler de física altera diretamente o parâmetro Time.fixedDeltaTime. Se um controlador de personagem ou mecânica de jogo depender estritamente de frames de física fixos sem interpolação (Interpolation), o movimento de objetos pode ficar "gaguejando" em níveis de baixa qualidade.

Redefinição das Configurações de Scaler

Se você experimentou com parâmetros de Scaler (e.g., modificando o Min Bound ou Max Level) e deseja reverter para os valores predefinidos, simplesmente desligue e ligue o interruptor na janela Project Settings. O plugin recriará automaticamente o módulo com as configurações de base.

Análise: Resolution Scaler

Esta é a ferramenta mais potente do plugin, garantindo o maior aumento de FPS. O seu funcionamento varia drasticamente dependendo do pipeline ativo.

No Modo URP (Universal Render Pipeline)

No URP, o escalonamento funciona perfeitamente. O plugin interfere diretamente com a propriedade renderScale no UniversalRenderPipelineAsset. A interface (UI) permanece nítida automaticamente, pois o URP é capaz de renderizar o Canvas sobre um mundo 3D escalonado.

No Modo BiRP (Built-in Render Pipeline)

Historicamente, o BiRP carece de uma configuração de Render Scale integrada que funcione em WebGL sem quebrar a interface ou causar falhas (FBO Feedback Loop). O WebAP resolve isso oferecendo duas estratégias exclusivas.

Modo 1: NativeBrowserScaling (Escala Nativa do Navegador)

O plugin escalona o elemento HTML <canvas> diretamente via Native Loop Spoofing (injetando nos parâmetros devicePixelRatio do navegador).

  • Prós: Desempenho máximo, zero overhead do lado da GPU.
  • Contras: A interface do jogo fica desfocada juntamente com os gráficos 3D. Este modo só funciona numa build compilada de WebGL (nenhuma mudança será visível no Unity Editor).

Modo 2: RenderTextureScaling

O plugin redireciona a renderização das câmaras alvo para uma textura compartilhada comprimida e utiliza uma Compositor Camera escondida para apresentar a imagem.

  • Prós: O mundo 3D é escalonado, enquanto a UI (texto, botões) permanece cristalina.
  • Contras: Adiciona uma carga marginal à GPU devido à operação Blit (copiando a textura para a tela).

Corrigindo Cliques do Rato (Raycasts)

Quando o RenderTextureScaling é utilizado, as coordenadas da tela virtual são comprimidas. Para garantir que os cliques de rato em objetos 3D continuam a funcionar corretamente, o plugin substitui automaticamente componentes padrão de PhysicsRaycaster e Physics2DRaycaster nas câmaras alvo por componentes WebScaledPhysicsRaycaster personalizados. A precisão dos raios (rays) permanece infalível em qualquer escala.

Como Preservar a Clareza da UI? (Para BiRP RenderTextureScaling)

Para manter a interface nítida enquanto se escalona os gráficos 3D em BiRP com RenderTextureScaling, deve configurar o seu Canvas corretamente. Selecione uma de duas opções:

Opção 1: Screen Space - Overlay (Recomendada)

O método mais simples e fiável. O plugin gere todo o trabalho automaticamente.

  1. Selecione o seu Canvas na hierarquia da cena.
  2. No componente Canvas, defina o Render Mode para Screen Space - Overlay.
    Resultado: A Unity renderiza a interface em cima do mundo 3D comprimido a uma resolução 100% nativa.

Opção 2: Screen Space - Camera (Para Camadas Complexas)

Usado se precisar misturar modelos 3D, partículas e UI. Terá de separar a renderização em duas câmaras.

  1. Câmara Principal (3D): Certifique-se de que a sua tag está especificada no array de Target Tags do Scaler. No campo Culling Mask, desmarque a camada UI. Defina o Depth para 0.
  2. Câmara de UI (Nova): Crie uma nova câmara para renderizar a interface. Não adicione a sua tag às configurações do Scaler.
    • Defina as Clear Flags para Depth Only (para que a câmara não apague o fundo 3D).
    • Defina o Culling Mask exclusivamente para a camada UI.
    • Defina o Depth para 1 (maior que a câmara principal).
  3. Configuração do Canvas: Defina o Render Mode para Screen Space - Camera e arraste a sua nova Câmara de UI para o slot Render Camera.