Creator Academy Logo
  • A propos
  • Apprendre
    • DaVinci Resolve
      • Formation Davinci Resolve - Introduction
      • Formation Edit
      • Formation Fusion
      • Formation Color
      • Formation Fairlight
      • Plugins
      • Nodes Fusion
      • Nodes Color
    • Coaching
  • Outils
    • PR2XML - Convertisseur de projets Premiere Pro en XML
    • Calculateur de temps de montage
    • Calculateur de devis
    • Harmoni X Cut
    • Thumbnail Helper
    • Générateur de QR Code 100% sûre
    • Plugins Communautaires Gratuits Davinci Resolve
  • Blog
  • Nous contacter
  • Se connecter
  1. Accueil/
  2. Nodes Fusion/
  3. Les nodes 3D/
  4. Custom Vertex 3D Node

Custom Vertex 3D Node

Par Kriss Norde·Publié le 25 avril 2026

Le node le plus avancé de la catégorie 3D : manipulez chaque vertex d'un mesh via des expressions mathématiques (position, normales, UVs, couleurs, vélocité). Idéal pour créer des vagues, des drapeaux, des spirales ou tout effet procédural.

Sommaire

  • Aperçu
  • Où trouver ce node
  • Inputs
  • Configuration
  • Onglet Vertex
  • Numbers & Points
  • Onglet LUT
  • Setup & Intermediate
  • Onglet Config
  • Exemples pratiques
  • Astuces

Aperçu

Le Custom Vertex 3Dapplique une expression mathématique à chaque vertex d'un mesh en entrée. À la différence du Bender 3D (qui applique une déformation pré-définie) ou du Displace 3D(qui utilise une image), ici c'est l'utilisateur qui écrit la formule - typiquement un sin(), un cos(), une combinaison de coordonnées ou un accès à une lookup table.

Le node est conçu pour les utilisateurs à l'aise avec les expressions de type fuse / script. Il reprend des concepts de nodes « shader de déformation » qu'on trouve dans Nuke ou Houdini.

Prérequis : le mesh d'entrée doit être suffisamment subdivisé. Un Shape 3Dplan avec 2 subdivisions ne donnera qu'une vague grossière ; montez à 30–50 pour un rendu fluide.

Où trouver ce node

  • Effects Library : Tools > 3D > Custom Vertex 3D
  • Ajout rapide : clic droit dans le Node Editor → Add Tool > 3D > Custom Vertex 3D

Inputs

  • SceneInput (orange)- requis. Accepte n'importe quelle géométrie ou scène 3D dont les vertices seront manipulés.
  • ImageInput1 (vert) - image 2D optionnelle, accessible dans les expressions pour échantillonner des valeurs RGB par coordonnée UV.
  • ImageInput2 (magenta) - seconde image optionnelle, utile par exemple pour combiner une heightmap et un masque.
  • ImageInput3 (teal) - troisième image pour des workflows à plusieurs canaux.

Configuration

Insérez Custom Vertex 3D entre votre mesh et le Merge 3D. Les expressions doivent renvoyer un nombre (float) - elles peuvent utiliser les coordonnées du vertex courant (px, py, pz), les normales (nx, ny, nz), le temps (time), et les variables animées n1–n8.

Onglet Vertex

C'est l'onglet central : un champ d'expression par attribut de vertex. Tous les calculs se font en world space.

Position (px, py, pz)
Coordonnées du vertex. Exemple : py + sin(px * 2 + time) * 0.1applique une vague sur l'axe Y selon l'abscisse X.
Normals (nx, ny, nz)
Direction de la normale. Modifiez-les si vous décalez la géométrie pour que l'éclairage reste cohérent.
Vertex Color (vcr, vcg, vcb, vca)
Couleur par vertex. Utile pour colorer procéduralement un mesh selon sa hauteur ou sa distance à un point.
Texture Coordinates (tu, tv, tw)
UVs actuels du vertex. Les réécrire permet de déformer une texture appliquée en aval.
Environment Coordinates (eu, ev, ew)
Coordonnées utilisées pour le mapping d'environnement (reflection / refraction).
UV Tangents & Velocity
Tangentes pour le normal mapping et vecteur vélocité pour le motion blur. À modifier seulement si vous avez besoin d'une correction précise.

