Assets 3D Low Poly — Texturas de Grama, Personagens e Como Criá-los
Crie seus próprios assets 3D low poly
Texturas de grama low poly gratuitas para Unity e Roblox, além de como gerar personagens 3D low poly — com um mundo low poly ao vivo para vê-los em ação.
Assets 3D low poly são malhas construídas com um orçamento de triângulos deliberadamente pequeno, geralmente com facetas de sombreamento plano (flat shading) e um único atlas de textura. O ponto não é que o modelo seja tosco. O ponto é que cada triângulo carrega informação de forma visível, de modo que um arbusto é lido como arbusto do outro lado do mapa e continua sendo lido como arbusto quando o jogador se aproxima. Grama, pedras, personagens e objetos de cena seguem a mesma restrição: decida a silhueta primeiro e gaste polígonos apenas onde a silhueta muda.
Esta página aborda assets 3D low poly a partir das texturas. Você recebe uma textura de grama low poly gratuita que pode ser repetida (tiled) no Unity, Roblox ou Godot, as configurações de importação que realmente importam em cada engine, e uma forma de transformar uma descrição escrita em um personagem 3D low poly em vez de caçar um pacote de assets. Tudo aqui é feito no navegador, e os mundos no final da página estão rodando ao vivo para que você possa julgar os assets em contexto, e não em uma miniatura.
Texturas de Grama Low Poly Gratuitas
Uma textura de grama se repete sem uma emenda visível quando as bordas opostas coincidem pixel a pixel. Se o seu tile é 64x64, a coluna 0 e a coluna 63 precisam ser adjacentes no padrão real, e não idênticas. Duplicar a última coluna em vez de envolvê-la produz uma faixa vertical de um pixel que se repete a cada tile, o que é lido como um artefato de linhas de grade em um plano grande. A mesma regra vale para a linha 0 e a linha 63. Na prática, você cria o tile em 65x65, pinta atravessando a borda e depois recorta para 64x64, para que a repetição (wrap) seja contínua por construção.
Para o trabalho low poly, existem três variantes práticas de textura de grama. Uma textura tileable se repete por um grande plano de solo ou uma malha de terreno. Um atlas reúne vários estados de grama — curta, alta, seca, sombreada — em uma única imagem, para que um único material possa alternar entre eles deslocando as UVs, o que importa quando você quer variedade sem chamadas de desenho (draw calls) extras. Um tile avulso de 64x64 é a opção mais barata e a que sobrevive melhor à compressão no mobile, porque cada bloco de quatro pixels cobre uma área maior da tela e os artefatos de bloco permanecem invisíveis.
Folhas de grama em mundos low poly quase nunca são apenas uma textura. A construção usual é um quad cruzado: dois planos verticais que se cruzam a 90 graus, cada um carregando uma textura de tufo de grama com canal alfa. O recorte alfa é o que dá forma às folhas sem geometria. Mantenha o recorte duro — um alfa de 1 bit — porque bordas alfa suaves em quads sobrepostos ordenam mal e produzem halos visíveis quando a câmera se move.
Por que a repetição sem emendas falha à distância
Um tile pode ser perfeitamente sem emendas e ainda assim parecer errado quando repetido por uma grande área, porque o olho capta a frequência de repetição, e não a emenda. Um único tile 64x64 esticado por 100 metros se repete em um intervalo fixo que o jogador consegue ver. A solução não é uma textura maior. É uma segunda textura em escala diferente misturada, ou uma variação de cor de baixa frequência pintada nas cores dos vértices da malha do solo.
A variação de cores dos vértices é a resposta mais barata e combina com a direção de arte low poly. Você mantém um tile pequeno, um material, uma chamada de desenho, e quebra a repetição escurecendo e clareando trechos da malha do solo em uma escala de vários metros. A textura fornece o grão. As cores dos vértices fornecem o padrão de grande escala.
Mipmaps e compressão
Gere mipmaps para qualquer textura que seja vista em ângulo ou à distância, o que vale para toda textura de solo. Sem elas, você tem cintilação (shimmer) quando o jogador se move. Com elas, um recorte alfa duro precisa de uma configuração específica: use teste alfa (alpha testing) em vez de mistura alfa (alpha blending), e defina o limite do teste em torno de 0,5. Abaixo disso, os níveis de mip desfocam o recorte em uma nuvem suave e a grama vira névoa ao redor do quad.
A compressão importa mais do que a resolução nessa escala. Um tile 64x64 com compressão de bloco continua legível porque os blocos de compressão são uma fração significativa da imagem e a GPU os reconstrói em tamanho real. Um tile 512x512 carregando a mesma informação visual consome mais memória e comprime pior por recurso visível. Se uma textura parece boa em 64x64, publique-a em 64x64.
| Variante | Tamanho típico | Quando usar | Custo de importação |
|---|---|---|---|
| Textura tileable | 64x64 ou 128x128 | Grandes planos de solo, camada base do terreno | Um material, uma chamada de desenho, repete de forma limpa |
| Folha de atlas | 256x256 ou 512x512 | Vários estados de grama em um material | Cálculo de UV por instância, maior consumo de memória |
| 64x64 avulso | 64x64 | Tufos de grama em quad cruzado, alvos mobile | Mais barato de comprimir, artefatos de bloco ficam ocultos |
| Tufo com recorte alfa | 64x64 com alfa de 8 bits | Silhuetas de folhas individuais em quads | Exige alfa duro e ordem de ordenação correta |
Grama no Unity / Roblox / Godot
Cada engine trata uma textura de grama de forma diferente, e as configurações de importação que importam decorrem disso. O Unity tem um sistema de grama de terreno e um sistema de detalhes baseado em shader; o Roblox oferece um Decal ou uma Texture dentro de um SurfaceGui ou em um MeshPart; o Godot tem um MultiMeshInstance para espalhamento e um shader para o material. A textura que você entrega a cada um deve ser criada para o slot em que ela vai entrar.
Antes de ajustar qualquer coisa, decida se a sua grama é uma textura em um plano, um billboard voltado para a câmera ou uma malha. Billboards são os mais baratos e funcionam para tufos distantes, mas giram conforme a câmera se move, e um recorte alfa duro torna essa rotação visível na silhueta. Um tufo em malha mantém a forma e ordena corretamente, mas custa triângulos. Texturas em planos são o meio-termo e a escolha mais comum para um visual low poly.
Unity
Para um tufo em quad cruzado, importe a textura com Texture Type definido como Default, Alpha Is Transparency ativado se você estiver fazendo blending, e Wrap Mode definido como Repeat para solo tileable. Generate Mip Maps ativado. Se você usar um recorte duro, desative Alpha Is Transparency e conte com o limite de alpha clip do shader, porque a ordenação de transparência em quads sobrepostos é onde a grama do Unity quebra visivelmente.
Para uma camada de solo de terreno, defina a textura como wrap Repeat e ative os mipmaps, depois verifique a densidade de detalhes do terreno e a distância de desenho dos detalhes de grama. Uma distância de detalhe abaixo de cerca de 30 a 50 metros é o ponto em que o pop fica perceptível quando o jogador se move; aumente-a até que a transição fique oculta ou faça o detalhe desaparecer com um fade por distância, em vez de cortá-lo.
Roblox
No Roblox, uma textura de grama geralmente vira um objeto Texture em um part ou dentro de um SurfaceGui, ou um Decal. Defina a face explicitamente e defina StudsPerTileU e StudsPerTileV para controlar a escala de repetição em vez de escalar o part, porque escalar o part altera a colisão e o comportamento físico junto com o visual. Para um tile 64x64 cobrindo cerca de quatro studs, defina StudsPerTileU e StudsPerTileV como 4.
O Roblox faz upload de texturas em resolução reduzida, a menos que você envie um tamanho adequado, e a plataforma converte para o seu próprio formato interno. Dimensões quadradas em potência de dois fazem upload e repetem de forma mais previsível. Se a sua grama parece uma cor sólida à distância, a textura está sendo amostrada em um nível de mip em que o detalhe se dissolveu — aumente StudsPerTile para que o tile fique fisicamente maior na tela, ou adicione uma segunda camada de cor de frequência mais baixa.
Godot
No Godot 4, um material de solo é tipicamente um StandardMaterial3D com a textura de grama no slot de albedo, a escala de UV1 definida para repetir, e o preset de importação da textura definido como Repeat. Para tufos espalhados, use um MultiMeshInstance3D com um recurso de malha e um material, e defina a contagem de instâncias do multimesh em vez de criar nós separados por tufo. Milhares de tufos com nós individuais travam a árvore de cena antes que a GPU perceba.
Para um recorte alfa duro, defina o modo de transparência do material como Alpha Scissor em vez de Alpha, e defina o limite do scissor em torno de 0,5. Alpha Scissor mantém os tufos na passagem opaca, o que significa que não há problemas de ordenação de profundidade entre quads sobrepostos. Essa é a única configuração que, com mais frequência, transforma um campo de grama de aparência quebrada em um limpo.
| Engine | Slot típico | Configuração que mais importa | Falha comum |
|---|---|---|---|
| Unity | Detalhe de terreno ou shader em quads cruzados | Mipmaps ativados, limite de alpha clip ~0,5 | Mistura alfa suave em quads sobrepostos causa halos |
| Roblox | Objeto Texture ou SurfaceGui em um part | StudsPerTileU / StudsPerTileV para escala | Repetir escalando o part quebra a colisão |
| Godot | Albedo do StandardMaterial3D, MultiMesh para tufos | Modo de transparência definido como Alpha Scissor | Nós por tufo travam a árvore de cena |
| Os três | Camada de solo tileable | Modo de wrap definido como Repeat | Bordas sem wrap mostram uma faixa repetida |
Gere um Personagem 3D Low Poly
O construtor de jogos 3D do Neta Studio recebe uma descrição escrita e retorna um personagem 3D low poly como uma malha real — facetas angulosas, sombreamento plano, um pequeno orçamento de triângulos — e não uma imagem renderizada de um personagem. Você escreve o que o personagem é, e o sistema constrói geometria que você pode colocar em uma cena, girar e olhar de qualquer ângulo. Essa distinção é o ponto central desta seção, e é o que você deve verificar antes de investir tempo em um prompt.
Descreva o personagem em termos de forma e função, e não de clima. Um prompt como um golem de pedra atarracado, com peito largo, pernas curtas e um braço desproporcional funciona melhor do que um guardião intimidador das profundezas. O construtor precisa de palavras relevantes para a geometria: proporções, partes do corpo, materiais, objetos empunhados. A cor ajuda, mas a forma decide se o resultado é utilizável em uma cena low poly.
01
Escreva uma frase nomeando o papel e a silhueta do personagem: um batedor alto e magro encapuzado, um brutamontes blindado e roliço, uma criatura do deserto de quatro patas.
02
Adicione os detalhes relevantes para a geometria que importam para você: número de membros, objetos empunhados, formato da cabeça, se tem capa ou asas.
03
Nomeie a paleta de materiais em termos simples: osso, ferro enferrujado, grama seca, tecido azul-escuro.
04
Gere e gire o resultado antes de aceitá-lo. Confira a silhueta de lado e de trás, não apenas na vista frontal.
05
Regenere alterando um único detalhe em vez de reescrever todo o prompt, para que você saiba qual frase produziu qual mudança.
06
Leve o personagem para um mundo e mova a câmera ao redor dele. Uma malha que funciona bem isolada pode perder a silhueta contra um fundo carregado.
07
Exporte ou referencie o resultado na engine que você está usando e confirme a escala em relação aos seus assets existentes antes de construir em torno dele.
Personagens Low Poly vs Geradores 2D
Há uma incompatibilidade específica que vale a pena nomear. Algumas ferramentas anunciam geração de personagens 3D, mas retornam um render plano — uma imagem de um personagem, sombreada para parecer tridimensional, salva como PNG. É uma imagem 2D de algo que parece 3D. Você não pode girá-la, não pode iluminá-la de forma diferente e não pode exportar uma malha a partir dela. Em uma cena low poly, a diferença aparece imediatamente, porque a geometria com sombreamento plano responde à iluminação da sua cena, e um render pré-calculado não.
O teste é simples e leva segundos. Peça à ferramenta o mesmo personagem em dois ângulos diferentes. Um gerador 3D de verdade retorna duas vistas consistentes de uma única malha, porque a malha existe. Um gerador plano retorna duas imagens sem relação que compartilham um estilo, mas não um corpo — os formatos dos ombros não vão coincidir, a fivela do cinto vai mudar de lugar, um objeto empunhado vai trocar de mão. A consistência entre as vistas é a evidência.
O segundo teste é o que você consegue extrair. Se a saída for uma imagem raster, não há contagem de triângulos, nem conjunto de UVs, nem malha para exportar. Se a saída for geometria, ela tem um orçamento de polígonos e pode ser exportada como GLB. Pergunte antes de construir um fluxo de trabalho em torno disso, porque descobrir a resposta depois de ter criado doze personagens sai caro.
- Consistência entre vistasGere o mesmo assunto de frente, de lado e de costas. A geometria real mantém uma silhueta e uma contagem de membros consistentes nas três vistas; um render plano varia de proporção entre as vistas.
- Saída rotacionávelOrbite o resultado no viewport. Se o sombreamento da superfície não muda conforme a direção da luz muda, você está vendo uma imagem pré-calculada, não uma malha.
- Geometria exportávelVerifique se há contagem de triângulos e exportação GLB antes de se comprometer. Sem malha, sem exportação — um PNG pode ser uma textura, mas não pode ser um personagem.
- Escala em uma cena realColoque o resultado ao lado de um asset conhecido. Renders achatados geralmente chegam em um tamanho arbitrário, sem origem definida, o que você só percebe na hora de montar a cena.
Veja-os em um Mundo Low Poly ao Vivo
Um asset low poly nunca é julgado isoladamente. Uma textura de grama que parece boa em um editor de imagens pode desaparecer completamente sob a iluminação da sua cena, e uma silhueta de personagem que funciona bem em um fundo neutro pode sumir contra uma encosta carregada. Os mundos abaixo rodam ao vivo no navegador, criados com o mesmo construtor descrito acima, para que você possa mover a câmera e olhar os assets no local, em vez de confiar em um render.
Dois dos nossos próprios mundos são pontos de referência úteis. Mini World é uma pequena cena low poly em que a repetição do solo e a densidade da vegetação são visíveis à distância normal de jogo — útil para julgar se um tile de grama 64x64 se sustenta ou vira uma cor plana. The Cyclops' Island é maior e mostra como personagens low poly funcionam contra terreno e objetos de cena à distância, que é o teste em que renders planos falham. Agent Sprite Forge demonstra o mesmo pipeline de assets aplicado a sprites de personagens 2D.
Ao verificar seus próprios assets, observe as distâncias de transição em vez das imagens de destaque. Afaste a câmera até que o detalhe da grama pare de se resolver e anote onde isso acontece. Se o solo muda visivelmente de caráter nessa distância, o mip ou o fade de detalhe precisa de ajuste, e nenhuma quantidade de resolução de textura corrige um problema de transição.

