Live Link bietet Nutzern die Fähigkeit, verschiedene Datenarten aus verschiedenen Quellen zu streamen und diese Daten direkt auf Actors innerhalb ihres Levels anzuwenden. Zur Verbesserung dieser Workflows verwendet Unreal Engine verschiedene Funktionen, mit denen die Anwendung von Live Link-Daten auf die Actors in Ihrem Level optimiert werden soll.
Live Link-Voreinstellungen speichern Ihre Quelleneinstellungen für die spätere Verwendung.
Die LiveLink-Controller-Komponente ermöglicht die Verwendung von LiveLink-Controllern. Diese vereinfachen die Anwendung von Live Link-Informationen auf Ihre Actors. Es wurden mehrere Blueprint-Knoten hinzugefügt, um das Sammeln dieser Daten zu erleichtern.
Die LiveLink-Skelett-Animation-Komponente gibt den OnLiveLinkUpdated-Event-Knoten frei, der bei jeder Live Link-Aktualisierung Informationen über Motive und Quellen abruft und mittels Blueprints eine Reihe anderer Funktionen ausführen kann.
Weitere Informationen zur Aktivierung von Live Link und den Einstellungen Ihrer Verbindungen finden Sie in der Dokumentation zum Live Link-Plugin.
Vor Version 4.23 von Unreal Engine hieß die LiveLink-Skelett-Animation-Komponente Live Link-Komponente.
Live Link-Voreinstellungen
Unreal Engine ruft Live Link-Daten aus einer Reihe von Quellen ab, die im Live Link-Verbindungsfenster erstellt werden. Sobald sie erstellt sind, können diese Quellen als Voreinstellungen gespeichert und über Blueprints mithilfe des Knotens Apply to Client aufgerufen werden.
Über diesen Knoten kann eine Live Link-Voreinstellung geladen werden, wenn Ihre Anwendung gestartet wird.
Live Link-Voreinstellungen können auch über die Voreinstellungen-Schaltfläche im Live Link-Panel oder in den Projekt-Einstellungen aktiviert werden, indem Sie die Live Link-Standardvoreinstellung im Abschnitt Plugins – Live Link des Menüs festlegen. Eine Voreinstellung kann auch per Befehlszeile mit „LiveLink.Preset.Apply Preset=/Game/Folder/MyLiveLinkPreset.MyLiveLinkPreset“ angewendet werden.
Live Link-Komponenten
Live Link-Skelett-Animation-Komponente
Wenn Sie eine Live Link-Skelett-Animation-Komponente zu einem Actor-Blueprint über das Komponenten-Panel hinzufügen, wird sie nicht anderen Komponenten übergeordnet. Sie befindet sich in Ihrem Blueprint und ermöglicht Ihnen den Zugriff auf das Event „Bei Aktualisierung Live Link“.
Das Event „Bei Aktualisierung Live Link“ wird jedes Mal ausgelöst, wenn die Komponente aktualisiert wird, auch innerhalb des Editors.
Der Knoten „On Live Link Updated“ nimmt im Grunde die Position Ihres Tick-Events ein, wird aber ebenfalls im Editor ausgeführt. Wenn Sie zum Beispiel einige Daten im Editor live laufen lassen wollen, unterstützt dieser Knoten das.
Live Link-Controller-Komponente
Die Live Link-Controller-Komponente ist eine Komponente, die sich in Ihrem Charakter-Blueprint befindet und die Fähigkeit bietet, Live Link-Controller zu verwenden. Diese Controller rufen automatisch Daten von Ihrem Live Link-Motiv ab und wenden sie über einen Live Link-Controller auf eine entsprechende Komponente in Ihrem Actor an.
Verwenden eines Live Link-Controllers
Live Link-Controller bieten eine schnelle Methode, Live Link-Daten an einen Actor in Ihrer Szene zu übergeben. Jeder Controller nutzt Daten eines Live Link-Motivs und wendet sie automatisch auf den Actor Ihrer Wahl an. Es gibt drei verschiedene Arten von Controllern, die durch die Rolle definiert werden:
Transform
Kamera
Licht
Nachfolgend finden Sie Details zu den verschiedenen Live Link-Controllern.
Transform
Der Transformation-Controller erfasst schnell Transformationsdaten von einem Live Link-Motiv und wendet diese auf einen Actor in Ihrem Level an.
Dieser Controller bietet die folgenden Optionen:
| Einstellung | Beschreibung |
|---|---|
Welt transformieren | Legt die Transformation der Komponente auf den Welt-Bereich fest. Deaktivieren Sie diese Option, um den lokalen Raum zu verwenden. |
Maßstab verwenden | Verwendet Skalierungsdaten von Live Link. |
Sweep | Sweept die Stammkomponente und prüft auf blockierende Kollisionen, wobei auf dem Weg Überlappungen ausgelöst werden und kurz vor dem Ziel angehalten wird, wenn es blockiert ist. |
Teleportieren | Teleportiert den Physikzustand (wenn die Physikkollision aktiviert ist).
|
Kamera
Der Kamera-Controller wendet Kamera-Einstellungen und Bewegungsdaten direkt von einem Live Link-Motiv mit der Kamera-Rolle auf einen Kamera-Actor in Ihrem Level an.
Zu den Kameraeinstellungen, die animiert werden können, gehören:
Sichtfeld (in Grad)
Seitenverhältnis (Breite/Höhe)
Brennweite
Blende der Kamera in Bezug auf den Blendenwert
Fokusabstand der Kamera in cm (funktioniert nur mit manuellem Fokus)
Projektionsmodus der Kamera (perspektivisch, orthographisch usw.)
Licht
Der Licht-Controller wendet die Licht-Einstellungen direkt von einem Live Link-Motiv mit der Licht-Rolle auf einen Licht-Actor in Ihrem Level an.
Zu den Licht-Einstellungen, die animiert werden können, gehören:
Farbtemperatur (in Kelvin)
Gesamtenergie (in Lux)
Filterfarbe
Innerer Kegelwinkel (in Grad für ein Spotlight)
Äußerer Kegelwinkel (in Grad für ein Spotlight)
Leichter sichtbarer Einfluss (für Punktlicht und Spotlight)
Weicher Radius für die Form der Lichtquelle (für Punktlicht und Spotlight)
Länge der Form der Lichtquelle (für Punktlicht und Spotlight)
Zusätzliche Controller können mithilfe externer Plugins hinzugefügt oder erstellt werden. Weitere Informationen zu externen Plugins finden Sie in der Plugin -Dokumentation.
Anwenden eines Controllers auf einen Actor
Die Anwendung eines Live Link-Controllers beginnt mit dem Hinzufügen der Live Link-Controller-Komponente zu Ihrem Actor:
Für diese Abschnitt müssen Sie eine Verbindung zu einer Live Link-Quelle herstellen. Weitere Informationen zur Verbindung mit Ihrer Quelle finden Sie in der Dokumentation Live Link-Plugin.
Führen Sie folgende Schritte durch, um die Komponente über das Details-Panel hinzuzufügen:
Wählen Sie den Actor in Ihrem Level aus.
Klicken Sie im Details-Panel auf die Schaltfläche + Komponente hinzufügen und suchen Sie nach der Komponente Live Link-Controller.
Wählen Sie anschließend die Komponente aus der Komponentenliste und öffnen Sie das Motiv-Dropdown-Menü. Wählen Sie das Motiv aus der Liste aus, das Sie als Quelle für diesen Actor verwenden möchten. Unreal wählt basierend auf Ihrer Auswahl die zu steuernde Komponente aus. Dies kann bei Bedarf angepasst werden.
Mit eingerichtetem Controller beginnt Ihr Actor, automatisch Daten des ausgewählten Live Link-Motivs zu empfangen.
Allgemeine Blueprint-Knoten
Auf Live Link-Daten kann über eine Reihe von Blueprint-Knoten zugegriffen werden.
Abrufen von Live Link-Motiven
Es kann Situationen geben, in denen Sie eine Liste von Motiven abrufen müssen, die Sie mit dem Knoten Evaluate Live Link Frame verwenden wollen. Wenn das passiert, können Sie Get Live Link Subjects verwenden:
Dies gibt ein Array von Motiven zurück, die von der Funktion „Live Link-Frame auswerten“ als gültig angesehen werden.
Auswerten von Live Link-Frame
Durch Aufrufen der Funktion „Live Link-Frame auswerten“ können Sie die Live Link-Daten abrufen, die dem angegebenen Motiv zugeordnet sind. Mit dieser Funktion erhalten Sie Ausführungs-Pins, die festlegen, ob der aktuelle Frame gültig ist, sowie statische Daten und Frame-Daten, auf die über den Datenergebnis-Output zugegriffen werden kann. Diese Daten werden durch den Typ der Rolle bestimmt, die zur Bewertung des Motivs gewählt wurde.
Das folgende Beispiel zeigt, wie auf die Daten direkt über den Datenstruktur-Pin zugegriffen wird.
Verwenden von Daten aus „Live Link-Frame auswerten“
Durch „Live Link-Frame auswerten“ können verschiedene Blueprint-Funktionen zur Bewertung der bereitgestellten Daten verwendet werden. Die resultierenden Daten hängen von der bewerteten Rolle ab. Wenn die Animation-Rolle ausgewertet wird, sehen Sie Folgendes:
Get Basic Data
Get Curves
Get Metadata
Get Root Transform
Get Transform by Index
Get Transform by Name
Number of Transforms
Transform Names
Get Basic Data
Der Knoten Get Basic Data gibt die Basisstruktur des Motivs zurück, die im aktuellen Motiv-Frame gespeichert ist.
Get Curves
Mit der Funktion Get Curves können Sie alle Blendshapes oder animierten Kurven abrufen. Sie gibt für jeden Eintrag eine Zuordnung des Namens zum Wert zurück.
Sie können Suchen nutzen und einen Namen eingeben, um den Wert einer Kurve abzurufen (oder einen Booleschen Wert verwenden, um zu bestimmen, ob er gefunden wurde oder nicht).
Get Metadata
Die Funktion Get Metadata gibt die Motiv-Metadatenstruktur zurück, gespeichert im Motiv-Frame, den Sie zerlegen können, um Informationen abzurufen:
String-Metadaten sind eine Map für benannte Strings des Motivs. Sie möchten vielleicht beispielsweise den Typ eines Objekts durchlaufen, das als benannter String gestreamt wird. In den Metadaten sind auch der Szenen-Zeitcode und die Szenen-Framerate enthalten, deren Strukturen Sie aufgliedern können, um die benötigten Informationen zu erhalten.
| Output | Beschreibung |
|---|---|
String-Metadaten | Eine Map aus benannten Strings, die zusätzliche Informationen zu einem Frame oder Motiv bereitstellen, zum Beispiel „Typ“: „Kamera“. |
Szenen-Zeitcode | Der dem aktuellen Frame zugeordnete Zeitcodewert. Dies ist nicht unbedingt eindeutig. Beispielsweise führt die Bearbeitung eines einzelnen Frames in MotionBuilder dazu, dass der Zeitcode dieses Frames für mehrere Frames gesendet wird. |
Szenen-Framerate | Framerate, die dem Szenen-Zeitcode entspricht. |
Get Root Transform
Die Funktion Get Root Transform gibt die Stammtransformation für den Motivframe als Live Link-Transformation zurück (oder die Identität, wenn es keine Transformationen gibt).
Dies gibt eine Live Link-Transformation anstatt einer Standardtransformation zurück, da Sie zusätzliche Funktionen darauf aufrufen können (unten aufgeführt):
| Funktion | Beschreibung |
|---|---|
Child-Anzahl | Gibt die Anzahl der Children für eine bestimmte Live Link-Transformation zurück. |
Komponentenraum-Transformation | Gibt den Transformationswert im Stammraum für eine gegebene Live Link-Transformation zurück (relativ zum Stamm Ihres Modells). |
Children abrufen | Gibt ein Array von Child-Live Link-Transformationen für eine gegebenen Live Link-Transformation zurück. |
Parent abrufen | Gibt die Parent-Live-Link-Transformation zurück, wenn eine vorhanden ist, oder eine Identitätstransformation, wenn kein Parent-Element vorhanden ist. |
Hat Parent | Gibt zurück, ob eine gegebene Live Link-Transformation eine Parent-Transformation hat. |
Parent-Bone-Raum-Umwandlung | Gibt den Transformationswert im Parent-Raum für eine bestimmte Live Link-Transformation zurück (wie er intern gespeichert und relativ zum Parent-Bone ist). |
Transformationsname | Gibt den Namen einer angegebenen Live Link-Transformation zurück. |
Abrufen der Transformation nach Index
Die Funktion Transformation nach Index abrufen gibt die Live-Link-Transformation zurück, die in einem Motivframe an einem bestimmten Index gespeichert ist (die Funktion gibt eine Identitätstransformation zurück, wenn der Transformationsindex ungültig ist).
Get Transform by Name
Die Funktion Transformieren nach Name abrufen ähnelt Transformation nach Index abrufen, nimmt aber Transformationsname-Daten auf.
Number of Transforms
Die Funktion Anzahl der Transformationen gibt die Anzahl der Transformationen innerhalb des Motiv-Frames zurück.
Ein Anwendungsfall wäre die Nutzung in Verbindung mit Transformation nach Index abrufen, um eine Schleife auszuführen und jede Ihrer Live Link-Transformationen abzurufen (ähnlich wie im folgenden Beispiel):
Abrufen von Transformationsnamen
Die Funktion Transformationsnamen abrufen gibt ein Array mit den Namen aller Transformationen in einem Frame zurück.
Anwenden einer Live Link-Voreinstellung mit Blueprints
Blueprints mit Live Link werden häufig verwendet, um mit dem Knoten Apply to Client einem Skelett-Mesh eine Live Link-Voreinstellung zur Laufzeit zuzuweisen:
Erstellen Sie zunächst Ihre Live Link-Voreinstellung im Live Link-Panel. Weitere Informationen zu Voreinstellungen finden Sie in der Dokumentation Live Link-Plugin.
Erstellen Sie in Ihrem Charakter-Blueprint eine Referenz auf Ihre Voreinstellung, indem Sie eine neue Variable erstellen und den Variablentyp im Details-Panel auf Live Link-Voreinstellung setzen.
Kompilieren Sie Ihren Blueprint und legen Sie den Standardwert Ihrer neuen Variable auf Ihre gespeicherte Live Link-Voreinstellung fest.
Ziehen Sie Ihre Variable in Ihren Blueprint und wählen Sie Abrufen aus dem Menü aus.
Ziehen Sie von der Variable weg und suchen Sie den Knoten Apply to Client.
Verbinden Sie den Knoten Event Begin Play mit Apply to Client.