Events im Visual Effect Graph

Events

Events werden beim Visual Effect Graph für die Erstellung von visuellen Effekten eingesetzt.

Events

Events sind die Eingaben für den Verarbeitungsablauf eines visuellen Effektdiagramms. Durch diese Ereignisse kann ein visueller Effekt: Das Spawnen von Partikeln starten und stoppen, Von C # gesendete Attributnutzdaten lesen Ereignisse werden im Diagramm als Eingaben für Spawn-Kontexte und Initialisieren verwendet.

Events erstellen

Du kannst Events mithilfe von Ereigniskontexten erstellen. Diese Kontexte haben keine Flow-Eingabe und stellen eine Verbindung zu Spawn- oder Initialize-Kontexten her.

Um einen Ereigniskontext zu erstellen, klicke mit der rechten Maustaste in einen leeren Bereich des Arbeitsbereichs und wählen Sie “Knoten erstellen” und dann “Ereignis (Kontext) auswählen” aus dem Menü “Knotenerstellung”.

Standardevents

Visuelle Effektdiagramme stellen zwei Standardereignisse bereit, die implizit an die Start- und Stop-Flow-Eingaben der Spawn-Kontexte gebunden sind:

OnPlay für die Absicht “Spawn von Partikeln aktivieren” ist implizit an die Eingabe “Start Flow” eines beliebigen Spawn-Kontexts gebunden.
OnStop ist implizit an die Eingabe “Stop Flow” eines beliebigen Spawn-Kontexts gebunden.
Durch das Verbinden von Ereigniskontexten mit den Eingängen “Start” und “Stop Flow” eines Spawn-Kontexts wird die implizite Bindung an die Ereignisse “OnPlay” und “OnStop” entfernt.

Benutzerdefinierte Ereignisse

Benutzerdefinierte Ereignisse können in visuellen Effektdiagrammen mithilfe von Ereigniskontexten erstellt werden.

Um ein benutzerdefiniertes Ereignis zu erstellen, erstelle ein Ereignis über das Menü “Knoten erstellen” und ändere den Namen im Feld “Ereignisname”.

 
EventAttribute-Payloads

Ereignisattribut-Payloads sind Attribute, die an ein Ereignis angehängt sind. Du kannst diese Attribute in Visual Effect Graph mithilfe von Set [Attribute] Event Attribute> Blocks in Spawn Contexts festlegen. Du können sie jedoch auch mit Ereignissen verknüpfen, die von der Szene mithilfe der Komponenten-API gesendet wurden.

EventAttribute-Payloads sind Attribute, die implizit von Events über Spawn-Systeme durch den Graphen wandern und in Initialize Contexts mit Get Source Attribute Operators und Inherit [Attribute] Blocks abgefangen werden können.

 

Standard-VisualEffect-Ereignis

Das standardmäßige visuelle Effektereignis definiert den Namen des Ereignisses, das implizit gesendet wird, wenn ein Reset für eine visuelle Effektinstanz ausgeführt wird (dies kann beim ersten Start oder bei einem Neustart des Effekts geschehen).

Das Standard-VisualEffect-Ereignis wird im Asset-Inspektor für Visual Effect-Grafiken definiert, kann jedoch in jedem Visual Effect-Inspektor für jede Instanz in der Szene überschrieben werden.

GPU-Events

GPU-Ereignisse sind eine experimentelle Funktion des visuellen Effektdiagramms: Sie ermöglichen das Erzeugen von Partikeln, die auf anderen Partikeln basieren. Du kannst diese Option in den Einstellungen für visuelle Effekte aktivieren.

GPU-Events sind Ereigniskontexte, die auf Daten basieren, die von anderen Systemen gesendet werden, beispielsweise wenn ein Partikel stirbt oder unter anderen Bedingungen. Die folgenden Aktualisierungsblöcke können GPU-Ereignisdaten senden:

Trigger Event On Die: Löst N Partikel auf einem anderen System aus, wenn ein Partikel stirbt
Trigger Event Rate: N Partikel pro Sekunde (oder zurückgelegte Strecke), basierend auf einem Partikel aus einem System
Trigger Event always: Löst in jedem Frame N Partikel aus.

Diese Blöcke verbinden sich mit einem GPU-Event-Kontext. Dieser Kontext bezieht sich nicht auf Blöcke, sondern stellt eine Verbindung zu einem Initialisierungskontext eines untergeordneten Systems her.

Um Daten aus dem übergeordneten Partikel zu erfassen, muss das untergeordnete System in seinem Initialisierungskontext auf Quellattribute verweisen, indem der Operator “GetSource Attribute Operator” oder “Inherit Attribute Block” verwendet wird: Das untergeordnete System erbt die Quellposition des Teilchens, das es erzeugt hat, und erbt ungefähr 50% seiner Geschwindigkeit.

