Référence des nœuds Heightfield de Houdini

Un aide-mémoire compact pour la boîte à outils Heightfield

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œudRôle
HeightFieldPoint 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 NoiseLe 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 FileImporte 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 ProjectProjette 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 PaintSculpture manuelle au pinceau directement sur le terrain ou ses masques.
HeightField PatternAjoute des motifs géométriques procéduraux : rampes, marches, bandes, cellules de Voronoï.

Nœuds de sculpture et modification

NœudRôle
HeightField BlurAdoucit le terrain ou un masque. Utilisé pour lisser les transitions ou réduire les artefacts de bruit.
HeightField ClipLimite les valeurs min/max - crée des plateaux (clip supérieur) ou des planchers (clip inférieur).
HeightField RemapRedistribue 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 ResampleChange la résolution du volume. Upres avant l'export, downres pour des tests rapides.
HeightField TerraceCrée des terrasses/marches à partir de pentes - terrain façon andine ou falaises en escalier.
HeightField SlumpSimule la gravité agissant sur des matériaux meubles : éboulements, talus naturels, accumulation au pied des pentes.

Nœuds de layers et compositing

NœudRôle
HeightField LayerCompose deux heightfields ensemble (modes : add, subtract, max, min, blend...).
HeightField Copy LayerDuplique une couche (hauteur ou masque) pour la réutiliser ailleurs dans le réseau.
HeightField Layer ClearRéinitialise une couche à zéro (une valeur fixe sur tout le volume).
HeightField PatchColle des caractéristiques d'un heightfield sur un autre - utile pour assembler des éléments générés séparément.
HeightField Isolate LayerCopie 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œudRôle
HeightField Mask by FeatureGé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 ObjectUn 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 OcclusionMasque les zones creuses et ombragées - lits de rivière, vallées, zones humides.

Nœuds de sortie et utilitaires

NœudRôle
HeightField ConvertObligatoire avant le rendu. Convertit le volume en polygones, VDB, ou polygon soup.
HeightField ScatterDisperse des points sur la surface du terrain. Le fondement du placement procédural de végétation.
HeightField OutputExporte le heightfield comme fichier image (pour Substance, Gaea, etc.).
HeightField Flow FieldGénère des couches de direction d'écoulement - utile pour placer la végétation selon le flux de l'eau.
HeightField Quick ShadeUn aperçu de matériau rapide avec textures par couche. Pour visualiser les biomes en cours de travail.
HeightField VisualizeVisualisation via une rampe d'altitude plus une teinte colorée pour les masques.
HeightField Tile Split / SpliceDé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.