Concept de base
Un heightfield est un volume 2D (une grille ZX) où chaque point stocke une valeur de hauteur. Ce n'est pas de la géométrie classique - c'est un volume manipulé par des nœuds dédiés, converti en polygones seulement à la fin du pipeline. Cette référence complémentaire liste les nœuds individuels ; pour le workflow complet, la logique de biomes et la règle des 3×3 pour la végétation, voir Terrains heightfield, biomes et végétation.
Deux volumes coexistent en permanence : le layer de hauteur (altitudes) et le layer de masque (zones d'influence, valeurs 0-1). Chaque nœud de terrain lit et écrit ces deux couches.
Pipeline de base
Le paramètre Grid Spacing du nœud HeightField définit la taille d'un voxel en mètres (résolution). Plus il est petit, plus le terrain est détaillé - et plus la simulation est lente. Travailler avec un Grid Spacing élevé pendant les tests, et ne l'abaisser que pour le rendu final.
Chaîne typique : HeightField → HeightField Noise → [sculpture / érosion] → HeightField Convert. L'étape Convert est obligatoire avant le rendu - elle transforme le volume en polygones ; Karma et Mantra ne rendent pas directement les volumes heightfield.
Nœuds de génération
| Nœud | Rôle |
| HeightField | Point de départ. Génère le volume 2D plat. Paramètres clés : Size (échelle monde en mètres) et Grid Spacing (résolution/voxel). |
| HeightField Noise | Le premier nœud câblé dans 95% des cas. Ajoute du bruit vertical pour créer le relief de base. Contrôles : Amplitude, Element Size, type de bruit (Perlin, Worley, Simplex...). |
| HeightField File | Importe une heightmap externe - une image 2D, un EXR, ou un fichier RAW. Utilisé pour intégrer des données depuis Gaea, World Machine, ou de vraies données DEM (USGS, Copernicus). |
| HeightField Project | Projette une géométrie 3D sur le heightfield. Utile pour intégrer un rocher, un bâtiment, ou une empreinte précise dans le terrain. Attention : les zones verticales sont étirées le long de l'axe Y. |
| HeightField Paint | Sculpture manuelle au pinceau directement sur le terrain ou ses masques. |
| HeightField Pattern | Ajoute des motifs géométriques procéduraux : rampes, marches, bandes, cellules de Voronoï. |
Nœuds de sculpture et modification
| Nœud | Rôle |
| HeightField Blur | Adoucit le terrain ou un masque. Utilisé pour lisser les transitions ou réduire les artefacts de bruit. |
| HeightField Clip | Limite les valeurs min/max - crée des plateaux (clip supérieur) ou des planchers (clip inférieur). |
| HeightField Remap | Redistribue les valeurs de hauteur via une courbe. Très puissant pour aplatir des zones, exagérer les pics, ou redistribuer l'amplitude générale. Souvent sous-estimé - c'est fréquemment ce qui fait la différence entre un terrain plat et un terrain avec du caractère. |
| HeightField Resample | Change la résolution du volume. Upres avant l'export, downres pour des tests rapides. |
| HeightField Terrace | Crée des terrasses/marches à partir de pentes - terrain façon andine ou falaises en escalier. |
| HeightField Slump | Simule la gravité agissant sur des matériaux meubles : éboulements, talus naturels, accumulation au pied des pentes. |
Nœuds de layers et compositing
| Nœud | Rôle |
| HeightField Layer | Compose deux heightfields ensemble (modes : add, subtract, max, min, blend...). |
| HeightField Copy Layer | Duplique une couche (hauteur ou masque) pour la réutiliser ailleurs dans le réseau. |
| HeightField Layer Clear | Réinitialise une couche à zéro (une valeur fixe sur tout le volume). |
| HeightField Patch | Colle des caractéristiques d'un heightfield sur un autre - utile pour assembler des éléments générés séparément. |
| HeightField Isolate Layer | Copie une couche sur le masque et aplatit éventuellement la hauteur. |
Nœuds de masque
Les masques sont le système central derrière les biomes. Ils déterminent où les effets s'appliquent et où la végétation est placée. Un masque est toujours une valeur entre 0 (aucun effet) et 1 (effet complet).
| Nœud | Rôle |
| HeightField Mask by Feature | Génère un masque à partir des caractéristiques propres du terrain : pente, altitude, courbure, exposition. Le fondement du système de biomes et du placement de végétation. |
| HeightField Mask by Object | Un masque défini par une géométrie externe - utile pour placer de la végétation à l'intérieur d'une zone dessinée manuellement. |
| HeightField Mask by Occlusion | Masque les zones creuses et ombragées - lits de rivière, vallées, zones humides. |
Nœuds de sortie et utilitaires
| Nœud | Rôle |
| HeightField Convert | Obligatoire avant le rendu. Convertit le volume en polygones, VDB, ou polygon soup. |
| HeightField Scatter | Disperse des points sur la surface du terrain. Le fondement du placement procédural de végétation. |
| HeightField Output | Exporte le heightfield comme fichier image (pour Substance, Gaea, etc.). |
| HeightField Flow Field | Génère des couches de direction d'écoulement - utile pour placer la végétation selon le flux de l'eau. |
| HeightField Quick Shade | Un aperçu de matériau rapide avec textures par couche. Pour visualiser les biomes en cours de travail. |
| HeightField Visualize | Visualisation via une rampe d'altitude plus une teinte colorée pour les masques. |
| HeightField Tile Split / Splice | Découpe et réassemble le terrain en tuiles - pour le rendu distribué ou les très grands terrains. |
Astuces
- Raccourci du menu Tab - taper
hf plutôt que heightfield pour filtrer directement tous les nœuds Heightfield.
- Grid Spacing élevé pour les tests, faible pour le final - ne pas travailler en haute résolution pendant la phase de conception.
- Empiler plusieurs nœuds HeightField Noise - un pour la forme générale (grand Element Size, forte Amplitude), un pour le détail (petit Element Size, faible Amplitude).
- HeightField Remap est sous-estimé - c'est souvent ce qui fait la différence entre un terrain plat et un terrain avec du caractère.
- Toujours terminer par HeightField Convert - Karma et Mantra ne rendent pas directement les volumes heightfield.