Numbers & Points Tabs

Huit sliders numériques n1–n8 et huit points 3D p1–p8 animables, accessibles depuis toutes les expressions.

  • n1, n2, … valeur courante à la frame.
  • n1_at(t), n2_at(t), … valeur à une frame t arbitraire (utile pour des effets de traînée).
  • p1x, p1y, p1z, … composantes du point p1. Idem avec _at(t).

Renommez ces contrôles dans l'onglet Config pour que l'inspector soit lisible - n1 devient par exemple Wave Amplitude.

Onglet LUT

Quatre splines éditables lut1–lut4. Accessibles via getlut1(x), getlut2(x), … où x est compris entre 0 et 1.

Exemple : pour colorer un vertex selon sa hauteur normalisée, vcr = getlut1((py + 1) / 2) échantillonne la LUT1 selon la position Y du vertex mappée de -1..1 vers 0..1. C'est l'équivalent d'une color curve appliquée par vertex.

Setup & Intermediate Tabs

Ces deux onglets permettent d'éviter de recalculer les mêmes valeurs dans toutes les expressions du Vertex tab.

Setup (s1–s8, 1× par frame)
Expressions évaluées une seule fois par frame, avant toute opération par vertex. Parfait pour calculer une matrice, un centre de gravité, un temps local. Résultats stockés dans s1–s8.
Intermediate (i1–i8, 1× par vertex)
Expressions évaluées une fois par vertex, après Setup mais avant les expressions du Vertex tab. Utile pour pré-calculer un facteur commun à plusieurs composantes (par exemple une distance au centre réutilisée dans px/py/pz).

Onglet Config

Random Seed
Graine utilisée par rand() et rands(). Cliquez Reseed pour tirer une nouvelle graine aléatoirement.
Number / Point Controls
Cases à cocher pour afficher/masquer chacun des huit sliders n1–n8 et des huit points p1–p8. Champs de renommage attenants pour nommer chaque contrôle.

Exemples pratiques

1. Vague sur un plan

Partez d'un Shape 3D plan avec Subdivision X = 40, Subdivision Y = 40. Dans le Vertex tab, sur py :

py + sin(px * 5 + time * 2) * n1

n1 pilote l'amplitude, le time déroule la vague automatiquement.

2. Drapeau animé

Même plan, mais une vague 2D qui s'atténue vers la hampe (axe X = 0) :

py + sin(px * 3 + time * 4) * cos(pz * 2) * px * 0.2

3. Spirale

Sur un plan ou un cylindre subdivisé :

px = px * cos(py * n1) - pz * sin(py * n1)
pz = px * sin(py * n1) + pz * cos(py * n1)

Tordez la géométrie autour de l'axe Y en fonction de la hauteur (n1 = force du twist).

4. Colorisation par hauteur

Sur une LUT1 en dégradé bleu→blanc, puis dans le Vertex tab :

vcr = getlut1(py * 0.5 + 0.5)

Les vertices hauts deviennent blancs, les bas bleus - utile pour faire un « terrain enneigé » procédural.

Astuces & bonnes pratiques

  • Toujours travailler sur un mesh suffisamment subdivisé - la qualité de l'effet dépend directement du nombre de vertices.
  • Utilisez le Setup tab pour tout calcul global : gain de performance non négligeable sur les scènes denses.
  • Renommez vos contrôles n1–n8 dès que vous avez décidé de leur rôle - ça évite les « qu'est-ce que n3 déjà ? » deux semaines plus tard.
  • Si vous déformez fortement la géométrie, modifiez aussi les normales pour que le lighting suive. Une vague avec des normales figées aura un rendu « plat » sous n'importe quelle lumière.
  • Ce node est CPU-bound : sur une grosse scène, préférez un Bender 3D ou un Displace 3D si l'effet est faisable avec eux.

Nodes souvent utilisés avec celui-ci

  • Displace
  • Bender
  • Triangulate
  • UV Map
← PrécédentCubeSuivant →Displace
Creator Academy Logo

Creator-Academy

ContactÀ proposConditions générales de ventePolitique de confidentialité

© 2021 - 2026 Creator-Academy. Tous droits réservés.