Attribute

Ein Attribut ist ein Datenelement, das an Elemente in einem System angehängt ist. Beispielsweise sind die Farbe eines Partikels, die Position eines Partikels oder die Menge an Partikeln, die ein Spawn-System erzeugen soll, alle Attribute.

Systeme können aus Attributen lesen oder in Attribute schreiben, um ein benutzerdefiniertes Verhalten durchzuführen und zwischen Elementen zu unterscheiden.

Ein System speichert Attribute nur dann, wenn es sie benötigt. Dies bedeutet, dass das System keine unnötigen Daten speichert und somit Speicherplatz spart.

Attribute verwenden

Attribute schreiben: Verwende einen Block, um in ein Attribut zu schreiben. Blöcke sind die einzigen Diagrammelemente, die Attribute in das System schreiben können.

Das visuelle Effektdiagramm speichert nur dann ein Attribut, in das Simulationsdaten geschrieben werden, wenn ein späterer Kontext das Attribut liest.

Das bedeutet, dass:

  • Wenn du in “Kontext initialisieren” oder “Kontext aktualisieren” in ein Attribut schreiben, speichert das visuelle Effektdiagramm das Attribut nur in den Simulationsdaten, wenn in einem späteren Aktualisierungs- oder Ausgabekontext das Attribut gelesen wird.
  • Wenn in Ausgabekontexte ein Attribut geschrieben wird, speichert das visuelle Effektdiagramm das Attribut nicht in den Simulationsdaten und verwendet es nur zum Rendern.

Attribute lesen

Attribute schreiben: Verwende einen Block, um in ein Attribut zu schreiben. Blöcke sind die einzigen Diagrammelemente, die Attribute in das System schreiben können.

Das visuelle Effektdiagramm speichert nur dann ein Attribut, in das Simulationsdaten geschrieben werden, wenn ein späterer Kontext das Attribut liest.

Das bedeutet, dass:

  • Wenn du in “Kontext initialisieren” oder “Kontext aktualisieren” in ein Attribut schreiben, speichert das visuelle Effektdiagramm das Attribut nur in den Simulationsdaten, wenn in einem späteren Aktualisierungs- oder Ausgabekontext das Attribut gelesen wird.
  • Wenn in Ausgabekontexte ein Attribut geschrieben wird, speichert das visuelle Effektdiagramm das Attribut nicht in den Simulationsdaten und verwendet es nur zum Rendern.

Attribut lesen

Verwende einen Operator oder einen Block, um aus einem Attribut zu lesen:

Verwende einen Get Attribute Operator.

Verwenden Sie in einem Set Attribute Block verschiedene Kompositionsmodi, die vom vorherigen Wert des Attributs abhängen.

Anmerkungen:

Wenn du aus einem Attribut liest, dass das visuelle Effektdiagramm nicht in den Simulationsdaten gespeichert ist, übergibt das Attribut seinen standardmäßigen konstanten Wert.

Derzeit können nur aus Attributen in den Partikelsystemen lesen. Verwende Spawner Callbacks, um Attribute in Spawn-Systemen zu lesen.

Attributspeicherorte

Jedes System speichert Attribute in einem eigenen spezifischen Datencontainer. Ein Attribut kann aus dem aktuellen Simulationsdatenpool oder aus einem anderen Datenpool lesen, von dem das System abhängig ist.

 

Aktuell

Der aktuelle Attributspeicherort bezieht sich auf den aktuellen Systemdatencontainer, aus dem der Wert gelesen wurde.

Beispielsweise:

  • Partikeldaten aus einem Partikelsystem.
  • Partikeldaten aus einem Partikeldaten-System
  • SpawnEvent-Daten aus einem Spawn-Kontext oder über eine SendEvent-EventAttribute-Payload gesendet.

Quelle

Der Quellattributspeicherort bezieht sich auf den vorherigen Systemdatencontainer, aus dem der Wert gelesen wurde. Aus einem Quellattribut kann nur im ersten Kontext eines Systems nach einer Änderung der Systemdaten gelesen werden. Zum Beispiel kann auf EventAttributes und GPU EventAttributes in Contexts für die Initialisierung von Partikeln / Strips zugegriffen werden.

  • In Partikel initialisieren / Partikelstreifen initialisieren:
    • Aus eingehenden Spawn-Kontexten.
    • Von anderen Partikelsystemen über GPUEvent-Spawn.

Variadische Attribute

