Pular para o conteúdo
AstraDOCS

Desenvolvimento: estratos e mapas globais do terreno

Em desenvolvimento · C#Conferido em fonte

Autoria de estratos, curvas e quatro mapas globais com domínio próprio e assets originais.

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.

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.

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.

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.

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.

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.

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.

Capacidades estudadas na Unity 6000.0: AnimationCurve e Keyframe. Shader Graph 17.0.4: Blend, Tiling and Offset, Sample Texture2D e Normal Blend. As referências orientam capacidades e contratos; a interface mantém a identidade Astra e adapta a edição ao toque.