Types de données

Le jeu d'outils de manipulation avancée des données de Flux de particules utilise différents types de données ; en voici une liste complète, avec des illustrations de chacun en tant que connecteur d'entrée de sous-opérateur :

Booléen - Bleu

Complexe - Cyan

Egal - Vert

Entier - Indigo

Matrice - Rouge foncé

Objet - Orange

Paire - Rose

Quaternion - Jaune

Réel - Rouge

Temps - Vert menthe

Vecteur - Violet

Les couleurs sont utilisées par les connecteurs d'entrée et de sortie de la fenêtre de données et, dans certains cas, par des boutons permettant des entrées alternatives à la spécification de valeurs dans l'interface ordinaire.

La plupart des types de données sont explicites. Les paragraphes ci-dessous décrivent ceux qui le sont moins :

Types de données Paire et Complexe

Certains sous-opérateurs génèrent des données pour lesquelles le format Vecteur, Entier ou Temps ne convient pas parfaitement. Par conséquent, deux types de données "artificiels" ont été ajoutés :

Paire = {Vecteur + Entier}

Complexe = {Vecteur + Entier + Temps} (pas un nombre complexe au sens conventionnel).

Voici une présentation de situations utilisant les types Paire et Complexe :

Sous-opérateur Objet - option Position du point.

L'une des entrées est de type Paire = {Vecteur + Entier}, le vecteur indiquant la position en coordonnées locales de l'objet et l'entier étant l'index de l'objet, tel qu'il est défini par le sous-opérateur Sélectionner un objet. L'index de l'objet est nécessaire car le sous-opérateur Objet peut utiliser plusieurs objets à la fois. S'il n'y a qu'un objet de référence à utiliser, définissez l'entier sur 0. Pour rappel, les index dans la fenêtre de données sont en base 0 (ils commencent à 0). C'est différent de MAXScript, où les index sont en base 1. Par conséquent, si vous avez plusieurs objets de référence définis dans le sous-opérateur Sélectionner un objet, leurs index sont donc 0, 1, 2, etc.

Sous-opérateur Géométrie - option Point le plus proche

La sortie est de type Paire = {Vecteur + Entier}, le nombre entier étant un index composé d'un index d'objet et d'un index de face, tandis que le vecteur est l'emplacement en coordonnées de face locales. Pour le calcul du point le plus proche, l'opérateur parcourt tous les objets de référence définis par le sous-opérateur Sélectionner un objet et recherche la face la plus proche ainsi que le point le plus proche sur la surface de cette face. Les coordonnées locales de la face utilisent les arêtes de la face comme vecteurs de base.

Sous-opérateur Géométrie - option Point de collision

La sortie est de type Complexe = {Vecteur + Entier + Temps}, les entrées Entier et Vecteur ayant la même signification que ci-dessus, tandis le Temps désigne l'heure de la collision.

Sous-opérateur Géométrie - options Aire de la face et Sélection de face

Cette option peut être utilisée pour calculer la surface d'une face d'un objet ou déterminer l'état de sélection d'une face. Il semble suffisant pour cela de fournir comme index l'index composé (index de l'objet + index de la face). Cependant, le sous-opérateur utilise une entrée de type Paire. L'objectif est de simplifier la mise en relation avec l'option Point le plus proche, qui utilise une sortie de type Paire. Si l'index de l'objet et l'index de la face sont créés différemment, vous pouvez utiliser un sous-opérateur Convertir pour créer des données de type Paire ; utilisez simplement un vecteur zéro comme autre composant du type Paire.

Sous-opérateur Géométrie - options Couleur de point, Dégradé de couleur du point, Auto-illumination du point, Mapping de points, Gradient de mapping de points, Index de matériau du point, Normale du point, Opacité du point, Position du point, Sélection adoucie du point, Vitesse du point

Une des entrées est de type Paire = {Vecteur + Entier}, les entrées Entier et Vecteur ayant la même signification que dans l'option Point le plus proche.

Sous-opérateur Géométrie - option Point aléatoire de la surface

La sortie est de type Paire, avec la même signification que dans l'option Point le plus proche.

Sous-opérateur Géométrie - option Point aléatoire du volume

La sortie est de type Paire = {Vecteur + Entier}, le vecteur identifiant la position en coordonnées univers et l'entier étant l'index de l'objet utilisé comme espace de volume.

Type de données Egal

Le seul sous-opérateur à produire des données de type Egal est le sous-opérateur Paramètre. Le sous-opérateur Paramètre est particulièrement utile pour définir (ou permettre à l'utilisateur de définir) une même valeur de paramètre pour plusieurs sous-opérateurs. Très souvent, ce paramètre commun est exposé plus tard dans l'interface.

Un exemple simple : vous souhaitez créer un opérateur Données qui place des particules de façon aléatoire sur la surface d'un objet et définit une vitesse initiale aléatoire. Vous allez utiliser le sous-opérateur Géométrie (Point aléatoire de la surface) pour le positionnement et le sous-opérateur Vecteur pour définir la vitesse, avec un Ecart fixé à 360 degrés pour étaler aléatoirement la direction.

Les deux sous-opérateurs utilisent le paramètre Valeur de départ aléatoire. Naturellement, vous aimeriez exposer le paramètre Valeur de départ aléatoire de sorte que l'utilisateur puisse intervenir dans la configuration du chaos. Mais il pourrait sembler étrange d'avoir deux paramètres Valeur de départ aléatoire dans l'interface. Par conséquent, vous pouvez relier ces deux paramètres des sous-opérateurs Géométrie et Vecteur à un seul sous-opérateur Paramètre de type Valeur de départ Unicité. Vous pourrez alors exposer la valeur de départ aléatoire du sous-opérateur Paramètre.

Le type de données Egal possède des sous-types : Réel, Entier, Temps, Sync et Valeur de départ. Chacun utilise une nuance de vert différente. Le sous-opérateur Paramètre offre plusieurs types de sortie : Angle, Flottant, Pourcentage, Univers (tous de type Réel), Entier, Temps, Sync. animation (type Sync) et Valeur de départ Unicité (type Valeur de départ). Angle, Flottant, Pourcentage et Univers ont ceci de différent qu'ils sont présentés à l'utilisateur dans l'interface utilisateur, ils sont tous de type Réel. Vous ne pouvez relier la sortie Paramètre qu'aux entrées E correspondantes, ce qui est généralement assez évident : si vous reliez la valeur de départ aléatoire d'un sous-opérateur, le sous-opérateur Paramètre doit aussi avoir un type Valeur de départ Unicité.

Il est possible de se passer du sous-opérateur Paramètre en utilisant la technique standard de mise en relation par script de 3ds Max pour relier les paramètres des sous-opérateurs au lieu de les relier à un sous-opérateur Paramètre. Toutefois, cette technique est plus longue à configurer, n'offre pas une aussi bonne référence visuelle que le sous-opérateur Paramètre et peut souffrir de problèmes d'enregistrement/chargement et de clonage.

Index composé

Parfois, il est nécessaire de réunir deux nombres entiers en une seule valeur, lorsque, par exemple, un nombre entier est utilisé comme un index composé = { index d'objet et index de face/sommet }. Vous pouvez utiliser le sous-opérateur Convertir pour a) créer un index composé à partir de données de type Entier ou b) extraire l'index d'objet ou l'index de face/sommet d'un index composé. Un index composé n'est pas un nouveau type de données, c'est un moyen d'inclure davantage d'informations dans un canal de données de type Entier.