Major cities population mapped onto Earth - Partie 2

  • On va créer la Terre maintenant.
  • Ajouter une UV Sphere (une vraie), scale de manière à ce qu’elle soit juste un peu plus petite que les points en terme de diamètre.
  • Ajouter un subdivision surface modifier (2 pour le viewport, 3 pour le render).

  • Cachons les points (sélectionnez l’objet dont vous vous êtes servi pour créer le geo nodes et appuyer sur H.
  • Avec la sphère sélectionnée, allons dans le Shader Editor, Object Shader, et faire New Material que vous nommerez Earth.
  • Créez un Image Texture Node, allez chercher l’image “8k_earth_specular_map.tif” et connectez-la au socket Base Color du Principled BSDF.

  • On va créer un outline en se basant sur le fait qu’il y a gradiant entre le blanc (l’eau) et le noir (les continents).
  • Avec un Math node, on va aller chercher les valeurs entre 0.1 et 0.3 (donc le gris à la frontière), on les multiplie ensemble, ça va donner la valeur 0.03 et c’est cette valeur qu’on va utiliser de la texture.
  • Ça fait un super contour:

  • On va ajuster la puissance des lignes de contour:

  • Vous avez deviner, c’est en contrôlant la “Strength” de l’Emission Color qu’on peut arriver à le faire.

  • Je vais choisir un ton bleuté

  • Aussi, right-click sur la sphère et faire “Shade Smooth”

  • Aussi, je vais rendre notre sphère métalique et augmenter la roughness

  • Qu’est-ce qu’elle a la Terre de particulier que la Lune n’a pas? Une atmosphère bien sûr. On va en ajouter une.
  • Pour ce faire, un Layer Weight, qui offre un type de lentille fresnel va nous aider.

☝🏼

Les noeuds Fresnel et Layer Weight:
Le Fresnel Node et le Layer Weight Node sont essentiels pour créer des matériaux réalistes dans Blender, surtout lorsqu’on veut simuler les reflets, la translucidité ou le comportement optique des surfaces selon l’angle de vue.


1. Principe général : l’effet Fresnel

Le Fresnel (d’après Augustin Fresnel) décrit le phénomène selon lequel une surface réfléchit plus fortement à ras du regard (grazing angle) qu’en face directe.

➡️ En d’autres termes :

  • Quand tu regardes une surface de face, elle réfléchit peu.
  • Quand tu la regardes de biais, elle réfléchit davantage.

Ce principe est crucial pour tous les matériaux physiques (verre, eau, métal, plastique, etc.).


2. Le Fresnel Node

🔹 Localisation :

Shader Editor → Add → Input → Fresnel

🔹 Fonction :

Ce nœud calcule le facteur Fresnel pur à partir de l’indice de réfraction (IOR) du matériau.

La sortie du nœud donne une valeur entre 0 et 1 représentant la proportion de lumière réfléchie selon l’angle de vue.

🔹 Entrée principale :

  • IOR (Index of Refraction) : contrôle la courbe du dégradé.
    • Verre ≈ 1.45
    • Eau ≈ 1.33
    • Plastique ≈ 1.45
    • Métal (non applicable directement, car les métaux ont une réflexion complexe)

🔹 Sortie :

  • Fac (Factor) : intensité du Fresnel à chaque pixel.
    → 0 = vue de face, 1 = vue de biais.

🔹 Utilisation typique :

Mélanger deux shaders :

  • Un Diffuse BSDF (vue de face)
  • Un Glossy BSDF (vue de biais)

Exemple :

Fresnel (IOR=1.45)

└──> Mix Shader (Fac=Fresnel)
     ├── Diffuse BSDF
     └── Glossy BSDF

→ Résultat : un matériau réaliste dont les reflets augmentent selon l’angle de vue.


Le Layer Weight Node

🔹 Localisation :

Shader Editor → Add → Input → Layer Weight

🔹 Fonction :

Ce nœud est plus artistique et flexible.

Il ne se limite pas à la physique optique (comme Fresnel) mais te donne deux types de courbes liées à l’angle de vue :

  • Fresnel
  • Facing

🌀 Sortie :

Fresnel

Similaire au Fresnel Node, mais moins physiquement exact — c’est une approximation pratique.

  • Blend (entrée) : contrôle la douceur de la transition.
    • 0 → transition brutale
    • 1 → transition très douce
  • Fresnel (sortie) : valeur entre 0 et 1, plus élevée sur les bords (angles rasants).

déal pour créer des effets stylisés ou ajuster le contraste visuel sans se soucier des valeurs physiques exactes d’IOR.


Sortie :

Facing

C’est le complément du Fresnel :

  • 1 quand la surface fait face à la caméra.
  • 0 quand elle est vue de biais.

En gros :

“Facing” =
vue de face

“Fresnel” =
vue de biais


Utilisation typique :

  • Mélanger des shaders selon l’angle :
    → “Facing” pour un matériau mat au centre, brillant sur les bords.
  • Contrôler un dégradé sur la surface.
  • Animer des effets comme des lueurs sur les bords (rim light).

Exemple :

Layer Weight (Blend=0.3)

├── Fresnel → Mix Shader (brillance sur les bords)
└── Facing  → Factor pour un ramp color (effet halo)

4. Différences résumées

CaractéristiqueFresnel NodeLayer Weight Node
But principalPhysiquement exact (IOR)Contrôle artistique flexible
Entrée principaleIORBlend
Sortie principaleFresnel (angle de réflexion)Fresnel et Facing
Valeur de sortie0–1 selon l’angle0–1 selon angle ou face
Idéal pourRéalisme (verre, eau, plastique)Stylisation (halo, rim light, toon shading)

5. Exemples d’usage

Matériau réaliste

Fresnel (IOR=1.45)
 → Mix Shader
    ├── Diffuse BSDF
    └── Glossy BSDF

→ Reflète plus sur les bords, parfait pour plastique ou verre.


Effet artistique type “rim light”

Layer Weight (Blend=0.3)
 → Facing → ColorRamp → Emission Strength

→ Bord du modèle illuminé, centre plus sombre : effet de halo stylisé (très utilisé pour les effets toon ou outlines).


Astuce bonus :

Tu peux inverser la sortie “Facing” avec un ColorRamp inversé pour avoir le comportement opposé (par ex. éclairer le centre au lieu des bords).


  • Ce serait chouette de voir les longitudes et les latitudes. Il y a un moyen simple avec les geo nodes.
  • Ajouter un petit workspace et choisir Geometry nodes.
  • Avec la sphère sélectionné, faites New Geo Nodes.
  • Ajoutez un noeud de type Mesh to Curve et choisir Edges plutôt que Faces.

  • Mais on ne voit plus la terre. On va faire un join geometry. Rappelez-vous pouvez faire ctrl-shift et right-lmb et drag Le Group Input et le Mesh to Curve ça va les “additionner” de manière intelligente (ici, c’est bien sûr un join geometry).
  • Aussi, je trouve qu’il y’en a trop, je vais modifier le subdivision surface à 1 pour Viewport et Render:

  • Ceci dit, je ne veux pas si la grille sur les continents, seulement les océans.
  • Comment faire?
  • On peut utiliser la même texture de la map terrestre et s’en servir comme masque de sélection sur un noeud Delete Geometry!

  • Pas tout à fait ça encore, et c’est parce que la texture n’est pas mappé selon les UV. Pour ça, on va aller chercher les UV et utiliser un Maprange pour inverser le masque afin que la grille soit sur l’océan seulement:

☝🏼

On aurait pu uitiliser un Mathy Boolean de type “Not” plutôt qu’un Map Range, c’est même plus logique

  • Maintenant faut travailler les frontières. Vous remarquez, en mode Render, les edges sont effacés au complet ou rien. On veut donc plus de points par edge. Un resample curve va aider.

  • Bon, maintenant, ça traverse un peu sur les continents, y’a beaucoup de lignes semi effacées, et ça c’est dû au fait que Blender a de la difficulté à calculer sur des curves. Delete geometry, ça marche bien sur de la geometry, par sur des curves. On va convertir en mesh et ça va marcher.

  • Aaaah, beaucoup plus mieux!

☝🏼

Attention, dans Blender 5.x, l’ordre du join geometry est important ! Si vous ne voyez plus les continents, assurez-vous que l’entrée socket Geometry du Group Input est avant (plus haut) celle du Delete Geometry.

  • Ajustez la valeur de count dans Resample Curve pour améliorer encore plus la précision.

  • Un peu d’épaisseur pour longitudes et latitudes? Très facile vu que Curve to Mesh a un socket Profile Curve!

  • Un cercle comme profile curve, ça vous dit?

  • Un material sur les lignes serait sympa.
  • Dans la partie Shader (à gauche), cliquez sur la flèche de Slot et cliquer sur + pour créer un nouveau slot.
  • Ensuite cliquer sur New Material et nommez-le “Grid”.

  • Effacer le Principled BSDF et créer un noeud Emission.
    • Couleur dun ton bleuté
    • Strength = 6.
  • Du côté du geo nodes, insérer un Set Material entre Delete Geometry et Join Geometry (On veut cette texture seulement sur les lignes qui surplomblent les océeans).
  • Choisir Grid comme Material du noeud Set Material.

  • Dans le World Properties, mettre le strength de l’environment map à 0.

☝🏼

Si votre ordi en arrache avec le “Updating lights”, allez dans Render properties, sous Light et désactivez Light Tree.