Ouvrir la rubrique avec les liens de navigation
Vous trouverez ici différents types et formats de données qui peuvent être utilisés pour ajouter facilement des ports aux ressources et aux groupes. Si nécessaire, ces ports peuvent être personnalisés dans leur interface, leur ordre en ce qui concerne les restrictions via l'éditeur de ressources. Dans cette section, nous verrons donc également comment travailler avec l'éditeur de ressources .
Vous trouverez ci-dessous des explications sur les étapes typiques de l'utilisation de ces éléments et sur la manière dont vous pouvez les utiliser pour créer vos propres ressources.
Pour plus d'informations et d'exemples sur l'utilisation des ressources et des données utilisateur, voir la description des nœuds de construction des ressources.
Accès rapide :
Dans cet exemple, l'objectif est de développer une ressource qui ajoute des détails supplémentaires à une géométrie arbitraire en sélectionnant de manière aléatoire des parties de la surface, en les extrudant et en les arrondissant au cours du processus. De telles fonctions peuvent être créées avec seulement quelques nœuds. La création d'une boîte de dialogue, en revanche, peut s'avérer plus complexe afin que les fonctions de l'élément puissent être facilement contrôlées sans l'éditeur de nœuds. Il existe pour cela plusieurs options, que nous allons toutes examiner.
Commençons par la première étape, à savoir l'appel d'un groupe de modificateurs de nœuds à partir des nœuds de construction de ressources dans le navigateur de ressources. À partir de là, faites glisser Nœuds de modification directement dans le gestionnaire d'objets. Là, cette entrée fonctionne alors comme un déformateur, elle doit donc être subordonnée aux objets. Par conséquent, créez directement une simple primitive, tel qu'un cube, et attribuez-lui directement le modificateur de nœud. Comme il n'a pas encore été rempli de fonctions, rien ne changera dans le cube pour l'instant.
Par ailleurs, vous pouvez également utiliser le Nœuds de sélection selon le même principe, sauf qu'il est principalement utilisé pour manipuler ou créer des sélections de points, d'arêtes ou de polygones sur l'objet parent.
Avec un groupe de modificateurs de nœuds, les géométries peuvent être modifiées directement dans le gestionnaire d'objets.
Pour visualiser et modifier le contenu du groupe de modificateurs de nœuds, l'éditeur de nœuds doit être ouvert (voir l'image ci-dessous). Pour ce faire, vous pouvez soit passer à la présentation des nœuds de Cinema 4D, soit ouvrir l'éditeur de nœuds à partir du menu Fenêtre. Si l'entrée du modificateur Nœuds est sélectionnée dans le gestionnaire d'objets, l'éditeur de nœuds s'ouvre automatiquement en mode Capsule et affiche donc uniquement le contenu, les entrées et les sorties de ce nœud de construction de ressources. Vous pouvez également effectuer ce changement manuellement à tout moment en utilisant le menu Mode de l'éditeur de nœuds (voir le numéro 1 dans l'image ci-dessous).
À côté du chiffre 2, vous pouvez également lire le nom de la ressource capsule actuellement affichée, c'est-à-dire, dans notre cas, Nœuds de modification. En outre, il peut être utile d'afficher directement le navigateur de ressources et le gestionnaire d'attributs sur les bords gauche et droit de l'éditeur de nœuds (voir le numéro 3 dans l'image ci-dessous). De cette façon, vous pouvez maximiser l'éditeur de nœuds, ce qui peut s'avérer utile lors du traitement de configurations complexes.
Les différents éléments de l'éditeur de nœuds en mode Capsule.
Si vous avez activé les deux icônes du numéro 3, le navigateur de ressources (voir numéro 4) sera visible sur la gauche et le gestionnaire d'attributs (numéro 5) sur la droite. Entre ces zones se trouve l'éditeur de nœuds proprement dit, qui est encadré à gauche par la zone d'entrée (voir numéro 6) et à droite par la zone de sortie (voir numéro 7) du groupe de modificateurs de nœuds sélectionné. Pour nous, les entrées et sorties de Géométrie sont particulièrement intéressantes. L'entrée Géométrie sur la gauche fournit la géométrie de l'objet auquel le groupe de construction de ressources a été subordonné dans le gestionnaire d'objets. C'est le cube dans notre cas.
Cette géométrie peut maintenant être traitée par nos soins dans le cadre de l'installation. Le résultat sera une géométrie modifiée qui doit ensuite être acheminée vers la sortie Géométrie du groupe pour remplacer le cube d'origine.
Ajouter une première fonction au groupe Nœuds de modification.
Pour transformer notre groupe de Nœuds de modification en une ressource fonctionnelle, il suffit d'ajouter un seul nœud capable de gérer la géométrie. Vous trouverez un grand nombre de ces nœuds dans le groupe Modificateur de géométrie du navigateur de ressources. Nous sélectionnons le nœud Subdiviser et le faisons glisser du navigateur de ressources directement dans l'éditeur de nœuds.
Sur le côté gauche de ce nœud, vous trouverez l'entrée d'une géométrie à traiter (chiffre 1 dans l'image ci-dessus). Il suffit de créer une connexion entre l'entrée Géométrie du groupe et l'entrée Géométrie du nœud en faisant glisser une ligne de connexion à l'aide de la souris. De la même manière, vous établissez une connexion entre la sortie Géométrie du nœud (voir numéro 2) et la sortie Géométrie du groupe. Par la suite, vous devriez déjà pouvoir constater un changement dans la géométrie. Si nécessaire, passez à l'affichage de l'ombrage de Gouraud (lignes) en combinaison avec l'image filaire dans la fenêtre d'affichage pour que les arêtes de l'objet soient également affichées (voir l'image suivante).
Dans notre cas, le cube sera subdivisé. Le type de sélections à évaluer (points, arêtes ou polygones) ou la fréquence à laquelle l'objet doit être subdivisé, par exemple, peuvent être définis après avoir sélectionné le nœud Subdiviser dans le gestionnaire d'attributs (voir le numéro 3 dans l'image ci-dessus).
Le cube modifié après l'ajout du nœud Subdiviser au groupe de modificateurs Nœuds.
Les nœuds, comme le nœud Subdiviser dans notre cas, fournissent de nombreux paramètres dans le gestionnaire d'attributs, dont certains peuvent également intéresser les utilisateurs du groupe de modificateurs Nœuds. Le seul inconvénient est que vous devez toujours sélectionner le nœud correspondant dans l'éditeur de nœuds avant de pouvoir modifier ses paramètres dans le gestionnaire d'attributs. Il existe une solution à ce problème, car tous les paramètres peuvent également être créés en tant que ports d'entrée sur les nœuds, puis liés à la page d'entrée du groupe. Nous le ferons d'abord pour le paramètre Type du nœud de sélection, afin que l'utilisateur puisse sélectionner ultérieurement les éléments sélectionnés (points, arêtes ou polygones) à utiliser pour contraindre la fonction Subdiviser.
Ajout d'un paramètre en tant que port d'entrée via le gestionnaire d'attributs.
L'image ci-dessus illustre ce processus. Tout d'abord, sélectionnez le nœud Subdiviser pour afficher ses paramètres dans le gestionnaire d'attributs. Dans la colonne marquée du chiffre 1 sur l'image, vous trouverez de petits symboles circulaires. Cmd/Ctrl+clicsur l'un de ces cercles rend le paramètre correspondant directement visible en tant que port d'entrée sur le nœud. Essayez ceci avec le paramètre Type. Comme le montre le numéro 2, nous obtenons le type de port souhaité sur le nœud. Ce port doit maintenant être connecté au côté entrée du groupe pour être visible par un utilisateur du groupe de Nœuds de modification. Pour ce faire, un port doit également être créé dans la zone d'entrée du groupe.
La création d'une entrée de groupe correspondant à l'entrée du type de nœud de peut être réalisée par une simple action de glisser-déposer. C'est ce que montre l'image ci-dessous.
Créer une nouvelle entrée de groupe.
Tracez une ligne de connexion entre le nouveau type d'entrée du nœud de subdivision et la zone d'entrée gauche du groupe, puis relâchez le bouton de la souris à cet endroit. Un petit menu contextuel apparaît, dans lequel vous pouvez sélectionner Ajouter une nouvelle entrée. Comme vous pouvez le voir dans la moitié inférieure de l'image ci-dessus, cela crée une nouvelle entrée Type sur le groupe, qui est automatiquement connectée à l'entrée Type du nœud. Par conséquent, le paramètre Type n'est plus disponible dans le gestionnaire d'attributs. Vous pouvez le constater dans la partie droite de l'image ci-dessus, où les options Points, Arêtes et Polygones sont désormais indisponibles.
L'avantage de ces étapes est que vous n'avez pas à vous soucier des types de données des ports. Le type de données et l'interface utilisateur du paramètre de nœud original sont automatiquement adoptés.
Vérifions-le directement. Sélectionnez le groupe de Nœuds de modification dans le gestionnaire d'objets et consultez l'onglet Entrées dans le gestionnaire d'attributs. Vous devriez alors être en mesure de voir et d'utiliser directement l'option Type (voir l'image ci-dessous).
Représentation du nouvel élément de contrôle du groupe dans le gestionnaire d'attributs.
Bien entendu, vous pouvez également renommer ce nouveau contrôle si vous le souhaitez. Pour ce faire, double-cliquez sur le nom de la nouvelle entrée de groupe dans l'éditeur de nœuds et saisissez simplement le nouveau nom. Par exemple, nous utilisons ici le terme Type de sélection restrictive pour que l'utilisateur comprenne directement ce qu'il fait avec ce paramètre (voir le numéro 1 dans l'image suivante).
Représentation du nouvel élément de contrôle du groupe dans le gestionnaire d'attributs.
Toutefois, de nouveaux contrôles pour les utilisateurs peuvent également être créés indépendamment des ports d'entrée existants sur les nœuds. Cela peut être utile, par exemple, si vous souhaitez proposer un type de données spécial ou un élément de contrôle qui n'est pas proposé par défaut au nœud à connecter. Par exemple, vous pouvez utiliser une entrée pour effectuer des calculs mathématiques avant que le résultat ne soit transmis à d'autres nœuds.
Dans notre exemple, le nombre de subdivisions devrait ainsi pouvoir être contrôlé par le nœud Subdiviser. Comme il s'agit d'une valeur entière, seul le contrôle Entier peut être utilisé. Dans les entrées des éléments de l'interface utilisateur duNavigateur de ressources, vous trouverez ces entrées :
En principe, les trois éléments conviennent à notre objectif, bien que seules des valeurs positives faibles soient généralement utiles pour définir les niveaux de subdivision. Nous apprendrons également comment vérifier la plausibilité des valeurs introduites par l'utilisateur avant qu'elles ne soient utilisées dans le setup, ou comment les limiter automatiquement, si on le souhaite.
Dans notre cas, nous restons simples et faisons glisser l'entrée IO Entier du navigateur de ressources vers l'éditeur de nœuds. Une nouvelle entrée pour les valeurs entières est automatiquement créée dans le groupe. Il peut être renommé à volonté en double-cliquant, par exemple avec Subdivisions de base (voir le numéro 1 dans l'image suivante). Cette fonction permet de sélectionner les niveaux de subdivision avant de poursuivre le traitement de la géométrie.
Créer et renommer manuellement un nouveau port d'entrée sur le groupe.
Comme pour la connexion du paramètre Type, nous avons à nouveau besoin d'une entrée appropriée au nœud Subdiviser, cette fois pour le nombre de subdivisions. Pour ce faire, sélectionnez le nœud et faites Ctrl+clic sur l'icône de cercle à côté de la valeur Subdivisions dans le gestionnaire d'attributs (voir numéro 1 dans l'image suivante). L'entrée correspondante sur le nœud apparaît (voir numéro 2).
Ajouter l'entrée de nœud requise.
Vous pouvez également ajouter de nouvelles entrées directement au niveau du nœud. Pour ce faire, cliquez avec le bouton droit de la souris sur le nœud et sélectionnez Ajouter une entrée dans le menu contextuel. Cependant, pour les nœuds qui fournissent de nombreux paramètres, il peut être laborieux de trouver le nom de port correct. Par conséquent, la méthode Cmd ou Ctrl+clic décrite ci-dessus est préférable dans de nombreux cas.
Enfin, établissez la connexion entre le nouveau port de subdivision de base du groupe et l'entrée de subdivision du nœud en faisant glisser la souris. Après avoir sélectionné le groupe de Nœuds de modification dans le gestionnaire d'objets, le gestionnaire d'attributs affiche les deux paramètres utilisateur. En modifiant progressivement la valeur du paramètre Subdivisions de base, vous devriez être en mesure d'observer directement comment le cube est subdivisé de manière plus ou moins importante. La seule chose qui peut être un peu gênante est que cette valeur est affichée au-dessus de l'option de sélection pour les sélections (voir l'image suivante). Nous allons donc voir comment vous pouvez influencer l'ordre des données utilisateur.
Vérification des données de l'utilisateur dans le gestionnaire d'attributs.
Les éléments IO du groupe Interface utilisateur peuvent être utilisés non seulement pour les ressources, mais aussi pour les groupes de nœuds normaux afin d'ajouter des entrées individuelles. La seule différence est que, par défaut (à moins qu'il ne contienne déjà des nœuds qui reçoivent des valeurs de l'extérieur), un groupe ouvert n'affiche pas de plage d'entrée ou de sortie. Les zones grises sur les bords gauche et droit d'un groupe ouvert peuvent donc encore manquer au départ. Ils sont créés automatiquement lorsque vous créez de nouveaux ports sur le groupe. Les images ci-dessous l'illustrent.
À gauche, vous pouvez voir un groupe vide dans l'éditeur de nœuds. Par défaut, il n'y a pas d'entrées ni de sorties, comme on peut le voir à droite lorsque l'on regarde le groupe.
À gauche, une entrée IO Géométrie a d'abord été glissée du navigateur de ressources vers le groupe, puis cette nouvelle entrée a été connectée à un nœud d'extrusion. Pour ajouter une sortie correspondante au groupe, faites glisser et déposez la sortie Géométrie du nœud, puis sélectionnez Ajouter une nouvelle sortie. À droite, vous pouvez voir le groupe complété par les ports.
Les nouvelles entrées d'un groupe peuvent être ajoutées soit en faisant glisser une entrée depuis le groupe Interface utilisateur du navigateur de ressources, soit - s'il existe déjà des nœuds dans le groupe - en effectuant un glisser-déposer depuis une entrée de port dans l'éditeur de nœuds vide et en sélectionnant Ajouter une nouvelle entrée. La même chose peut être faite avec les ports de sortie des nœuds pour ajouter des sorties à un groupe. Ceci est visible sur le côté gauche de l'image ci-dessus.
L'éditeur de ressources, décrit dans la section suivante, offre une autre possibilité d'ajouter et de configurer des ports.
L'ordre des ports peut être modifié directement au niveau des nœuds ainsi qu'au niveau des entrées et sorties de groupe par glisser-déposer. Cette fonction est utile, par exemple, pour fixer les lignes de connexion qui se croisent. Bien que cela n'ait pas d'importance pour les fonctions elles-mêmes, cela peut contribuer à améliorer la clarté de la configuration. Toutefois, cela ne modifie pas l'ordre dans lequel les entrées de groupe sont présentées dans le gestionnaire d'attributs. Bien que cela dépende principalement de l'ordre dans lequel les entrées ont été ajoutées au groupe, il existe une solution à ce problème : l'éditeur de ressources.
Pour l'ouvrir pour la configuration actuelle, cliquez avec le bouton droit de la souris dans l'éditeur de nœuds et sélectionnez Editer la ressource ... dans le menu contextuel (voir l'image suivante).
Ouvrez l'éditeur de ressources pour le groupe.
La colonne de gauche de l'éditeur de ressources nous intéresse particulièrement. Elle répertorie les entrées et sorties actuelles de la ressource dans la partie supérieure (voir le numéro 1 de l'image suivante) et affiche les options disponibles pour des entrées supplémentaires en dessous (voir le numéro 2). Ces options sont identiques aux données utilisateur du navigateur d'ressources que nous avons déjà utilisées pour créer l'entrée IO Entier.
La colonne de gauche de l'éditeur de ressources
Vous pouvez également utiliser l'éditeur de ressources pour créer directement les entrées souhaitées dans le groupe de ressources. Pour ce faire, il suffit de faire glisser les entrées souhaitées de la liste inférieure (voir numéro 2 dans l'image ci-dessus) directement sous l'entrée dans la liste supérieure des ports (voir numéro 1). Ici aussi, les ports ajoutés par l'utilisateur peuvent être renommés individuellement en double-cliquant.
L'ordre des entrées dans le groupe Entrées reflète automatiquement l'ordre des paramètres dans le gestionnaire d'attributs. Vous pouvez à présent procéder à un nouveau tri harmonieux. En outre, il est plus facile ici de faire glisser les éléments à arranger, UI - Groupe et UI - Séparateur de la liste inférieure directement aux endroits souhaités dans la hiérarchie supérieure. Cela permet ensuite d'inclure des sous-catégories(UI - Groupe) et de simples séparateurs(UI - Séparateur) pour structurer des listes de paramètres plus étendues.
Le groupe UI fonctionne comme un élément de commande, auquel vous pouvez donner un nom de groupe et sous lequel vous pouvez trier d'autres entrées dans l'éditeur de ressources.
Lors du nouveau tri, assurez-vous que les subdivisions de base ne sont affichées qu'après la restriction du type de sélection et terminez ces paramètres avec un élément UI - Séparateur(voir le numéro 1 de l'image ci-dessus). Fermez ensuite l'éditeur de ressources. Les modifications seront appliquées automatiquement.
Certains paramètres ne sont pertinents que si des réglages spécifiques sont utilisés. Pensez, par exemple, au réglage de l'angle maximal de nombreuses fonctions de modélisation, qui ne peut être utilisé qu'après avoir activé l'option Préserver les groupes. Si vous souhaitez mettre le paramètre Angle maximal à la disposition de l'utilisateur d'un groupe d'ressources, par exemple, n'oubliez pas de faire apparaître l'option associée pour la préservation des groupes de polygones ou de vous assurer, dans la configuration, que l'Angle maximal peut toujours être utilisé.
Comme le montre l'image suivante, il peut arriver que des paramètres déjà organisés en groupes au niveau du nœud soient également affichés dans des sous-groupes dans l'éditeur de ressources et non dans le groupe Entrées.
Les paramètres groupés apparaissent automatiquement dans les sous-groupes
Selon les propriétés ou les fonctions que vous souhaitez contrôler dans une configuration par l'entrée de l'utilisateur, la personnalisation des contrôles d'un paramètre et la définition d'une valeur par défaut ou de limites peuvent s'avérer utiles. Toutes ces tâches peuvent également être effectuées dans l'éditeur de ressources. Pour ce faire, ouvrez l'éditeur de ressources pour le poste qui contient les données utilisateur et sélectionnez la valeur d'entrée que vous souhaitez modifier dans la zone de liste supérieure gauche de l'éditeur de ressources. Nous avons déjà vu dans la section précédente que vous pouvez également personnaliser l'ordre des entrées dans cette zone et que des groupes ou des séparateurs peuvent également être insérés ici (à l'aide des éléments UI - Groupe et UI - Séparateur ). Cependant, pour modifier l'interface d'un paramètre, jetez un coup d'œil à la colonne centrale de l'éditeur de ressources.
Paramètres généraux et avancés pour un élément IO - Entier sélectionné dans l'éditeur de ressources
Comme le montre l'image ci-dessus, deux pages de paramètres sont disponibles, Général et Avancé, les paramètres généraux contenant déjà les fonctions les plus importantes. Nous les examinerons dans l'ordre :
Comme le montrent les options de réglage ci-dessus, il est également très facile d'ajouter des curseurs ultérieurs à de simples paramètres IO - Flottant ou, par exemple, de limiter ou d'ajuster les valeurs autorisées pour l'entrée.
Jetons également un coup d'œil rapide aux paramètres avancés de l'éditeur de ressources.
Dans de nombreux cas, il est utile de vérifier ou de convertir les valeurs saisies, par exemple pour ne pas autoriser des entrées trop élevées pour les subdivisions, ce qui pourrait entraîner des problèmes de mémoire. Dans d'autres cas également, par exemple lorsque des valeurs en pourcentage sont saisies via un IO Flottant - Intensité - Curseur, celles-ci peuvent être converties en d'autres valeurs numériques en vue d'un traitement ultérieur. Comme vous pouvez le lire dans la section ci-dessus, de telles limites pour l'entrée de valeurs peuvent être spécifiées directement dans l'éditeur de ressources pour chaque paramètre en attente d'une entrée numérique. Parfois, cependant, ces limites doivent être converties directement dans l'installation, par exemple pour certains calculs mathématiques. Par conséquent, dans cette section, nous verrons comment vous pouvez convertir des nombres ou les restreindre à la plage de valeurs souhaitée.
Limitation des entrées
Le premier nœud qui s'y prête est le nœud Écrêtage, que vous trouverez dans la catégorie Math du navigateur de ressources. Connectez son port d'entrée au port de subdivision de base du groupe une fois à titre de test, puis connectez la sortie de résultat du nœud Écrêtage à l'entrée de subdivision du nœud de subdivision. Comme chaque port d'entrée ne peut avoir qu'une seule connexion, cette opération supprime automatiquement l'ancienne connexion. Sinon, vous pouvez également supprimer l'ancienne connexion en double-cliquant dessus avant de connecter le nœud Écrêtage.
Le nœud Écrêtage propose d'abord un type de données dans le gestionnaire d'attributs qui doit correspondre à la valeur que vous souhaitez obtenir à sa sortie Résultat. Il s'agit donc à nouveau d'Entier(abréviation : Int).
Les spécifications pour Minimum et Maximum se réfèrent à la plage de valeurs que vous souhaitez autoriser comme maximum. Même si la valeur d'entrée est inférieure à la valeur minimale, seule la valeur minimale sera émise. Par conséquent, la valeur maximale de Maximum sera émise, même si des valeurs beaucoup plus élevées sont saisies.
Ce nœud se trouve également dans la catégorie des nœuds mathématiques. Ce nœud peut être utilisé pour convertir des plages de valeurs. Par exemple, si des valeurs comprises entre 0 % et 100 % sont saisies, des valeurs comprises entre 0,0 et 5,0 peuvent être émises. Les valeurs de Entrée Min et Entrée Max définissent la plage de valeurs entre lesquelles les entrées utilisateur autorisées doivent se situer. Adapter l'intervalle ne limite pas lui-même ces valeurs maximales. Vous pouvez donc à nouveau connecter un nœud Ecrêtage devant l'entrée du nœud de Correspondance des valeurs, de sorte que seules les valeurs comprises entre l'entrée min et l'entrée max soient traitées. L'image suivante en donne un exemple.
Utilisation d'un nœud Adapter intervalle
Dans l'exemple ci-dessus, une valeur en pourcentage est utilisée comme entrée du groupe via une IO Flottant - Intensité - Curseur. Si, par exemple, seules les entrées comprises entre 0 et 100 % doivent être autorisées à cet endroit, nous pouvons connecter un nœud Écrêtage comme dans l'exemple précédent. Les valeurs en pourcentage sont traitées en interne comme des valeurs à virgule flottante, où 100 % correspond à la valeur 1,0. Nous devons donc utiliser la valeur 0.0 pour Minimum (voir numéro 1 dans l'image ci-dessus) et la valeur 1.0 pour Maximum pour le nœud Écrêtage(voir numéro 2). Dans notre exemple, nous ne saisissons pas ces valeurs directement au niveau du nœud, mais nous utilisons des nœuds de valeur, que vous trouverez également dans la section Math du navigateur de ressources. Ce nœud fournit simplement à la sortie du résultat la même valeur que celle qui a été saisie au nœud. Ceci est toujours utile lorsque des valeurs identiques doivent être utilisées sur plusieurs nœuds. Dans ce cas, cette valeur ne doit être modifiée qu'une seule fois au niveau du nœud de valeur et est ensuite directement disponible pour tous les nœuds qui y sont connectés.
Dans notre cas, cela affecte les deux entrées déjà mentionnées pour Entrée Min et Entrée Max au niveau du nœud Correspondance des valeurs. Il faut donc établir les connexions appropriées entre ces entrées et les nœuds de valeur. Une plage d'entrée fixe a été définie et vous pouvez vous concentrer sur les valeurs de la plus petite sortie et de la plus grande sortie, que vous pouvez saisir directement dans Adapter intervalle. Le calcul de la sortie du résultat se fera ensuite selon la règle classique du produit en croix. Les entrées comprises entre 0% et 100% peuvent alors être automatiquement converties en valeurs comprises entre la plus petite et la plus grande sortie.
Dans certains cas, il peut être utile de simuler un comportement en boucle pour les valeurs. Imaginez, par exemple, des valeurs angulaires qui sont automatiquement converties dans la plage de valeurs comprise entre 0° et 359,999°, même si elles sont inférieures à 0° ou supérieures à 360°. Contrairement à la limitation stricte des valeurs d'entrée, comme avec le nœud Écrêtage, les augmentations ou les diminutions d'une valeur d'entrée continuent à se traduire par de nouvelles valeurs ajustées, mais celles-ci se situent également entre des limites fixes. L'entrée de l'angle 400° conduit alors, par exemple, à la valeur de résultat 40°, puisque des rotations complètes de 360° soustraites de 400° donnent un angle résiduel de 40°.
Cette fonction mathématique existe en tant que nœud Modulo dans le groupe des nœuds mathématiques.
Divers exemples de calcul d'un nœud modulo
Comme le montre l'image ci-dessus, le Modulo a deux entrées. Au niveau de l'entrée inférieure, il faut toujours introduire la valeur maximale autorisée. Si vous souhaitez limiter les valeurs d'angle entre 0° et 360°, par exemple, entrez 360. Le Modulo fonctionne généralement avec une limite inférieure de 0, c'est-à-dire qu'il n'autorise que les valeurs comprises entre 0 et la valeur de l'entrée inférieure.
Lorsque vous traitez des angles, notez que de nombreux nœuds mathématiques exigent que les angles soient exprimés en radians. 360° correspondent à la valeur 2*pi. Pour cette conversion, utilisez le nœud Unité angulaire du groupe Nœud de conversion.
À l'entrée supérieure, par exemple, vous transmettez la valeur définie par l'utilisateur au nœud Modulo. À la sortie du résultat, vous obtiendrez toujours des valeurs comprises entre 0 et la valeur de la deuxième entrée. En se référant aux exemples de l'image ci-dessus, les résultats sont créés comme suit :
La valeur de l'entrée 2 est généralement utilisée de manière positive, mais la valeur de l'entrée 1 peut également être négative. Dans notre exemple avec les angles, une entrée de -400° conduirait donc au résultat -40°.
Souvent, l'entrée d'un utilisateur peut être utilisée à plusieurs endroits dans la configuration du nœud. C'est pourquoi les entrées d'un groupe ou d'un actif peuvent également être connectées à plusieurs entrées d'un nœud ou de différents nœuds en même temps. En fonction de la position de ces nœuds dans la configuration, il peut rapidement devenir difficile de s'y retrouver si les connexions s'entrecroisent dans la configuration. Dans ce cas, il peut être utile de détacher les ports d'entrée. Voici un exemple simple.
Dans la configuration ci-dessus, une valeur entière est utilisée plusieurs fois dans la configuration pour définir différentes valeurs initiales pour les fonctions aléatoires. Vous pouvez voir ci-dessous la configuration modifiée où l'entrée de la valeur de départ est utilisée directement au niveau des nœuds correspondants. Cela permet d'éliminer les longues connexions avec le côté gauche du groupe.
Comme le montre l'exemple ci-dessus, la lisibilité et la clarté de la configuration sont améliorées par l'utilisation des valeurs d'entrée directement aux nœuds où elles sont traitées. Pour ce faire, il suffit de faire glisser le nom de l'entrée correspondante du bord gauche du groupe vers la configuration. Un type de nœud spécial sera créé, qui fournira la valeur de l'entrée correspondante. Il est possible de créer autant de nœuds IO flottants que l'on veut dans la configuration.
Avec quelques nœuds supplémentaires, nous pouvons maintenant compléter notre configuration et obtenir un résultat intéressant. Une sélection basé sur bruit crée une sélection aléatoire de polygones sur l'objet subdivisé. Pour ce faire, créez les options Seuil et Inverser en tant qu'entrées utilisateur dans le groupe.
Le résultat de la sélection basé sur bruit est transmis à un nœud de biseau polygone pour extruder ces polygones, en les mettant à l'échelle si nécessaire. Ici, vous pouvez, par exemple, éditer les valeurs des fonctions Décalage et Extrusion intérieure.
Comparez le résultat d'un nœud nouvellement créé avec la géométrie de la sélection basé sur Bruit. Vous obtiendrez ainsi une sélection contenant uniquement les nouveaux polygones créés par le Biseau de polygone. Enfin, si vous passez cette sélection de polygones à un autre nœud de subdivision, pour lequel l'option Lissé est également activée, sa subdivision d'arrondi sera limitée uniquement à ces nouvelles zones géométriques. Connectez la géométrie de sortie à la sortie Géométrie du groupe pour pouvoir également visualiser le résultat du calcul dans les fenêtres de visualisation.
La configuration terminée du groupe de Nœuds de modification
L'effet de la configuration ci-dessus sur un simple cube
Vous trouverez ci-dessous une liste complète de tous les éléments IO que vous pouvez utiliser pour les ressources ou même les groupes dans les configurations de nœuds afin de définir des entrées et des sorties individuelles.
Ces éléments sont utiles lorsque vous souhaitez proposer aux utilisateurs un menu déroulant ou plusieurs modes sous forme de boutons. Par défaut, ces éléments ont chacun trois options de sélection, que vous pouvez renommer à votre guise dans l'éditeur de ressources. Les deux éléments IO renvoient des valeurs entières commençant à 0 pour le premier élément de la liste. Ces valeurs peuvent être converties en n'importe quelle autre valeur, par exemple avec un nœud Commutateur.
Les deux éléments d'énumération de l'éditeur de ressources sont comparés. Sur le côté droit, vous pouvez voir comment les éléments de fonctionnement diffèrent.
Cela vous permet d'ajouter un port de sortie individuel, par exemple, à un groupe. Le type de données de cette sortie n'est pas encore défini, mais peut être défini individuellement via l'éditeur de ressources.
Cet élément fournit une simple option ou une case à cocher, par exemple pour activer ou désactiver une fonction. La sortie peut être utilisée comme une valeur numérique, où 0 est la sortie lorsqu'elle est désactivée et 1 lorsqu'elle est activée. Toutefois, les résultats peuvent également être interprétés comme False (désactivés) et True (activés) et donc évalués directement avec un nœud opérateur booléen, par exemple.
Il s'agit d'un format spécial de données vectorielles destiné exclusivement à transférer les rapports d'aspect et la taille d'une boîte englobante. C'est pourquoi cet élément ne fournit pas d'interface utilisateur. Cet élément peut, par exemple, être connecté à la sortie de la boîte englobante du nœud portant le même nom.
Deux éléments sont disponibles pour saisir et transmettre des informations sur les couleurs : IO - Couleur et IO - Couleur Alpha. Elles sont fondamentalement identiques, sauf que l'option IO - Couleur Alpha inclut un pourcentage supplémentaire pour déterminer l'opacité de la couleur. Les deux éléments fournissent des données vectorielles dont les composantes X, Y et Z représentent les composantes de couleur rouge, verte et bleue et sont stockées sous forme de valeurs à virgule flottante comprises entre 0,0 et 1,0. IO - Couleur Alpha comprend une composante alpha supplémentaire dont la valeur peut également être comprise entre 0,0 et 1,0. Les deux types de données peuvent être lus et traités comme Color ou ColorAlpha, ainsi que Vector3d ou Vector4d.
Une comparaison entre les deux éléments IO Couleur.
Les valeurs à virgule flottante, c'est-à-dire les valeurs numériques comportant également une partie décimale, telles que 3,4151, sont particulièrement souples à utiliser dans les calculs mathématiques ou lorsque des valeurs doivent être saisies avec précision. Ce type de données peut également être lié à des unités, par exemple pour représenter des pourcentages, des angles ou des dimensions. Il existe donc différentes variantes de ce type de données. Dans tous les cas, cependant, vous obtenez de simples valeurs numériques. Seules les unités et les commandes affichées diffèrent. En outre, certains de ces éléments sont déjà limités à une fourchette de nombres, de sorte que, dans certaines conditions, des nombres non arbitraires peuvent être introduits.
Ce type de données est spécifiquement destiné à l'échange d'informations relatives à la géométrie d'un objet. Il s'agit, par exemple, des positions des points d'une surface ou d'une spline, des paires de points connectés aux arêtes, des points qui délimitent les polygones ou des tangentes d'une spline. En raison de la complexité de ce type de données, aucun élément de contrôle n'est fourni. Au lieu de cela, vous devez utiliser les ports de géométrie des nœuds pour transmettre ou accepter des données sur ce port.
Ces éléments permettent d'échanger des valeurs entières. N'utilisez ce type de données que si vous n'avez pas l'intention d'effectuer des calculs plus complexes avec ces valeurs. Sinon, le type de données IO Flottant peut être utilisé. Les valeurs entières sont utiles, par exemple, pour définir un nombre de subdivisions ou de copies.
Une matrice est constituée de différents vecteurs permettant, entre autres, de définir la position, la taille et la rotation d'un système d'axes ou d'un objet dans l'espace. Ce contrôle est donc identique à la section Coordonnées pour les objets.
Les différents vecteurs d'une matrice contiennent la position d'un système d'axes, ainsi que les angles de rotation, les longueurs des axes (taille) et le cisaillement des axes. N'utilisez le composant Matrix.Sh que si vous souhaitez influencer la perpendicularité d'un système d'axes typique.
Il s'agit d'un format de données spécial(Tuple) qui permet de transmettre simultanément deux vecteurs. Ce type de données est destiné au contrôle d'une paire tangente. Chaque vecteur contrôle la direction et la longueur d'une tangente à un point de la spline (s'applique uniquement aux splines de Bézier). Ce type de données n'a pas d'interface utilisateur et n'est donc destiné qu'à connecter les nœuds qui fournissent des informations sur les tangentes.
Cet élément fournit un champ d'entrée de type chaîne de caractères permettant, par exemple, de saisir les noms d'un objet ou d'une sélection sauvegardée.
Comme pour l'élément IO- Chaîne de caractères, un champ est prévu ici pour la saisie d'une chaîne de caractères. En outre, vous trouverez une icône de dossier à droite du champ de texte, qui vous permettra d'ouvrir une boîte de dialogue de fichier. De cette manière, n'importe quel répertoire peut être sélectionné, par exemple, pour charger ou sauvegarder des données.
Les vecteurs sont constitués de plusieurs valeurs à virgule flottante qui permettent de décrire, par exemple, une valeur de couleur RVB, une position dans l'espace ou un vecteur de direction. Les éléments vectoriels suivants sont disponibles :
Cet élément fournit un champ d'entrée pour un numéro d'image afin de définir un point dans le temps au sein d'une animation. Ces informations pourraient être utilisées, par exemple, pour exécuter une fonction ou un calcul uniquement à partir d'un point précis dans le temps.
Sous ce terme, vous trouverez les différents types de données qui ont déjà été décrits ci-dessus en tant qu'éléments individuels. La différence est que les tableaux IO ne peuvent pas fournir d'interface utilisateur. Un tableau correspond à une liste de longueur variable. Plusieurs valeurs d'un certain type de données peuvent être stockées de cette manière. Par exemple, pensez à un tableau IO - Vecteurs - Points, dans lequel toutes les coordonnées des points d'une géométrie peuvent être stockées.
Les tableaux peuvent, par exemple, être créés à l'aide d'un nœud Assembler, d'un nœud Définir tableau ou d'un nœud Remplir tableau lui-même et remplis en ajoutant des valeurs. En général, la plupart des nœuds qui gèrent des valeurs de tableau se trouvent dans le groupe Structures de données du navigateur de ressources.
Étant donné que tous les types de données de tableaux IO ne fournissent pas d'interface directe pour l'entrée de valeurs, ces éléments IO sont principalement intéressants pour les ports qui sont responsables de l'entrée ou de la sortie de tableaux vers des groupes. Voici un exemple simple de création et de sortie d'un tableau.
Dans cet exemple, un groupe de modificateurs de nœuds est utilisé pour extruder les polygones situés dans un rayon de sélection autour d'une position globale (centre de sélection).
Comme vous pouvez le voir dans l'image ci-dessus, nous avons créé des données utilisateur pour IO - Vecteur - Taille et IO - Flottant - Taille afin de pouvoir définir une position et une valeur de rayon dans un groupe de Nœuds de modification. L'effet de la ressource doit être de sélectionner et d'extruder automatiquement tous les polygones dont les points se trouvent dans un rayon de sphère autour d'une position donnée. Techniquement, nous avons mis cela en œuvre comme le montre l'image suivante :
Le dispositif complet pour définir et mettre en œuvre une sélection créée individuellement
Nous utilisons un nœud Géométrie obtenir paramètres " avec le paramètre "Type" " 3D Points" pour obtenir un tableau contenant toutes les positions des points locaux de la géométrie fournie. Il s'agit d'un tableau de vecteurs 3D. Pour pouvoir sortir un tableau entrée par entrée, un nœud Itérer collection(voir le numéro 1 dans l'image) sera connecté. Cela transforme le tableau en un flux de données qui fournit tous les éléments du tableau l'un après l'autre. De cette façon, vous pouvez généralement sortir tous les éléments d'un tableau dans l'ordre.
Les vecteurs individuels du tableau de sortie représentent les positions ponctuelles locales de la géométrie et peuvent être convertis en positions ponctuelles globales en les multipliant par la matrice globale de l'objet d'où provient la géométrie. Le nœud Transformation de vecteur est utilisé à cette fin. La distance entre le point ainsi converti et le centre de sélection par défaut est calculée à l'aide d'un nœud de distance et comparée au rayon de sélection à l'aide de la fonction <=. Si la distance calculée est inférieure ou égale à la valeur par défaut, le nœud de comparaison renvoie la valeur 1 (ou vrai), sinon la valeur 0 (ou faux).
Via un nœud Construire tableau(voir numéro 2), nous pouvons définir un nouveau tableau de données de type Entier, afin d'y conserver les numéros des points à sélectionner. En cliquant sur le bouton Enlever du nœud Construire un tableau, nous pouvons supprimer toutes les entrées pour créer un tableau complètement vide. Au moyen d'un nœud Ajouter éléments en aval (voir point 3), des valeurs entières peuvent maintenant être ajoutées au tableau. Le nombre d'entrées dans le tableau augmente automatiquement de la valeur Quantité. Si le résultat du nœud de comparaison y est connecté, le nouveau tableau est toujours complété par une entrée, uniquement si un point a été trouvé dans le rayon de recherche(résultat = 1). Le numéro d'index de ce point est ainsi ajouté au tableau (voir Connexion entre la sortie Index du nœud Itérer collection et l'entrée Valeurdu nœud Ajouter éléments). De cette manière, un tableau de sélection est créé et peut être utilisé partout. Par exemple, les fonctions de modélisation peuvent être limitées à une sélection.
Dans notre cas, à la fin, seule la sélection de points doit être convertie en une sélection de polygones, de sorte que, par exemple, la commande Extruder puisse être utilisée comme souhaité. Le nœud Transférer sélection est disponible à cet effet.
Ces éléments ne sont pas destinés à transmettre des données, mais à structurer l'interface lors de l'utilisation de plusieurs éléments IO. L'option IO - Groupe permet de créer un groupe dans lequel vous pouvez placer d'autres éléments IO. Un tel groupe peut être complété par des entrées via l'éditeur de ressources. Dans l'interface, le nom du groupe apparaît et les entrées classées sous ce groupe peuvent être rendues visibles ou cachées en développant ou en réduisant le groupe.
UI - Séparateur est une ligne horizontale qui peut être utilisée pour diviser des listes plus longues d'éléments IO et pour séparer visuellement des paramètres connexes dans une plus large mesure. Là encore, l'éditeur de ressources peut être utilisé pour placer un UI - Séparateur à l'endroit souhaité entre les paramètres.
Les deux éléments, IO - Groupe et IO - Séparateur, ne peuvent être créés que dans l'éditeur de ressources.