Einige Attribute besitzen Variadic-Eigenschaften. Diese Attribute können ein Skalar oder ein Vektor mit unterschiedlichen Dimensionen sein, abhängig von den Komponenten, die Sie zum Simulieren und / oder Rendern benötigen.

Wenn aus einem variadischen Attribut gelesen wird, werden alle anderen impliziten Komponenten mit ihren Standardwerten gelesen.

Beispielsweise kann die Skalierung eines Quad-Partikels mit Vektor2 (als Breite und Länge des Quad) ausgedrückt werden. Um die Skalierung eines Box-Partikels auszudrücken, kann ein Vektor3 (als Breite, Länge, und Tiefe des Würfels) verwendet werden. Wenn verschiedene Attribute festgelegt werden, können  in einer Dropdown-Liste aller Kanalkombinationen nur auf die erforderlichen Kanäle geschrieben werden.

Ein weiteres Beispiel ist die Drehung eines Sprites um seine Normalen. Du benötigst nur die Z-Komponente des Angle-Attributs (AngleZ), sodass AngleX und AngleY nicht gespeichert werden müssen.

Subgraph

Ein Visual Effect Subgraph ist ein Asset, das einen Teil eines Visual Effect Graph enthält, der in einem anderen Visual Effect Graph oder Subgraph verwendet werden kann. Untergraphen werden als ein einzelner Knoten angezeigt.

Untergraphen können in Diagrammen als drei Hauptverwendungen verwendet werden:

  • System-Subgraph: Ein oder mehrere Systeme, die in einem Diagramm enthalten sind
  • Block-Untergraph: Eine Reihe von Blöcken und Operatoren, die zusammen als Block verwendet werden
  • Operator-Untergraph: Eine Gruppe von Operatoren, die zusammengestellt und als Operator verwendet werden.

Mithilfe von Untergraphen können häufig verwendete Knotensätze in einem Diagramm in wiederverwendbare Assets zerlegt und der Bibliothek hinzugefügt werden.

System Subgraphs

Systemuntergraphen sind visuelle Effektgraphen, die in anderen visuellen Effektgraphen verschachtelt sind.

Visuelle Effektgrafiken, die als Untergraphen verwendet werden, werden als Kontext angezeigt, der Folgendes darstellt:

  • Exposed Properties sind im Untergraphen definierte exponierte Eigenschaften
  • Im Untergraphen verwendete Ereignisse.

Erstellen von Systemuntergraphen

Sie können einen System-Subgraphen wie folgt erstellen:

  • Erstellen eines visuellen Effektdiagramms im Projektfenster
  • Wähle ein oder mehrere Systeme in einem visuellen Effektdiagramm aus, wähle im Kontextmenü mit der rechten Maustaste die Option “In Untergraph konvertieren” und speichere das Diagramm-Asset im Dialogfeld “Datei speichern”.
    • Durch das Erstellen eines Untergraphen mit dieser Methode wird der gesamte konvertierte Inhalt durch einen System-Untergraphenknoten ersetzt.

Bearbeiten von Block Subgraphs

Du kannst einen System-Subgraph bearbeiten, indem du ihn im Fenster Visual Effect Graph öffnest:
  • Klicke mit der rechten Maustaste auf den System Subgraph Context und wähle im Kontextmenü Enter Subgraph.

Verwenden eines System Subgraph in einem visuellen Effektdiagramm

Du kannst deinem Diagramm einen System-Subgraph-Knoten hinzufügen, indem du ein visuelles Effektdiagramm aus der Projektansicht in das Fenster des visuellen Effektdiagramms ziehst.

Du kannst Eigenschaften wie in einer Visual Effect Graph-Komponente anpassen, aber du kannst auch Operatoren zum Erstellen benutzerdefinierter Ausdrücke verwenden, um das Verhalten der als Subgraph verwendeten Systeme zu erweitern.

Ereignisse können mithilfe von Ereignis- oder Spawn-Kontexten an die Workflow-Eingänge des System-Subgraph-Knotens gesendet werden.

Block Subgraphs

Block Subgraphs sind spezifische Untergraphen, die nur Operatoren und Blöcke enthalten und als Blöcke in einem anderen visuellen Effektdiagramm oder Untergraphen verwendet werden können.

Erstelle von Block Subgraphs

