Pular para o conteúdo

Gerador de normal map para sprites 2D

Dê profundidade a sprites chapados sob luzes 2D. Solte um sprite, mova a luz sobre ele na prévia e baixe um normal map que Godot e Unity leem do jeito que está. Nada sai do seu dispositivo.

Criado no seu dispositivo. Suas imagens nunca são enviadas.

  • Nunca são enviados
  • Prévia de luz ao vivo
  • Várias imagens de uma vez

Como funciona

Como gerar um normal map a partir de um sprite

  1. Passo 1: Adicione seu sprite

    Escolha, solte ou cole um sprite, um tile ou uma textura. Uma pasta inteira também serve.

  2. Passo 2: Modele o relevo

    Escolha de onde vem a profundidade e a intensidade dela, e passe o ponteiro sobre a prévia para ver a luz incidir.

  3. Passo 3: Baixe o PNG

    O mapa é salvo como nome_n.png, o nome que os motores associam ao sprite, no mesmo tamanho do sprite.

Gerador de normal map

Sprites 2D que reagem à luz

  • Iluminado enquanto você trabalha

    A prévia ilumina o sprite com o próprio normal map, então você avalia o resultado, e não uma imagem roxa.

  • Profundidade pela forma ou pelo brilho

    Arredonde um sprite de cores chapadas a partir do contorno, leia o relevo de uma textura pelos claros e escuros ou misture os dois.

  • Certo para o seu motor

    Verde para cima para Godot e Unity, ou invertido para Unreal, com a transparência do sprite mantida.

  • Nunca são enviados

    Tudo acontece no seu navegador, então suas imagens ficam no seu dispositivo.

Em detalhes

Normal maps para jogos 2D

O que um normal map faz

Um sprite é plano, então uma luz em um jogo 2D o ilumina por igual, como um adesivo. Um normal map é uma segunda imagem do mesmo tamanho cujas cores dizem para onde cada pixel está virado. Com ele, o motor ilumina o lado do sprite voltado para a lâmpada e sombreia o outro.

Nenhum desenho traz essa informação, então ela precisa ser estimada. Esta ferramenta estima uma altura para cada pixel e transforma as inclinações dessa altura no mapa.

Escolhendo de onde vem a profundidade

  • Forma arredonda o sprite do contorno para o meio. Serve para personagens e objetos desenhados em cores chapadas, em que o brilho diz pouco sobre a profundidade.
  • Brilho trata pixels claros como altos e pixels escuros como baixos. Serve para texturas: pedra, tijolo, casca de árvore, tiles de chão.
  • Ambos mistura os dois, e é o melhor começo para a maioria dos sprites.
  • Intensidade e suavização: aumente a intensidade para sombras mais profundas e a suavização para uma luz mais suave e arredondada. Arredondamento define até onde, do contorno para dentro, a superfície continua subindo.

Usando o mapa no seu motor

No Godot, crie um CanvasTexture, coloque o sprite em Diffuse e o mapa em Normal Map, e adicione um PointLight2D ou um DirectionalLight2D à cena. No Unity, adicione o mapa como textura secundária chamada _NormalMap no Sprite Editor e ilumine a cena com as luzes 2D do Universal Render Pipeline.

Os dois leem o verde como para cima, e é assim que o mapa é salvo. Ative Inverter o canal verde para motores que o leem como para baixo, como o Unreal.

Gerador de normal map

Perguntas frequentes

Minhas imagens são enviadas para algum lugar?

Não. Tudo roda no seu navegador, no seu próprio dispositivo. Suas imagens nunca são enviadas ao Moriqa nem a ninguém, e nada é mantido depois que você fecha a página.

Como gero um normal map a partir de um sprite?

Adicione o sprite, escolha de onde vem a profundidade, confira a prévia iluminada e baixe o PNG. Ele tem o mesmo tamanho do sprite.

Por que um normal map é roxo e azul?

As cores dele são direções, não cores: o vermelho vai da esquerda para a direita, o verde de cima para baixo, e o azul aponta para quem olha. Uma superfície plana sai no típico roxo-claro.

Funciona com pixel art?

Sim. O mapa mantém o tamanho exato do sprite e as bordas duras. Deixe a suavização baixa para um visual nítido e marcado, ou aumente para uma luz mais suave.

Um mapa gerado é tão bom quanto um pintado à mão?

Não. É um bom ponto de partida, e muitas vezes basta para objetos e tiles. Para um personagem principal, os artistas costumam corrigir o mapa à mão.

Devo inverter o canal verde?

Para Godot ou Unity, não. Inverta só se a luz parecer vir de baixo quando está em cima, o que significa que o seu motor lê o verde ao contrário.

Precisa do sprite primeiro?

Abra o editor de pixel art do Moriqa para desenhar e animar sprites, grátis no seu navegador.