Dans de nombreux cas, vous souhaiterez que plusieurs émetteurs d'un même système interagissent entre eux pour créer l'effet désiré. Cela signifie généralement qu'un émetteur génère des données, puis que d'autres émetteurs écoutent ces données et exécutent un certain comportement en réaction à ces données. Dans Niagara, cela se fait à l'aide de Événements et de Gestionnaires d'événements. Les Événements sont les modules qui génèrent des événements spécifiques qui se produisent au cours de la vie d'une particule. Les Gestionnaires d'événements sont des modules qui écoutent les événements générés, puis déclenchent un comportement en réponse à cet événement.
Actuellement, les événements avec des simulations de processeur graphique ne fonctionnent pas. Les événements ne fonctionnent qu'avec la simulation d'unité centrale.
Évènements
Afin d'utiliser les événements, assurez-vous d'activer les identifiants persistants requis dans les Propriétés d'émetteur de vos émetteurs.
Comme les événements se produisent de manière dynamique au fur et à mesure que la particule vieillit, les événements sont ajoutés au groupe Mise à jour de particule. Si vous cliquez sur le Plus (+) à côté de Mettre à jour la particule, vous verrez une section appelée Événements dans laquelle vous pouvez ajouter des modules d'événement à la pile.
Il existe plusieurs types de modules d'événement disponibles :
- Localisation
- Mort
- Collision
Événement de localisation
Lorsque vous placez un module Générer un événement de localisation dans le groupe de Mise à jour de particule de votre émetteur, chaque particule créée dans cet émetteur génère des données de localisation pendant son cycle de vie. Vous pouvez ensuite définir un Gestionnaire d'événements pour recevoir ces données de localisation et déclencher un autre comportement.
Par exemple, si vous souhaitez créer un effet de traînée pour une fusée de feu d'artifice, vous pouvez placer un module Générer un événement de localisation dans le groupe Mise à jour de particule de votre émetteur de fusée. Ensuite, l'émetteur de traînée peut créer des particules qui suivent la fusée en utilisant les données de localisation.
Cliquez sur l'image pour l'agrandir.
Événements de mort
Lorsque vous placez un module Générer un événement de mort dans le groupe Mise à jour de particule de votre émetteur, chaque particule créée dans cet émetteur générera un événement à la fin de sa vie. Il existe de nombreuses façons d'utiliser ces données. Vous pouvez déclencher l'effet de particule d'un autre émetteur lorsque les particules du premier émetteur meurent, ou vous pouvez créer des réactions en chaîne où chaque émetteur déclenche son effet lorsque les particules de l'émetteur précédent meurent. Vous pouvez également combiner les événements Localisation et Mort pour créer des interactions complexes.
Pour reprendre notre exemple de feux d'artifice, vous pouvez générer un effet d'explosion qui se déclenchera à la fin de la vie de la particule de fusée. L'événement Localisation détermine l'emplacement de la particule de la fusée, c'est-à-dire l'endroit où se produit l'explosion. L'événement Mort détermine le moment où la durée de vie de la particule se termine, c'est-à-dire le moment où l'effet d'explosion est déclenché.
Cliquez sur l'image pour l'agrandir.
Événements de collision
Lorsque vous placez un module Générer un événement de collision dans le groupe de Mise à jour de particule de votre émetteur, les particules génèrent un événement lorsqu'elles entrent en collision avec un Acteur, comme un maillage statique ou un maillage squelettique. Par exemple, si vous souhaitez transformer l'effet de feu d'artifice en un effet d'arme, vous pouvez faire en sorte que l'explosion se produise lorsque les particules de la fusée entrent en collision avec un maillage statique ou squelettique.
Cliquez sur l'image pour l'agrandir.
Vous devez ajouter un module Collision à un émetteur avant de pouvoir ajouter un Générer un événement de collision à cet émetteur. Cela permet aux particules de l'émetteur d'entrer en collision avec des objets dans le monde.
Gestionnaires d'événements
Les Gestionnaires d'événements se composent de deux parties : Les Propriétés du gestionnaire d'événements, et un Recevoir un événement. Pour chaque événement auquel vous souhaitez que l'émetteur réponde, vous ajouterez un élément Propriétés du gestionnaire d'événements, et un module Recevoir un événement.
Si vous cliquez sur le Plus (+) à côté de Propriétés de l'émetteur, vous pourrez ajouter une étape Gestionnaire d'événements à votre émetteur.
Cliquez sur l'image pour l'agrandir.
Dans Propriétés du gestionnaire d'événements, définissez la Source de l'événement à l'aide d'un menu déroulant qui répertorie tous les modules de Génération d'événements disponibles. Ensuite, vous pouvez choisir quelles particules sont affectées par l'événement, combien de fois l'événement se produit par image, et si l'événement génère des particules, vous pouvez choisir combien sont générées.
Cliquez sur l'image pour l'agrandir.
Après avoir défini les propriétés du Gestionnaire d'événements, cliquez sur le Plus (+) à côté de Gestionnaire d'événements pour ajouter un module Recevoir un événement. Il doit correspondre au module d'événement généré que vous avez placé dans le groupe Mise à jour de particule de l'émetteur qui génère l'événement.
Cliquez sur l'image pour l'agrandir.
Par exemple, si vous avez placé Générer un événement de localisation dans un émetteur, vous devez sélectionner le module Recevoir un événement de localisation pour votre gestionnaire d'événements.
Cliquez sur l'image pour l'agrandir.