Utilisation des Fonctions SDF

Dans la version 16.0.0, Substance 3D Designer a introduit un ensemble puissant de nœuds pour créer des Fonctions SDF, qui peuvent être utilisées pour créer et manipuler des formes 3D procédurales.

Les fonctions SDF sont des graphes de fonction de Substance qui associent des nœuds SDF disponibles dans l’ensemble d’outils et sont appliquées à des paramètres dédiés dans les nœuds qui prennent en charge les Fonctions SDF.

Comme point de départ, gardez à l’esprit que le workflow de base se présente comme suit :

  1. Créez une Fonction SDF dans un nœud de visionneuse 3D pour visualiser le résultat.
  2. Copiez-le dans le graphe de fonction final (ou instanciez-le) dans le paramètre de Fonction SDF d’un nœud qui prend en charge les Fonctions SDF, tel que Shape splatter v2.

Monographie de la fonction Nœuds de Fonctions SDF 3D dans Substance 3D Designer

Qu’est-ce qu’une Fonction SDF ?

Tout comme les fonctions mathématiques peuvent être tracées en 2D en tant que courbes, elles peuvent être tracées en 3D en tant que surfaces.

Un champ de distance signé est une fonction mathématique qui définit une surface dans un espace 3D en calculant la distance entre un point quelconque de l'espace et le point le plus proche de la surface.

Décomposons le nom « champ de distance signé » pour mieux le comprendre :

  • Signé signifie que la fonction renvoie une valeur positive si le point est à l'extérieur/devant la surface, une valeur négative si le point est à l'intérieur/derrière la surface et zéro si le point est exactement sur la surface.
  • Distance fait référence au fait que la fonction calcule la distance entre n'importe quel point de l'espace et le point *le plus* de la surface.
  • Champ signifie que la fonction décrit un champ de valeurs, car chaque point dans l'espace a une valeur correspondante qui représente sa distance à la surface la plus proche.
Visualisation de la forme produite par une Fonction SDF, avec des isolignes de balayage.

Ces fonctions ont de nombreuses applications dans l’infographie, telles que le dessin de surfaces, le converti d’ombre, le masquage de contour, la détection de collision et plus encore.

Dans Substance 3D Designer, les Fonctions SDF sont utilisées pour créer et manipuler des formes 3D de manière procédurale.

Sortie et utilisation prévue d’une Fonction SDF

Les nœuds de fonction SDF génèrent une seule valeur flottante : la distance signée à la surface la plus proche.

Mais ils ne sont pas les seuls : ils obtiennent et définissent en interne les valeurs des variables que les nœuds hôtes doivent définir et/ou connaître pour manipuler et dessiner les formes obtenues.

Cela signifie que ces nœuds doivent être utilisés dans le cadre de nœuds qui prennent en charge des Fonctions SDF, car il connaît ces variables et les intègre en mode natif.

Les nœuds incluent Shape splatter v2 et Visualiseur 3D.

Graphe de la fonction Substance

Les nœuds de fonction SDF sont destinés à être utilisés dans des graphes de fonction de Substance dédiés et ne sont donc disponibles que dans ce type de graphe.
Les paramètres de nœud destinés à être exprimés en tant que fonction utilisent un bouton « Modifier la fonction ».

Ce que vous devez savoir sur les graphes de fonction de Substance :

  • Comme les graphes de Substance, les connecteurs de nœuds sont spécialisés, ce qui signifie qu’ils ne peuvent être connectés qu’à d’autres connecteurs de couleur correspondante représentant leur type.
  • Les nœuds n’ont pas de paramètres, ils ne peuvent avoir que des entrées. (À quelques exceptions près)
  • Le graphe a un seul nœud de sortie. Cliquez avec le bouton droit de la souris sur un nœud et sélectionnez Set as output pour le désigner comme nœud de sortie.
  • De même que les graphes de Substance, il existe des nœuds atomiques (les composantes de base) et des nœuds d’instance qui représentent d’autres graphes de fonction de Substance.
  • Il existe des opérateurs distincts (algébrique, logique et de comparaison) qui vous permettent d’effectuer des opérations sur les valeurs du graphe, mais les nœuds SDF ont leurs propres opérateurs
Exemple de graphe de fonction définissant une Fonction SDF
working-with-sdf-function-graphe.png

Prise en main

Pour créer des Fonctions SDF, nous devons d’abord les visualiser afin de comprendre l’effet des nœuds et des paramètres que nous ajustons.

