Le sous-opérateur Modification quantité permet de modifier le nombre de particules par la génération de particules ou la suppression de particules existantes. En cas de génération de particules, vous pouvez enregistrer les propriétés et les détails de la génération dans des canaux personnalisés créés avec le sous-opérateur Sortie nouveau. La valeur de l'entier utilisé en entrée détermine en outre le nombre de nouvelles particules générées.
Procédure
Modification quantité est un des sous-opérateurs les plus complexes de la boîte à outils Manipulation des données avancée. Pour vous aider à comprendre son fonctionnement, nous proposons l'exemple suivant : Génération simple.
L'utilisation du sous-opérateur Modification quantité exige la connaissance des autres sous-opérateurs. L'objectif de cet exemple est uniquement d'illustrer la façon la plus simple d'utiliser ce sous-opérateur.
Remarque : Dans cette scène, les particules d'origine (parents) se déplacent dans le sens de la flèche de l'icône Source PF, définie par l'opérateur Vitesse standard, tandis que les particules générées se déplacent dans différentes directions.
Pour suivre les explications ci-dessous, ouvrez le fichier inclus
SimpleSpawn.max
.
Exemple : pour utiliser le sous-opérateur Modification quantité :
- Ajoutez un sous-opérateur Modification quantité. Conservez le type Génération et choisissez Entier comme ajout. Reliez ensuite son entrée à un sous-opérateur Scalaire dont le type de sortie est défini sur Entier.
L'entier du sous-opérateur Scalaire détermine l'intensité du processus de génération.
- Créez un canal personnalisé en ajoutant un sous-opérateur Sortie nouveau avec le type de données Booléen pour enregistrer la génération.
- Définissez Sortie nouveau
Ordre d'exécution sur 1. Le paramètre Modification quantité
Ordre d'exécution est automatiquement défini sur 2, afin que le canal soit créé avant l'exécution de Modification quantité.
- Dans la zone Modification quantité
Enregistrer génération pour données, activez Génération actuelle. Cliquez sur le bouton Aucun et sélectionnez le sous-opérateur Sortie nouveau. Cette option enregistre les données générées dans le canal personnalisé.
- Pour voir le processus de génération, changez la vitesse des particules générées (vecteur de vitesse = [25, 0,0], Divergence = 180) et activez Utiliser comme valeur de vitesse.
Le sous-opérateur Vecteur utilisé ici avec Divergence sépare les particules générées les unes des autres et de leur parent.
-
(Nécessaire pour un test de données) Pour filtrer les particules générées des particules d'origine, ajoutez un sous-opérateur Test de sortie. Ce test portera sur les données du canal personnalisé, raison pour laquelle un nouveau sous-opérateur Saisie personnalisée est créé.
Dans sa forme actuelle, l'exemple n'est qu'un sous-ensemble du test Génération ordinaire, à partir duquel vous pouvez créer un processus de génération personnalisé. Par exemple, au lieu d'utiliser le sous-opérateur Scalaire pour définir la quantité supplémentaire à générer, vous pouvez créer vos propres schémas pour calculer la quantité de génération en fonction de la position du parent. Une autre voie à expérimenter est la modification du sous-opérateur Vecteur (qui définit la vitesse des particules générées).
Cet exemple illustre les exigences minimales d'un processus de génération. Le sous-opérateur Modification quantité ne suffit pas à lui seul pour cela. L'objectif ici est donc de fournir une base de travail et des informations de fond. Une fois que vous avez posé la base et vérifié que cela fonctionne (la génération est visible), vous pouvez plus facilement apporter des modifications ou développer cette base.
Interface


