Aller au contenu
Moriqa
Soutenir MoriqaSe connecter

Générateur de normal map pour sprites 2D

Donnez du relief aux sprites plats sous des lumières 2D. Déposez un sprite, promenez la lumière dessus dans l’aperçu, et téléchargez une normal map que Godot et Unity lisent telle quelle. Rien ne quitte votre appareil.

Créé sur votre appareil. Vos images ne sont jamais envoyées.

  • Jamais envoyés
  • Aperçu de la lumière en direct
  • Plusieurs images à la fois

Comment ça marche

Comment créer une normal map à partir d’un sprite

  1. Étape 1 : Ajoutez votre sprite

    Choisissez, déposez ou collez un sprite, une tuile ou une texture. Un dossier entier fonctionne aussi.

  2. Étape 2 : Façonnez le relief

    Choisissez d’où vient la profondeur et son intensité, puis passez le pointeur sur l’aperçu pour voir la lumière tomber dessus.

  3. Étape 3 : Téléchargez le PNG

    La map est enregistrée sous nom_n.png, le nom que les moteurs associent au sprite, à la taille même du sprite.

Générateur de normal map

Des sprites 2D qui réagissent à la lumière

  • Éclairé pendant que vous travaillez

    L’aperçu éclaire le sprite avec sa propre normal map : vous jugez le résultat, pas une image violette.

  • Profondeur d’après la forme ou la luminosité

    Arrondissez un sprite en aplats à partir de son contour, lisez le relief d’une texture dans ses clairs et ses sombres, ou mêlez les deux.

  • Adapté à votre moteur

    Vert vers le haut pour Godot et Unity, ou inversé pour Unreal, avec la transparence du sprite conservée.

  • Jamais envoyés

    Tout se passe dans votre navigateur : vos images restent sur votre appareil.

En détail

Les normal maps pour les jeux 2D

Ce que fait une normal map

Un sprite est plat : une lumière dans un jeu 2D l’éclaire donc uniformément, comme un autocollant. Une normal map est une seconde image de même taille dont les couleurs indiquent vers où chaque pixel est tourné. Grâce à elle, le moteur éclaire le côté du sprite qui fait face à la lampe et ombre l’autre.

Aucun dessin ne contient cette information : il faut l’estimer. Cet outil estime une hauteur pour chaque pixel et transforme les pentes de cette hauteur en normal map.

Choisir d’où vient la profondeur

  • Forme arrondit le sprite de son contour vers le milieu. Convient aux personnages et aux objets dessinés en aplats, où la luminosité en dit peu sur la profondeur.
  • Luminosité traite les pixels clairs comme hauts et les pixels sombres comme bas. Convient aux textures : pierre, brique, écorce, tuiles de sol.
  • Les deux mêle les deux approches ; c’est le meilleur départ pour la plupart des sprites.
  • Intensité et lissage : augmentez l’intensité pour creuser les ombres, et le lissage pour une lumière plus douce et plus ronde. Arrondi fixe jusqu’où, depuis le contour, la surface continue de monter.

Utiliser la normal map dans votre moteur

Dans Godot, créez une CanvasTexture, placez le sprite dans Diffuse et la normal map dans Normal Map, puis ajoutez un PointLight2D ou un DirectionalLight2D à la scène. Dans Unity, ajoutez la normal map comme texture secondaire nommée _NormalMap dans le Sprite Editor et éclairez la scène avec les lumières 2D de l’Universal Render Pipeline.

Les deux lisent le vert vers le haut, et c’est ainsi que la normal map est enregistrée. Activez Inverser le canal vert pour les moteurs qui le lisent vers le bas, comme Unreal.

Générateur de normal map

Questions fréquentes

Mes images sont-elles envoyées quelque part ?

Non. Tout se passe dans votre navigateur, sur votre propre appareil. Vos images ne sont jamais envoyées à Moriqa ni à qui que ce soit, et rien n’est conservé une fois la page fermée.

Comment créer une normal map à partir d’un sprite ?

Ajoutez le sprite, choisissez d’où vient la profondeur, vérifiez l’aperçu éclairé, puis téléchargez le PNG. Il a la même taille que le sprite.

Pourquoi une normal map est-elle violette et bleue ?

Ses couleurs sont des directions, pas des couleurs : le rouge va de gauche à droite, le vert de bas en haut, et le bleu pointe vers le spectateur. Une surface plate donne le mauve clair habituel.

Cela fonctionne-t-il pour le pixel art ?

Oui. La normal map garde la taille exacte du sprite et ses bords francs. Gardez un lissage faible pour un rendu net et marqué, ou augmentez-le pour une lumière plus douce.

Une normal map générée vaut-elle une normal map peinte à la main ?

Non. C’est un bon point de départ, souvent suffisant pour des accessoires et des tuiles. Pour un personnage principal, les artistes corrigent en général la normal map à la main.

Dois-je inverser le canal vert ?

Pas pour Godot ni Unity. Ne l’inversez que si la lumière semble venir d’en bas alors qu’elle est en haut : votre moteur lit alors le vert dans l’autre sens.

Il vous faut d’abord le sprite ?

Ouvrez l’éditeur de pixel art de Moriqa pour dessiner et animer des sprites, gratuitement dans votre navigateur.