Le nœud de la visionneuse 3D dispose d’un mode dédié pour visualiser les formes créées à l’aide de Fonctions SDF : définissez le paramètre Type de Scène du nœud sur SDF function et cliquez sur le bouton Modifier la fonction pour ouvrir le graphe de fonction qui hébergera la Fonction SDF elle-même.

Le nœud offre des fonctionnalités dédiées pour visualiser les aspects de la Fonction SDF qui nous permettront de les construire de manière plus intuitive et efficace, telles qu’un cadre de délimitation et des lignes d’isolement.

Le nœud Soleil/ciel physique peut être utilisé pour configurer rapidement l’éclairage de l’environnement dans la visionneuse 3D.

Configuration du nœud de la visionneuse 3D pour la visualisation des Fonctions SDF.

TIP
table 0-row-2 0-border-none 1-border-none 2-border-none html-authored no-header

Tous les nœuds de Fonction SDF de données, ainsi que leurs connecteurs d’entrée, disposent d’info-bulles qui vous permettent d’en savoir plus sur leur objectif et leur utilisation.

N'oubliez pas de les vérifier !

Info-bulle du connecteur d’entrée sur le nœud de Fonction SDF.

Définition des valeurs de nœud

Comme pour tous les nœuds des graphes de fonction de Substance, les nœuds de Fonction SDF n’ont pas de paramètres, mais uniquement des connecteurs d’entrée qui sont utilisés comme paramètres.

Pour définir la valeur de ces entrées, vous pouvez utiliser des nœuds constants tels que Flottant, Flottant 3 et Entier 3.
Vous pouvez les créer de la manière habituelle via le menu Nœud ou vous pouvez faire glisser une nouvelle connexion à partir des connecteurs pour bénéficier d’une liste filtrée de nœuds de types correspondants.

La plupart des connecteurs d’entrée des nœuds de Fonction SDF ont une valeur par défaut, qui est indiquée dans son infobulle.

Nœuds constants utilisés pour modifier les primitives SDF.

TIP
table 0-row-2 0-border-none 1-border-none 2-border-none html-authored no-header

Si vous n'avez pas besoin de toujours afficher certaines valeurs, ancrez les nœuds à l'aide de la touche D pour économiser de l'espace et désencombrer le graphe.

Vous pouvez également utiliser des commentaires pour suivre les valeurs.

Info-bulle du connecteur d’entrée sur le nœud de Fonction SDF.

Cadre de délimitation

Le cadre de contour est une zone dans l'espace 3D qui définit les limites dans lesquelles la Fonction SDF est évaluée et dessinée dans le nœud Forme éclaboussée v2.

Si le cadre de délimitation est trop petit, des parties de la forme peuvent être rognées. S'il est trop volumineux, il peut entraîner des calculs inutiles et des délais de traitement plus longs.

Le paramètre cadre de délimitation vous permet d'activer la visualisation du cadre de délimitation. Vous pouvez ensuite ajuster la taille du cadre de sélection en modifiant les valeurs du paramètre Taille du cadre de sélection.

Utilisez le paramètre Coloriser hors cadre pour visualiser les zones en dehors du cadre de délimitation en rouge vif afin de pouvoir ajuster le cadre en conséquence.

Fonction de cadre de délimitation du nœud de la visionneuse 3D, pour les Fonctions SDF.

Isolignes

Comme le transformé des formes implique de *transformer l'espace* dans lequel elles sont dessinées, le résultat des nœuds utilisés après certaines transformations peut être surprenant.
Dans ce cas, il est utile de visualiser l'espace lui-même. Pour ce faire, visualisez le champ de distance de la forme.

Pour cela, le nœud de la visionneuse 3D utilise des isolignes, qui répètent des lignes de contour représentant une distance donnée de la surface de la forme. Le paramètre SDF isolines active cette visualisation.
Les isolignes sont dessinées sur un plan horizontal placé à l'height spécifié par le paramètre Position des isolignes SDF.

Voir comment les lignes d’isolement sont déformées par les transformations appliquées à la forme peut vous aider à comprendre comment la forme elle-même est transformée et à ajuster les paramètres des nœuds en conséquence.

Fonction de cadre de délimitation du nœud de la visionneuse 3D, pour les Fonctions SDF.

Catégories de nœuds de fonction SDF

Les nœuds de fonctions SDF sont classés dans la bibliothèque en fonction de leur fonction et de leur objectif.

Vous pouvez créer autant de vues Bibliothèque que nécessaire pour organiser votre espace de travail de sorte que l’ensemble d’outils Fonctions SDF soit organisé par catégorie tout en gardant le tout à portée de main. Accédez à la vue Windows > Nouvelle bibliothèque pour ajouter des vues distinctes et indépendantes de la bibliothèque.