- Type
- Détermine si le sous-opérateur Modification quantité crée (génère) des particules ou en supprime. Si vous choisissez Supprimer, les seules commandes disponibles sont Faux pour supprimer/Vrai pour supprimer et Ordre d'exécution. Valeur par défaut : Génération.
- Entier comme quantité/ajout
- L'entrée de type Entier du sous-opérateur Modification quantité définit le nombre de particules générées. Cette option permet de définir si les données entrantes sont considérées comme :
- Quantité : l'entier détermine le nombre de particules qui vont remplacer la particule parent. Il s'agit donc du nombre total de particules, y compris le parent et ses descendants générés. Une valeur de 0 signifie que la particule parent est supprimée, 1 signifie qu'aucune particule n'est générée, etc.
- Additif : l'entier détermine le nombre de particules générées. Une valeur de 0 signifie qu'aucune particule n'est générée, 1 signifie que 1 enfant est créé par particule parent, etc.
- Faux/Vrai pour supprimer
- Cette option est uniquement disponible lorsque Type=Supprimer. C'est l'unique fonction de l'option Supprimer, dans laquelle l'entrée du sous-opérateur est de type Booléen : lorsque la valeur entrante est identique à celle de l'option (faux = 0 ; vrai = 1), les particules de l'événement sont supprimées.
- Réinit. âge particule
- Lorsque cette option est activée, l'âge des particules de l'événement est remis à 0.
- Génération comme nouvel élément dans l'événement
- Toutes les particules ont un canal de données standard "Nouveau dans l'événement" signalant les particules qui viennent d'entrer dans l'événement, soit par naissance soit par transfert à partir d'un autre événement. Les données du canal "Nouveau dans l'événement" sont utilisées par de nombreux opérateurs pour initialiser certaines propriétés des particules. Cette option permet de déterminer si les particules générées doivent être identifiées avec ce canal de données. Lorsque cette option est activée, la particule générée est considérée comme nouvelle, ce qui donne lieu à une certaine initialisation des données par d'autres opérateurs. Lorsqu'elle est désactivée, les particules générées ne sont pas considérées comme nouvelles, ce qui permet d'hériter ces données des particules parent.
Zone Enregistrer génération pour données
Ces commandes permettent d'enregistrer les propriétés et les détails de la génération dans des canaux personnalisés. Ces canaux doivent être préalablement créés à l'aide du sous-opérateur Sortie nouveau. Les données contenues dans les canaux personnalisés sont mises à jour lors de l'exécution du sous-opérateur Modification quantité. Par conséquent, pour obtenir ces données, vous devez demander les données des canaux personnalisés (généralement avec le sous-opérateur Entrée personnalisée) dans le flux de données, avec un numéro d'ordre d'exécution supérieur à celui du sous-opérateur Modification quantité.
Pour utiliser une de ces commandes, activez-la, cliquez sur le bouton associé, puis utilisez la boîte de dialogue Sélectionner canal de données pour spécifier le canal.
- Est parent actuel
- Donnée de type Booléen indiquant si une particule a généré d'autres particules.
- Génération actuelle
- Donnée de type Booléen indiquant si une particule a été générée récemment.
- ID parent
- Donnée de type Entier contenant l'ID de génération de la particule parent d'une particule. Cet ID peut être utilisé dans le sous-opérateur Entrée personnalisée, lequel peut recevoir un canal de nombres entiers pour récupérer des données à partir d'autres particules (option Utiliser I2 comme ID de particule). La valeur est -1 si une particule ne résulte pas d'une génération par sous-opérateur Modification quantité. Par ailleurs, vous pouvez utiliser les mêmes canaux de données entre plusieurs sous-opérateurs Modification quantité.
- ID de dernière génération
- Donnée de type Entier contenant l'ID de génération de la dernière particule générée. Les données ne sont valables que pour les particules qui ont été parent au moins une fois, pas nécessairement dans l'étape d'intégration actuelle, mais plutôt de façon globale dans le temps.
- ID de première génération
- Donnée de type Entier contenant l'ID de la première particule générée au sens global. Cette particule est la plus ancienne parmi les particules générées à partir de la particule parent. De nouveau, les données ne sont valables que pour les particules qui ont été parent au moins une fois. Le canal de données est uniquement disponible si le canal Nombre total de générations (voir ci-dessous) est défini.
- ID de première génération actuel
- Donnée de type Entier contenant l'ID de la première particule générée dans l'étape d'intégration en cours.
- ID d'enfant de même parent ancien/précédent
- Donnée de type Entier contenant l'ID de naissance de la particule générée/enfant de même parent précédente. Ces données peuvent être utilisées pour définir des chaînes de générations d'enfants de même parent. Le canal de données est uniquement disponible si les canaux Nombre total de générations et ID de dernière génération sont définis. Les données sont continues d'une étape d'intégration à l'autre. Par conséquent, si une particule a des générations sur plusieurs étapes d'intégration, vous pouvez établir la chaîne complète d'enfants de même parent pour la particule parent.
- Nombre de générations actuel
- Donnée de type Entier indiquant le nombre de particules qui ont été générées par particule parent au cours de l'étape d'intégration actuelle.
- Nombre total de générations
- Donnée de type Entier indiquant le nombre total de générations de particules pour une particule parent.
- Ordre de génération actuel
- Donnée de type Entier indiquant l'ordre des générations dans les étapes d'intégration, de 0 à N-1, où N est le nombre de générations de particules pour une particule parent dans l'étape d'intégration en cours. Les données peuvent être utilisées pour ajuster l'emplacement des particules dans l'espace, par exemple pour disperser les particules à partir de la position de la dernière particule générée dans l'étape d'intégration en cours jusqu'à l'emplacement actuel du parent, créant ainsi un positionnement similaire à l'opérateur Génération standard.