--- title: "Desenvolvimento: estratos e mapas globais do terreno" version: development-2026-10-20-terrain-global engineGeneration: astra-current language: C# status: source-reviewed reviewedAt: 2026-10-20 appRelease: "0.3.2-preview.20261016" runtimeVerified: false platformEvidence: ["Development branch revision, not distributed in an APK. Android device validation pending.","Four painted channels; broader plugin plan remains open. Source assets retain original quality."] url: https://astraengine.com.br/pt-br/desenvolvimento/2026-10-20/terreno-estratos-mapas-globais/ --- # Desenvolvimento: estratos e mapas globais do terreno Autoria de estratos, curvas e quatro mapas globais com domínio próprio e assets originais. # Estratos e mapas globais do terreno Revisão de desenvolvimento de 20/10/2026. Este guia descreve a implementação da branch de terreno; ela ainda não foi distribuída em APK. O plano integral dos plugins continua aberto. ## Estratos Em **Pintar → Estratos**, os controles de participação e intensidade aparecem na abertura. **Fontes** reúne o modo desligado, cor ou cor+normal e a escolha dos mapas. O cabeçalho informa quando o módulo está desligado; os valores continuam disponíveis para preparação. **Usar estratos do plugin** seleciona o par original de mapas fornecidos. Cada fonte tem canais, remapeamentos e fatores próprios; mapas de normal aceitam RGB/RG. Multiply2x e LighterColor combinam a cor com o material da camada. Intensidade e força normal têm efeitos independentes. **Metros por repetição** controla o tamanho vertical do estrato; o offset desloca sua posição em metros. A faixa de quatro alturas mundiais cria entrada e saída lineares. As alturas permanecem ordenadas; valores coincidentes representam um limite sem largura de transição. A participação e o filtro de altura de cada camada permitem aplicar estratos seletivamente, usando a altura material já avaliada após variantes e resampling. ## Curva dos estratos O gráfico mostra a curva e a chave selecionada. Uma curva vazia oferece **Adicionar primeira chave** na abertura; a indicação de curva desligada evita confundir edição preparada com efeito ativo. A autoria conserva identidade, posição, valor, modos de tangente, inclinações, pesos e vínculo das tangentes. As páginas de chaves, tangentes e transformação organizam os controles. Barras têm entrada precisa para valores fora da faixa prática. A curva usa um eixo horizontal rotacionado, com escala e offset em metros e rotação em graus. Sua saída soma UV de estrato: valor 1 desloca uma repetição vertical. Tempos negativos e externos a 0..1 são conservados; curva vazia produz zero e uma única chave produz valor constante. O gráfico cobre as chaves autoradas e destaca o intervalo 0..1 consumido pelo material. Seleção por índice com entrada exata permite alcançar chaves em curvas densas. Inclusão, remoção e edição por barras/entrada exata preservam IDs e tangentes. As chaves de autoria são preservadas; uma LUT de 256 amostras deriva a avaliação para o material. Essa aproximação pode suavizar detalhes menores que seu intervalo. Curvas que excedam o orçamento de metadados são recusadas com diagnóstico, sem truncar chaves silenciosamente. ## Quatro mapas globais **Mapas globais** reúne cor/Tint, normal, SAOM e emissão. Cada grupo possui fonte, intensidade, distância inicial/final, força perto/longe, escala e offset UV próprios. As influências por camada permanecem independentes. Desligar um mapa conserva os valores para voltar a editá-lo. A linha de estado e fonte fica junto dos controles: uma fonte precisa existir antes de ativar o mapa. **Voltar** retorna à pintura e o seletor de camada mantém a miniatura e a participação correspondentes. O domínio cobre o tamanho inteiro do terreno em coordenadas locais. Ele é independente da repetição das camadas, dos tamanhos das variantes e de textureScale. A transformação é **(UV normalizada + offset) × escala**; o offset antecede a escala. Fades de distância são lineares. O domínio aparece como informação derivada do terreno, sem propriedade duplicada para editar. Tint oferece Multiply2x, Overlay, LighterColor e Crossfade. A normal tem mistura reorientada ou Crossfade, com decodificação RGB/RG e força própria. SAOM e emissão usam Crossfade. Participação de Tint vai de 0 a 1; normal, SAOM e emissão conservam a faixa original de 0 a 2. ## Canais SAOM O empacotamento padrão é **R=smoothness, G=AO, B=metallic, A=máscara**. Cada papel tem canal, inversão, remapeamento, fator e referência explícitos. Rugosidade é calculada como 1−smoothness após o remapeamento. Texturas compatíveis compartilham amostragem; normal GA não é interpretada como RG. Cor respeita seu espaço de cor, e normais/máscaras são dados lineares. Os exemplos do pacote não contêm todos os mapas globais referenciados. Escolha uma fonte disponível; a ausência é diagnosticada, sem inserir uma imagem branca como substituição. ## Qualidade, assets e compatibilidade Os dois mapas de estratos originais 1×256 entram como novas fontes, com seus bytes e resolução preservados. Miniaturas são derivados separados. O catálogo mantém os 82 materiais anteriores e passa de 146 para 148 texturas. Os novos ícones de estratos e domínio global seguem a família Astra e estão no atlas executável. Mapas desligados e propriedades sem participação evitam trabalho de amostragem quando possível. Isso não reduz os arquivos originais. Custos de GPU, memória e ergonomia final no Android ainda precisam de medição no aparelho. Não há ajuste automático que descarte qualidade dos assets. Superfícies novas usam **AETERRAINSURFACE2**, mantendo o corpo legado e uma extensão versionada. O leitor atual aceita superfícies v1 com os novos módulos desligados. Receitas continuam AETERRAIN8 e GLB superfície v3, agora com domínio explícito. Cache derivado revisão 10 será regenerado; preserve fontes e histórico. Código antigo que não conhece superfície v2 não deve editar esses novos dados. ## Limites do pacote A pintura/render ainda usa quatro canais simultâneos; a autoria conserva até 32 camadas. Specular workflow, normal GA, curvas por inclinação, ruído UV e opções adicionais de amostragem permanecem inventariados para implementação posterior. Neve, vegetação, grafos e outras partes do plano também continuam abertas. Este pacote não anuncia paridade integral com os plugins. ## Referências Capacidades estudadas na Unity **6000.0**: [AnimationCurve](https://docs.unity3d.com/6000.0/Documentation/ScriptReference/AnimationCurve.html) e [Keyframe](https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Keyframe.html). Shader Graph **17.0.4**: [Blend](https://docs.unity3d.com/Packages/com.unity.shadergraph@17.0/manual/Blend-Node.html), [Tiling and Offset](https://docs.unity3d.com/Packages/com.unity.shadergraph@17.0/manual/Tiling-And-Offset-Node.html), [Sample Texture2D](https://docs.unity3d.com/Packages/com.unity.shadergraph@17.0/manual/Sample-Texture-2D-Node.html) e [Normal Blend](https://docs.unity3d.com/Packages/com.unity.shadergraph@17.0/manual/Normal-Blend-Node.html). As referências orientam capacidades e contratos; a interface mantém a identidade Astra e adapta a edição ao toque.