Exemple d’espace de travail
working-with-sdf-workspace.png

Primitives

Les blocs de construction de base de Fonctions SDF, qui vous permettent de créer des formes de base telles que des sphères, des boîtes, des cylindres et plus encore.

Opérateurs

Ces nœuds vous permettent de combiner et de modifier des formes créées avec des primitives. Il s’agit notamment :

  • Les opérateurs booléens droits tels que Union, Intersection et Soustraction vous permettent d’associer des formes de différentes manières.
  • Opérateurs booléens de déformation tels que Arrondi et Morphe qui vous permettent d’associer des formes avec un effet de fusion.
  • Autres opérateurs spécialisés tels que Shell et Symétrie qui vous permettent de modifier et/ou de dupliquer une forme.

Transformations

Les formes peuvent être transformées de différentes manières, par exemple en étant translatées, tournées, mises à l’échelle, torsadées et plus encore.
Ces nœuds vous permettent d’effectuer ces transformations en transformant l’espace lui-même dans lequel les surfaces sont définies.

Cet espace est appelé P. Passez à la section suivante pour en savoir plus sur ce que cela signifie et sur le fonctionnement de la transformation d’espace.

Matériau

La gestion de matériau de base est disponible pour les formes créées à l’aide de Fonctions SDF.

Vous pouvez définir des attributs de matériau de base : couleur, rugosité et métallisation, à utiliser pour la visualisation directe dans le nœud de la visionneuse 3D ou comme base pour le travail de matériau dans les nœuds Shape Splatter v2.
Vous pouvez également attribuer des ID de matériau à différentes parties d’une forme pour les séparer.

En savoir plus sur les applications de ces nœuds ci-dessous.

Entrée « P »

Lorsque nous appliquons une transformation à une forme, telle qu’un décalage ou une rotation, nous transformons en fait l’espace dans lequel la forme est définie.

Si nous voulons qu’une transformation se propage à d’autres formes, par exemple si nous voulons faire pivoter plusieurs formes de la même manière, nous devons nous assurer qu’elles utilisent toutes le même espace transformé.

Un espace transformé est partagé entre les nœuds à l’aide de leur entrée P dédiée, disponible dans la plupart des nœuds SDF.
Le « P » signifie espace monde P osition : un vecteur 3D représentant les coordonnées d’un point dans l’espace monde.

Les nœuds Décalage P et Rotation P transforment l’espace et vous permettent de propager cette transformation à tous les nœuds qui doivent l’hériter.
Par exemple, plusieurs formes peuvent être tournées ensemble en connectant leur entrée P au même nœud Rotation P.

Il ne s’agit pas simplement d’une question de commodité, il s’agit de s’assurer que les nœuds SDF fonctionnent avec les mêmes positions dans l’espace.

Voici un exemple :

working-with-sdf-p-input.gif

Une sphère est créée pour visualiser l’espace sous la forme d’une grille 3D. Il est répété en répétant l’espace.
Sans P partagé, le cylindre recourbé utilise l’espace de répétition utilisé par la sphère.
Avec un P partagé, les formes peuvent être correctement définies dans un espace partagé pivoté.

Utilisation de Fonctions SDF dans les nœuds « Shape splatter v2 »

Une fois que vous avez terminé une Fonction SDF dans le contexte du nœud de la visionneuse 3D, vous pouvez copier l’intégralité de la fonction et la coller dans le nœud Shape splatter v2 pour l’utiliser comme générateur de forme pour ce nœud.

Définissez le paramètre Type de forme sur SDF function, puis accédez au paramètre Fonction SDF de motif et cliquez sur le bouton Modifier la fonction pour ouvrir le graphe de fonction du paramètre.
Vous pouvez ensuite coller la fonction que vous avez copiée à partir du nœud de la visionneuse 3D dans ce graphe. (N’oubliez pas de redéfinir le nœud de sortie du graphe de fonction !)

Assurez-vous d’ajuster la taille du cadre de délimitation SDF pour qu’elle corresponde au cadre de délimitation que vous utilisiez dans le nœud de la visionneuse 3D, et assurez-vous que la forme est dessinée correctement.

working-with-sdf-shape-splatter-v2.png
Forme éclaboussée v2 avec un type de forme​défini sur SDF function. Notez que la taille du cadre de délimitation SDF​a été ajustée pour s’adapter à la forme.

