--- title: "Desenvolvimento: pintura FX, umidade e poças" version: development-2026-10-20-terrain-fx 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. Device validation pending.","Static Wetness/Puddles; Streams/Lava and broader plugin plan remain open. Original assets preserved."] url: https://astraengine.com.br/pt-br/desenvolvimento/2026-10-20/terreno-fx-umidade-pocas/ --- # Desenvolvimento: pintura FX, umidade e poças Pincel RGBA independente, prévia durante o gesto, barras e material molhado com preservação dos originais. # Pintura FX, umidade e poças do terreno Revisão de desenvolvimento de 20/10/2026. Ainda sem APK distribuído e sem validação no aparelho. Este pacote integra autoria e material estáticos; o plano integral dos plugins continua aberto. ## Pintar com controle Em **Pintar → Pintura FX**, crie a máscara explicitamente e escolha o canal: **R umidade**, **G poça**, **B correnteza** ou **A lava**. São quantidades independentes: pintar uma não redistribui as outras. B/A permanecem autorados para os consumidores seguintes; esta revisão visual integra umidade e poças. Os seletores **Canal** e **Modo** separam edição, pintura e transformação. No desktop, o contexto FX ocupa o painel com suas propriedades; Voltar retorna à Pintura geral, conservando camadas e demais ferramentas. No mobile, uma linha de seletores libera o mapa de 80 px. O contorno projetado acompanha o relevo, inclusive nas arestas da caixa. Pinte no mapa do canal ou no terreno selecionado. Alvo e raio usam barras; Pincel reúne fluxo, falloff, dureza, opacidade, forma, proporção e rotação. Filtros usam a inclinação geométrica mundial. Valores precisos continuam disponíveis. A API de toque atual captura pressão 1; não anuncia pressão variável que o dispositivo não fornece ao editor. Apagar usa alvo 0 e conserva o alvo positivo preparado. Um gesto tem confirmação e undo/redo próprios. A prévia usa os pixels transitórios antes de soltar; a autoria só é confirmada ao concluir. Cancelar descarta o gesto e restaura a prévia anterior. **Aplicar** publica a revisão; reabrir recupera o mesmo mapa e seu histórico autoral, começando na raiz de Pintura e em Editar. O rodapé aplicado oferece Pintar FX/Navegar, sem armar o pincel geométrico. A prévia transitória tem indicação própria; amostras FX não são confundidas com operações geométricas. Importar/substituir fontes FX e rebase ainda precisam do fluxo completo e não aparecem como ações fictícias. ## Material molhado e poças **Umidade** oferece mínimo/máximo, altura mundial com onda, início/fim da transição por distância e força próxima/distante. **Poças** usa quantidade pintada, máximo, contraste e altura do material. Esses controles afetam a superfície; não esculpem a malha nem criam um volume físico de água. Porosidade pode ser global ou por camada e compartilha a propriedade canônica já usada pela neve. A água altera cor, rugosidade e AO; a poça também achata a normal. A composição conserva as etapas da fonte, incluindo sua mistura em duas etapas. Remoção de neve combina umidade/poça por máximo, e a máscara inversa R é explícita. Quantidade zero de um efeito não deve apagar o efeito independente de outro. ## Resolução e desempenho escolhidos A máscara permite 256/512/1024/2048 na criação. O orçamento de edição **96/192/256 MiB** é uma preferência explícita da sessão, conservada entre aberturas enquanto a sessão continua. A estimativa agregada recusa 2048 em 96/192 antes de alocar; 256 permite esse perfil. Não há redução automática de resolução ou corte do histórico para fazer caber. Essa estimativa não é uma medição do pico do processo. O snapshot visual usa RGBA8 linear, Clamp e um nível original. Assim, o streaming não substitui silenciosamente o mapa por uma versão menor enquanto a consulta CPU usa os pixels originais. Falta de orçamento recusa a publicação. O histórico conserva todos os gestos e usa compressão RLE sem perda quando ela for menor que o formato raw. Um mapa ruidoso não depende de ser compressível para ser válido. A fila verifica estado leve antes de copiar ou serializar FX. Alterações no gesto produzem uma nova prévia; ficar parado não deve gerar novos snapshots. A biblioteca de geometria é reutilizada durante a pintura, mas o publisher ainda pode reconstruir pacote/upload. Não se anuncia upload GPU somente da região suja nem desempenho Android medido. ## Assets e migração Quatro ícones vetoriais novos entram no atlas executável Astra, com masters 384 px e células 96 px. As 636 entradas anteriormente publicadas conservam seus IDs. Nenhum asset original foi reduzido. As quatro fontes Streams/Lava/chuva permanecem preservadas em preparação para seus consumidores; não são anunciadas como efeitos prontos desta revisão. Superfícies novas usam **AETERRAINSURFACE4** e receitas **AETERRAIN9**. Leitores atuais preservam versões anteriores e inicializam os efeitos novos desligados/neutros. SurfaceV4 conserva o corpo e as extensões V2/V3 antes da cauda Flow. O cache derivado revisão 12 será regenerado; preserve fontes e histórico. Cena/registro guardam referências, sem duplicar o bitmap inteiro na cena. Código antigo não deve editar os novos dados. Atualizar o site não altera o APK instalado. ## O que permanece em desenvolvimento Streams/Lava completos, dinâmica, autoridades globais, chuva/ripples, emissores/colisores de fluxo, tracks e demais famílias do plano ainda têm seu próprio aceite. Quatro canais PBR pintados continuam o limite visual atual, embora 32 camadas possam ser autoradas. Testes de pixels pequenos no PC não demonstram a naturalidade de uma cena grande, toque ou orçamento no Android. ## Validação local Revisão da branch `codex/terrain-voxel-generator`, commit `78ff1825`: 213/213 cenários integrados do editor e 103/103 Core; 252 modos offscreen na GPU RTX 3050; 11/11 cenários do pipeline GLB/cache, incluindo 2048² integral; 26/26 unidades Android ARM64 sintáticas e repetição1/1 da unidade visual após o ajuste final; 44 shaders de produção validados. 42 capturas finais da UI executável foram conferidas em 655×300/1280×720, incluindo seleção/publicação real de materiais e estado após Aplicar. Capturas de UI e pixels pequenos no PC não representam teste de toque, aparência de uma cena 3D grande ou orçamento no aparelho. Sem link Android, APK novo ou ADB. ## Referências Unity **6000.0**: [TerrainPaintTool](https://docs.unity3d.com/6000.0/Documentation/ScriptReference/TerrainTools.TerrainPaintTool_1.html), [CalculateBrushTransform](https://docs.unity3d.com/6000.0/Documentation/ScriptReference/TerrainTools.TerrainPaintUtility.CalculateBrushTransform.html) e [Time.time](https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Time-time.html). Shader Graph **17.0.4**: [Sample Texture2D](https://docs.unity3d.com/Packages/com.unity.shadergraph@17.0/manual/Sample-Texture-2D-Node.html) e [Blend](https://docs.unity3d.com/Packages/com.unity.shadergraph@17.0/manual/Blend-Node.html). As referências orientam capacidades; não afirmam equivalência integral de renderização, relógio ou desempenho.