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.
| Scaler | Pipeline | Target | Descrição |
|---|---|---|---|
| Resolution | BiRP URP | GPU | Reduz a resolução de renderização, diminuindo radicalmente a carga no Fillrate da GPU. Veja os detalhes abaixo. |
| Shadows Quality | BiRP URP | GPU | Desativa 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 Cascades | BiRP URP | CPU/GPU | Reduz o número de cascatas de sombra. Diminui os Draw Calls da CPU e a carga na GPU. |
| Shadow Distance | BiRP URP | GPU | Encurta a distância de desenho das sombras. |
| Shadow Resolution | BiRP URP | GPU | Reduz a resolução dos mapas de sombra (Shadow Maps). |
| Anti Aliasing | BiRP URP | GPU | Diminui a qualidade de anti-aliasing (MSAA) até uma desativação completa. |
| LOD Bias | BiRP URP | GPU | Força a Unity a mudar para modelos LOD low-poly a uma distância mais curta da câmara. |
| Camera Clip | BiRP URP | GPU | Reduz o parâmetro Far Clip Plane nas câmaras alvo, retirando objetos distantes da renderização. |
| Layer Culling | BiRP URP | CPU | Reduz proporcionalmente a distância de abate (Culling Distance) para camadas de objetos específicos. |
| Physics Step | BiRP URP | CPU | Diminui a frequência dos cálculos de física. Salva a performance durante cargas de física pesadas no navegador. |
| LUT | URP Apenas | GPU | Reduz o tamanho das tabelas LUT de Color Grading ao mínimo. |
| Mesh LOD Threshold | Unity 6+ | GPU | Altera 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.
- Selecione o seu Canvas na hierarquia da cena.
- 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.
- Câmara Principal (3D): Certifique-se de que a sua tag está especificada no array de
Target Tagsdo Scaler. No campoCulling Mask, desmarque a camada UI. Defina oDepthpara0. - 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 FlagsparaDepth Only(para que a câmara não apague o fundo 3D). - Defina o
Culling Maskexclusivamente para a camada UI. - Defina o
Depthpara1(maior que a câmara principal).
- Defina as
- Configuração do Canvas: Defina o Render Mode para
Screen Space - Camerae arraste a sua nova Câmara de UI para o slotRender Camera.