TIP
Pour réutiliser facilement une Fonction SDF, copiez-la dans un nouveau graphe de fonction de Substance et utilisez ce graphe comme instancier dans les nœuds de la visionneuse 3D et de l'éclaboussure de forme v2.
Cela présente plusieurs avantages :
  • Toute mise à jour de la fonction sera répercutée sur les deux nœuds sans qu’il soit nécessaire de la copier-coller à nouveau. Il s’agit d’une excellente amélioration de la qualité de vie pour les formes complexes.
  • Le graphe peut avoir un nom descriptif qui sera visible dans les instanciers, ce qui rendra l’utilisation de votre propre bibliothèque de formes SDF beaucoup plus facile à gérer et vos graphes plus lisibles.
  • Vous pouvez créer des entrées pour le graphe de fonction que vous pouvez utiliser avec les nœuds Get. Ces entrées seront exposées en tant que connecteurs d’entrée dans l’instancier et vous permettront de modifier facilement vos formes.

ID de matériau

Un ID de matériau peut être attribué à une forme SDF. Il s’agit d’une valeur d’entier qui peut être utilisée pour différencier des parties de la forme et leur attribuer différents matériaux dans les nœuds Visualiseur 3D et Éclaboussure de forme v2.

Notez que les surfaces dotées d’ID de matériau différents sont divisées par un bord net entre les formes dégradées, comme le montre l’exemple ci-dessous.

Utilisez le nœud Définir l’ID de matériau après la partie d’une forme que vous souhaitez baliser avec un ID de matériau spécifique, et utilisez un nœud constant Entier pour définir la valeur d’ID de matériau souhaitée.
Dans le nœud de la visionneuse 3D, définissez le paramètre Sortie sur Material ID pour visualiser les ID de matériau des formes.

working-with-sdf-matériau-id.png
À droite, la sortie de deux nœuds de visualiseur 3D est composée pour afficher la forme (à gauche) et ses ID de matériau (à droite) afin d’illustrer comment, dans les formes fusionnées, les matériaux sont interpolés tandis que les ID de matériau sont divisés.

Les ID de matériau peuvent être exploités par les nœuds compagnon Shape Splatter v2 :

ID de matériau SDF pour le mappage des couleurs dans le nœud de couleurs du mappeur Shape Splatter v2. ID de Matériau utilisés pour le mappage des couleurs
dans la couleur du mappeur Shape splatter v2
ID de matériau SDF pour le mappage triplanaire dans le nœud de couleur du mappeur Shape Splatter v2. ID de Matériau utilisés pour le mappage triplanaire
dans la couleur du mappeur Shape splatter v2
ID de matériau SDF pour le masquage dans Shape splatter v2 vers le nœud de masque.
ID de Matériau utilisés pour le masquage
dans Shape splatter v2 to mask

Couleur, rugosité et métallurgie

Les nœuds Définir la couleur, Définir la rugosité et Définir la métallisation vous permettent de définir ces attributs de matériau pour les formes de la Fonction SDF.

Ensuite, lorsque vous utilisez cette Fonction SDF comme type de forme dans le nœud Shape splatter v2, ces attributs de matériau seront disponibles en tant que mappages dans les sorties SDF color, SDF rugosité et SDF metalness du nœud. Ces mappages peuvent servir de base à des travaux de matériau plus complexes utilisant d’autres nœuds.

Notez que, contrairement aux ID de matériau, les valeurs sont interpolées entre les formes fusionnées sous la forme d’un dégradé, comme le montrent les exemples ci-dessous.

Sortie de couleur SDF du nœud Shape splatter v2. Sortie couleur SDF
Rugosité SDF du nœud Shape splatter v2.
Sortie de rugosité SDF
Métallique SDF du nœud Shape splatter v2. Sortie de métallurgie SDF

échantillon de matériau

L'échantillon de matériau boulons rouillés est disponible pour passer aux Fonctions SDF appliquées dans le contexte du nœud Shape splatter v2.

Le graphe est organisé et annoté pour vous guider à travers sa structure, les paramètres de nœud et les configurations de Fonction SDF.

Il est également entièrement modifiable. Il peut donc être utilisé comme sandbox pour mieux comprendre de manière pratique les outils Shape splatter v2 et Fonctions SDF. Vous pouvez créer autant de graphes d'exemple que vous le souhaitez, alors n'hésitez pas à jouer !

Fonction de cadre de délimitation du nœud de la visionneuse 3D, pour les Fonctions SDF.
recommendation-more-help
substance-3d-designer-help-guide