Présentation du workflow
Substance 3D Designer est un éditeur basé sur les nœuds. Cela signifie que presque tous les types de projet ou de ressource impliquent de placer des nœuds (composantes) et de les connecter pour créer une chaîne d’opérations (un graphe).
Cette page explique le concept de workflows basés sur les nœuds et fournit un résumé des 3 principaux types de graphes que vous pouvez créer dans Designer.
Workflow basé sur les nœuds
Travailler dans Designer est différent des autres logiciels de retouche d’images 2D tels que Photoshop. Au lieu d’effectuer une action manuellement (comme ajuster la saturation en accédant à une option de menu et en modifiant un curseur), vous construisez les étapes logiques de la modification ou de la création de votre image. Cela se produit en construisant un réseau de petits blocs de construction appelés «nœuds». Les données d’image se déplacent de gauche à droite à travers les composantes, connectées par des liens qui déterminent le chemin des informations. Chaque nœud, s’il est connecté, contribuera aux résultats finaux.
Le principal avantage est que votre workflow devient non linéaire : contrairement aux actions effectuées manuellement qui sont consignées dans une pile de données d’historique, vous pouvez toujours remplacer ou modifier un nœud à tout moment.
Si vous estimez que votre tout premier réglage de contraste affectant le résultat final a été trop intense, vous pouvez toujours revenir en arrière et le régler, voire le couper complètement, sans perdre tout le travail que vous avez effectué par la suite.
Workflow d’Instance de graphe
L’instanciation de graphes est un processus essentiel dans Designer. Il vous permet de créer vos propres nœuds en regroupant un graphe ou une partie d’un graphe en tant que nœud réutilisable. Ceux-ci sont appelés instanciers et vous permettent de travailler plus efficacement en réutilisant les graphes.
Par exemple : Avez-vous développé une excellente technique pour l’usure des bords ? Divisez-le en un graphe séparé et réutilisez-le dans d’autres projets !
Pour plus d’informations sur les instances de graphe, il existe une section dédiée sur leur utilisation dans les graphes de Substance.
Paramètres personnalisés
Tous les nœuds de votre chaîne d’opérations disposeront d’une forme ou d’une autre de commandes : boutons, curseurs, paramètres que vous pourrez modifier pour influencer le résultat final.
Si vous créez un sous-graphe ou voulez exporter votre fichier de Substance de données vers une autre application, vous pouvez construire votre propre « panneau de contrôle » pour vos graphes, permettant aux autres utilisateurs de les modifier avec un panneau de contrôle entièrement unique.
Découvrez le concept général des paramètres personnalisés ici, ou allez plus loin dans la profondeur et commencez à exposer des paramètres.
types de graphe
Vous trouverez ci-dessous un résumé des trois types de Graphes que vous pouvez modifier dans Substance 3D Designer, ainsi qu’un lien vers la section correspondante de la documentation.
Les graphes de Substance sont le principal type de graphe créé dans Substance 3D Designer. Leur objectif est de générer et traiter des données d’image 2D qui ne sont pas limitées à une résolution, une couleur ou une forme définie. Ils sont conçus comme des outils de traitement d’image et de génération extrêmement polyvalents, et pas seulement comme des résultats statiques prédéfinis.
Les résultats peuvent se présenter sous la forme d’un motif simple en noir et blanc, d’un filtre qui s’exécute uniquement sur les autres images et ne génère pas de contenu à lui seul, ou même d’un matériau procédural complet avec plusieurs canaux.
Les graphes de Substance sont le type de graphe le plus largement pris en charge. Ils peuvent être exportés et utilisés dans une multitude de workflows différents.
Exemples
Vous trouverez ci-dessous quelques exemples types de cas d’utilisation courants.
Une forme de masque simple pour une décalcomanie est créée en générantun morceau de texte et une forme de disque, en extrayant le bord du disque et en les fusionnant avant de les définir comme sortie finale.
Le texte portant le numéro ou le thickness du contour peut être exposé à l’extérieur pour rendre ce graphe plus dynamique.
Un graphe de filtrage prend une map normal en tant que entrée (avec un aperçu personnalisé), la convertit en courbure, puis ajuste le contraste pour créer un masque de contours convexes en tant que sortie finale.
Les valeurs de contraste définies dans l’histogramme peuvent être exposées, ce qui en fait un filtre simple mais utile associé à l’emplacement d’entrée dynamique.
Un graphe plus compliqué fusionne deux Matériaux de base. L’un des Matériaux de base est simple, l’autre utilise des entrées personnalisées pour ajouter de l’intérêt. Un masque est utilisé pour déterminer lequel des deux matériaux apparaît à l’endroit où il se trouve avant d’être défini comme sorties finales.
Cet exemple utilise les modes de création de liens pour simplifier l’utilisation de plusieurs liens.
Les fonctions traitent des valeurs uniques (entiers, images flottantes, vecteurs) plutôt que des ensembles de pixels (images). Les fonctions sont également des graphes de nœuds, mais les nœuds impliqués et leur interface sont différents des graphes de Substance.
En effet, le workflow repose sur des opérations mathématiques et logiques, ce qui en fait une méthode de travail beaucoup plus avancée dans Designer.
Les fonctions peuvent être utilisées dans de nombreux contextes différents, les principaux étant :
- Modification du comportement d’un paramètre exposé
- Création du comportement de Processeurs de pixels ou de FX-Maps
- Utilisation de valeurs au lieu d’images dans les graphes de Substance, à des fins spécifiques
Exemples
Vous trouverez ci-dessous quelques exemples de cas d’utilisation courants pour les graphes de fonction de Substance.
Fonction simple dans le contexte d’un paramètre exposé. Il obtient une valeur flottante d’entrée appelée « Intensité » qui est déterminée pour aller de 0 à 1 (une plage facile à comprendre) et la remappe vers une plage définie de 0,1 à 0,8. Cela signifie que si l’utilisateur définit l’intensité sur 0, en interne 0,1 sera utilisé, si l’interface utilisateur est définie sur 1, 0,8 sera utilisé et toute valeur comprise entre les deux sera interpolée linéairement. Ce type de fonction est couramment utilisé lorsque exposez des paramètres, mais utilisez des fonctions personnalisées.
Cette fonction peut également être écrite en tant que lerp(0.1, 0.8, Intensity) dans un pseudocode similaire à HLSL ou GLSL.
Cette fonction avancée montre le fonctionnement interne d’un Processeur de pixels destiné à ajuster la teinte d’une entrée de table des couleurs en fonction de l’intensité d’une seconde entrée de masque en niveaux de gris.
Il échantillonne les deux entrées avec la variable système « $pos », puis supprime l’Alpha, convertit la valeur de couleur en TSL et modifie la composante Teinte en la multipliant par la valeur de niveaux de gris échantillonnée. Ensuite, il réassemble le vecteur, reconvertit le TSL en RGB et ajoute l’Alpha pour la sortie finale.
dans le pseudocode, il s’agirait d’une fonction beaucoup plus compliquée qui ne s’adapterait pas à une seule ligne.