Retour aux Outils

Normal Map Generator

Convertissez des heightmaps en normal maps tangent-space

100% GratuitFonctionne dans votre navigateurSans inscription

A propos de cet outil

Convertissez n'importe quelle heightmap ou image en niveaux de gris en normal map tangent-space directement dans votre navigateur. Utilise un opérateur de gradient Sobel sur la luminance, avec force, lissage et conventions OpenGL/DirectX ajustables. Idéal pour les moteurs de jeu, le travail shader, et s'associe naturellement avec le module aukimi Matter pour le design de matériaux procéduraux. Fait partie d'aukimi Matter.

Fonctionnalites

  • Détection de gradient Sobel sur la luminance
  • Conventions OpenGL (Y+) et DirectX (Y-)
  • Force et lissage ajustables
  • Inversion indépendante des canaux X / Y
  • Aperçu côte-à-côte heightmap et normal
  • Vos images ne quittent jamais votre navigateur

Cas d'utilisation

Matériaux et shaders de moteurs de jeuConversion rapide bump vers normalPrévisualisation avant envoi dans aukimi Matter

Partager cet outil

Aidez d'autres à le découvrir

Créez un compte gratuit pour supprimer les filigranes

Sauvegardez vos créations, accédez à la suite créative complète et exportez sans filigrane.

Sign Up Free

Besoin de plus de puissance ?

Essayez aukimi Matter

Éditeur de textures procédurales par nodes pour créer des matériaux PBR avec aperçu 3D temps réel.

Comment convertir une heightmap en normal map

Transforme une heightmap en niveaux de gris en normal map tangent-space via un gradient Sobel, directement dans ton navigateur.

  1. 1

    Dépose ta heightmap sur l'outil

    Glisse un PNG/JPG n'importe où sur l'espace de travail. L'image est auto-redimensionnée à 1024 px max pour le preview temps réel.

  2. 2

    Ajuste Strength

    Une force plus élevée accentue la pente — bien pour des inputs subtils, trop fort pour des images déjà contrastées.

  3. 3

    Ajoute du Smoothing si nécessaire

    Un box blur 1–3 px enlève le bruit 1-pixel qui créerait sinon des tavelures dans la normal map.

  4. 4

    Choisis OpenGL ou DirectX

    Unity/Godot/Blender → OpenGL. Unreal → DirectX.

  5. 5

    Télécharge le PNG

    Le résultat est une normal map tangent-space standard, acceptée par tout slot de matériau PBR.

Questions fréquentes

Quelle est la différence entre heightmap et normal map ?

Une heightmap stocke l'altitude à chaque pixel (niveaux de gris). Une normal map stocke une direction de surface 3D (X, Y, Z) encodée en RGB. Le GPU peut calculer l'éclairage bien plus vite depuis une normal map que depuis une heightmap.

C'est la convention OpenGL ou DirectX ?

Les deux. Le sélecteur Convention inverse l'axe Y : OpenGL (Y+) par défaut, utilisé par Unity, Godot, Blender. DirectX (Y-) est utilisé par Unreal Engine. Si ton éclairage paraît inversé dans Unreal, passe en DirectX.

La couleur de la source compte-t-elle, ou seulement la luminance ?

Seulement la luminance. Nous calculons la luminance Rec. 601 (0.299·R + 0.587·G + 0.114·B) puis appliquons un gradient Sobel. Une image couleur fonctionne, mais une heightmap en niveaux de gris donne le meilleur résultat.

Comment fonctionne l'opérateur Sobel ici ?

Sobel convolue deux kernels 3×3 sur la luminance pour estimer le gradient dx/dy par pixel. Ce gradient est traité comme la pente de surface, puis le vecteur normal (−dx·s, −dy·s, 1) est construit, normalisé et encodé en RGB via (n·0.5 + 0.5)·255.

Puis-je utiliser ce résultat dans Blender / Unity / Unreal ?

Oui. Colle le PNG dans le slot Normal de ton matériau. Unity et Blender : OpenGL. Unreal : DirectX (ou activer "Flip Green Channel" à l'import).

À quoi sert le slider Smoothing ?

Les heightmaps réelles contiennent souvent du bruit 1-pixel qu'un Sobel amplifie. Un box blur léger (1–3 px) enlève ce bruit sans perdre le détail de grande échelle. Zéro convient pour des inputs procéduraux propres.