Entre no mundo ao qual ele pertence
Um sprite é um personagem sem um lugar para ficar de pé. O último passo é o que mais ninguém oferece: pegue a folha que você acabou de criar e coloque-a em um mundo pelo qual alguém possa caminhar — uma pequena ilha, um planeta, uma esquina chuvosa. Todos os mundos deste site foram feitos a partir de uma descrição escrita e publicados como uma página que você pode jogar.
FAQ
As texturas de grama low poly são gratuitas? +
Sim. Os tiles de grama descritos nesta página são gratuitos para usar no Unity, Roblox, Godot e outras engines. Não há exigência de atribuição nem necessidade de conta para baixá-los.
Como faço para que uma textura de grama seja tileable sem emenda? +
Crie com um pixel a mais que o tamanho desejado, pinte atravessando a borda para que o padrão continue e depois recorte para o tamanho alvo. Para um tile 64x64, trabalhe em 65x65 e recorte. A coluna 0 e a coluna 63 precisam ser adjacentes no padrão, e não idênticas, ou você terá uma faixa repetida.
Como configuro uma textura de grama no Unity e no Roblox? +
No Unity, defina Wrap Mode como Repeat e ative os mipmaps para o solo; para tufos em quad cruzado, use um limite de alpha clip próximo de 0,5 em vez de alpha blending. No Roblox, coloque a textura em um part ou SurfaceGui e controle a repetição com StudsPerTileU e StudsPerTileV em vez de escalar o part, já que escalar altera a colisão.
Como gero um personagem 3D low poly? +
Escreva uma descrição que nomeie a silhueta e os detalhes relevantes para a geometria — proporções, membros, objetos empunhados, materiais — e deixe o construtor de jogos 3D produzir a malha. Depois gire-a no viewport para conferi-la de vários ângulos antes de construir em torno dela.
Quantos polígonos deve ter um personagem low poly? +
Mire em um orçamento, não em um alvo: algumas centenas a alguns milhares de triângulos para um personagem que divide a tela com terreno e objetos de cena. O fator decisivo é se a silhueta se mantém à distância de jogo após a redução de triângulos. Se não se mantém, a geometria está errada, não o orçamento.
Posso exportar os personagens gerados como GLB? +
Sim. Os personagens gerados saem como geometria com um orçamento de polígonos, que é o que torna possível a exportação em GLB. Confirme a contagem de triângulos e a exportação antes de se comprometer com um fluxo de trabalho, já que geradores de imagem plana não conseguem produzir nenhum dos dois.
Qual tamanho de textura devo usar para grama low poly? +
64x64 ou 128x128 na maioria dos casos. Um tile pequeno comprime melhor, oculta artefatos de bloco à distância e consome menos memória. Só passe para 256x256 ou um atlas se precisar de vários estados distintos de grama em um único material, e verifique o resultado na engine de destino antes de decidir.
Volte para o Construtor de Jogos 3D
Todos os 31 mundos, jogos e cenas 3D finalizados estão em uma única página — todos eles jogáveis.