Du kannst einen Block-Untergraphen wie folgt erstellen:

  • Erstellen eines visuellen Effektuntergraphenblocks im Projektfenster
    • Benutze das Menü: Asset/Create/Visual Effects/Visual Effect Subgraph Block
  • Wähle einen oder mehrere Blöcke und optional Operatoren in einem visuellen Effektdiagramm aus, wähle im Kontextmenü mit der rechten Maustaste die Option “In Subgraph-Block konvertieren” und speichere das Subgraph-Asset im Dialogfeld “Datei speichern”.
    • Durch das Erstellen eines Untergraphen mit dieser Methode wird der gesamte konvertierte Inhalt durch einen Block-Subgraph-Knoten ersetzt.

Bearbeiten von Block Subgraphs

Du kannst einen Blockuntergraphen bearbeiten, indem du ihn im Fenster “Visual Effect Graph” öffnest:

  • Durch Doppelklick auf das Subgraph Asset in der Projektansicht
  • Klicke mit der rechten Maustaste auf den Subgraphenblock und wähle im Kontextmenü die Option Subgraphen eingeben.

Block Subgraphs zeigen einen nicht entfernbaren Kontext mit dem Namen “Block Subgraph” an, in dem Blöcke hinzugefügt werden können.

  • Alle im Kontext vorhandenen Blöcke werden in ihrer Reihenfolge ausgeführt, wenn sie als Untergraph verwendet werden
  • Der Kontext kann mithilfe der folgenden Eigenschaften angepasst werden:
    • Geeignete Kontexte: Bestimme, welche Kontexttypen mit dem Block-Subgraphen kompatibel sind

Block Subgraphs verwenden

Du kannst deinem Diagramm einen Block-Subgraph-Knoten hinzufügen:
  • Durch Ziehen eines Visual Effect Subgraph-Block-Assets aus der Projektansicht in das Visual Effect Graph-Fenster innerhalb des Blockbereichs eines Kontexts.
  • Verwende das Menü Block hinzufügen, indem du den Namen des Block-Subgraph-Assets eingibst.

Anpassen von Block Subgraphs

Du kannst Eigenschaften wie in einem regulären Block anpassen, aber du kannst auch Operatoren zum Erstellen benutzerdefinierter Ausdrücke verwenden, um das Verhalten des als Subgraph verwendeten Blocks zu erweitern.

Operator-Subgraphs

Operator Subgraphs sind spezifische Subgraphs Assets die nur Operatoren enthalten und als Operatoren in einem anderen visuellen Effektdiagramm oder Unterdiagramm bzw. Subgraph verwendet werden können.

Subgraph

Erstellen von Operator Subgraphs

Du kannst einen Operator-Untergraphen wie folgt erstellen:
  • Erstellen eines Subgraph-Operators für visuelle Effekte im Projektfenster
    • Verwende das Menü: Asset/Create/Visual Effects/Visual Effect Subgraph Operator
  • Wähle einen oder mehrere Operatoren und optional Operatoren in einem visuellen Effektdiagramm aus, wähle im Kontextmenü mit der rechten Maustaste die Option “In Subgraph-Operator konvertieren” und speicher das Subgraph-Asset im Dialogfeld “Datei speichern”.
    • Durch das Erstellen eines Subgraphs mit dieser Methode wird der gesamte konvertierte Inhalt durch einen Operator-Untergraphenknoten ersetzt.

Bearbeiten von Operator Subgraphs

Du kannst einen Operator-Untergraphen bearbeiten, indem du ihn im Fenster “Visual Effect Graph” öffnest:
  • Durch Doppelklick auf das Subgraph Asset in der Projektansicht
  • Klicke mit der rechten Maustaste auf den Subgraph Block und wähle im Kontextmenü die Option Subgraph eingeben.

Sie können die Eingabe- und Ausgabeeigenschaften für den Operator über das Blackboard-Fenster einrichten:

  • Du kannst Eingabeeigenschaften erstellen, indem du neue Eigenschaften hinzufügst und deren exponiertes Flag aktivieren.
  • Du kannst können Ausgabeeigenschaften erstellen, indem du neue Eigenschaften hinzufügst und diese in die Ausgabekategorie verschiebst.

Verwenden von Operator Subgraphs

Du kannst deinem Diagramm einen Operator-Subgraph-Knoten hinzufügen:
  • Durch Ziehen eines Visual Effect Subgraph-Block-Assets aus der Projektansicht in das Visual Effect Graph-Fenster innerhalb des Blockbereichs eines Kontexts.
  • Verwende das Menü Block hinzufügen, indem du den Namen des Block-Subgraph-Assets eingibst.

Anpassen von Operator Subgraphs

Du kannst Eigenschaften wie in einem regulären Block anpassen, aber du kannst auch Operatoren zum Erstellen benutzerdefinierter Ausdrücke verwenden, um das Verhalten des als Subgraph verwendeten Blocks zu erweitern.

 

Schlagwörter:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.