Was ist Datasmith Runtime?
Datasmith Runtime ist eine Sammlung von Datasmith-Funktionen, die zur Laufzeit (im Gegensatz zu einem In-Editor-Workflow) in einer auf Unreal Engine basierenden Anwendung verfügbar sind. Sie können diese Funktionen verwenden, um Anwendungen zu erstellen, die .udatasmith
-Dateien importieren und mit Blueprints manipulieren können.

Datasmith Direct Link ist in einer kompilierten, auf der Unreal Engine basierenden Anwendung unter Verwendung von Datasmith Runtime und Blueprints zugänglich.
Mit Datasmith Runtime können Sie benutzerdefinierte Anwendungen erstellen, die Datasmith Direct Link nutzen oder Datasmith-Daten auf Abruf als Teil eines iterativen 3D-Workflows visualisieren.
Aktivieren Sie die folgenden Plugins in Ihrem Projekt, um mit Datasmith Runtime zu arbeiten:
- Datasmith Content
- Datasmith Importer
- Datasmith Runtime
Datasmith Runtime wird offiziell in der Unreal Engine 4 und Unreal Engine 5 unter Windows und MacOS unterstützt. Datasmith Runtime funktioniert zwar auch unter Linux, allerdings ist dies experimentell und es können Instabilitäten und Performance-Probleme auftreten.
Verwendung von Datasmith Runtime mit Blueprints
Datasmith Runtime stellt eine Vielzahl von Datasmith-Funktionen und Importoptionen über mehrere Blueprint-Knoten zur Verfügung. Nachfolgend sind die gebräuchlichsten aufgeführt:

Die gebräuchlichsten Datasmith-Runtime-Blueprint-Knoten.
Make Datasmith Runtime Import Options
Stellt mehrere Importparameter zur Verfügung und konvertiert sie in eine Datenstruktur:

Inputs | Beschreibung |
---|---|
Build Hierarchy | Bestimmt, ob die Hierarchie der Actors aufgebaut wird. Die Wahl einer detaillierteren Hierarchie erhöht die Lade- und Renderzeit.
|
Build Collision | Bestimmt die Art der Kollision, die für Komponenten verwendet wird.
|
Collision Type | Bestimmt den Kollisionstyp, der für statische Meshs verwendet wird.
|
Import Metadata | Liest und importiert Metadaten für Actors. Erhöht die Ladezeit. |
Der Input Tesselation Options wird derzeit nicht verwendet.
Set Import Options
Legt den Wert der ausgewählten Importoptionen für Datasmith-Inhalte mithilfe eines Datasmith Runtime Actor fest. Verwendet einen Datasmith-Runtime-Actor als Target und Datasmith Runtime Import Options als Wert.

Load File
Lädt die .udatasmith
-Datei, die sich im angegebenen Dateipfad befindet. Erfordert einen File Path und einen Datasmith Runtime Actor als Inputs.

Load File from Explorer
Öffnet ein Datei-Browser-Fenster, sodass Sie zu einem Speicherort navigieren und eine .udatasmith
-Datei auswählen können. Erfordert einen Datasmith Runtime Actor als Input. Ein Default File Path ist optional.

Obwohl es sowohl mit Windows- als auch mit Mac-Betriebssystemen im Play In Editor (PIE) funktioniert, funktioniert Load File from Explorer zur Laufzeit nur mit Windows.
Get Direct Link Proxy
Gibt ein Interface zu einer Direct Link-Verbindung zurück, die als Direct Link Proxy bezeichnet wird. Dies ist der erste Schritt zur Erstellung einer Datasmith Direct Link-Verbindung.

Get List of Sources
Ruft eine Liste der Datasmith-Direct-Link-Quellen ab. Erfordert einen Direct Link Proxy als Input.

Open Connection with Index
Öffnet eine Direct-Link-Verbindung mit der Quelle, die sich an dem angegebenen Indexwert befindet. Erfordert einen Datasmith Runtime Actor und einen Source Index als Input.

Close Connection
Schließt eine offene Direct-Link-Verbindung, die mit einem angegebenen Datasmith Runtime Actor verbunden ist.

Laden von Datasmith-Inhalten zur Laufzeit
Mit Datasmith Runtime können Sie Datasmith-Inhalte in einer kompilierten Anwendung laden und dabei auf die Hierarchie und die Actor-Eigenschaften zugreifen.
Bild für Großansicht anklicken.
So laden Sie Datasmith-Inhalte mit Blueprints:
-
Erstellen Sie einen neuen Actor Blueprint, der den Ankerpunkt für die Datasmith-Inhalte enthält. Klicken Sie dazu mit der rechten Maustaste in den Inhaltsbrowser und wählen Sie im Kontextmenü Blueprint Class aus. Wählen Sie im Fenster Pick Parent Class die Option Actor aus und benennen Sie die neue Blueprint-Klasse DatasmithActor. Doppelklicken Sie auf den neuen Blueprint, um den Editor zu öffnen.
Dieser Anker wird als Ursprungspunkt für den importierten Datasmith-Inhalt dienen. Wenn Ihr Inhalt in Ihrer Quellanwendung vom Ursprungspunkt versetzt ist, wird die Unreal Engine diese Versetzung vom Anker beibehalten, wenn der Inhalt importiert wird.
-
Wählen Sie die Registerkarte Event Graph und entfernen Sie jedes Event außer BeginPlay. Ziehen Sie eine Verbindung vom Event BeginPlay und fügen Sie den Knoten Spawn Actor From Class hinzu. Öffnen Sie das Dropdown-Menü Class und wählen Sie DatasmithRuntimeActor. Machen Sie den Return Value zu einer Variablen und benennen Sie sie Anchor.
-
Spawn Actor erfordert eine Transformation, um den Anchor zu spawnen. Klicken Sie mit der rechten Maustaste links von Spawn Actor und fügen Sie einen Make Transform-Knoten hinzu. Verbinden Sie den Output von Make Transform mit dem Spawn Transform-Pin auf Spawn Actor.
-
Um den Blueprint abzuschließen, klicken und ziehen Sie vom Ausführungs-Pin des Set-Knotens und fügen Sie einen Load File from Explorer-Knoten hinzu. Verbinden Sie eine Referenz zur Anchor-Variable mit dem Datasmith Runtime Actor-Input.
-
Speichern und Kompilieren Sie den Blueprint. Fügen Sie eine Kopie Ihres Anchor-Blueprints zum Level hinzu und drücken Sie Play zum Testen.
Die Unreal Engine wird ein Dateiexplorer-Fenster öffnen und Sie auffordern, eine Datei auszuwählen.
Erstellen eines Datasmith-Direct-Link mit Blueprints
Sie können auch zur Laufzeit eine Datasmith-Direct-Link-Verbindung zwischen einer oder mehreren Quellanwendungen und Ihrem Unreal-Engine-Projekt mit Datasmith Runtime öffnen.
- Beginnen Sie damit, einen neuen Actor-Blueprint zu erstellen, der den Ankerpunkt für Ihren Datasmith-Inhalt enthält. Doppelklicken Sie auf den neuen Blueprint, um den Editor zu öffnen.
- Ähnlich wie im vorherigen Beispiel wählen Sie die Registerkarte für den Event Graph und entfernen Sie jedes Event außer Event BeginPlay. Ziehen Sie eine Verbindung von Event BeginPlay und fügen Sie den Knoten Spawn Actor From Class hinzu. Öffnen Sie das Dropdown-Menü Class und wählen Sie DatasmithRuntimeActor.
-
Eine Transformation ist erforderlich, um den Anker zu spawnen. Klicken Sie mit der rechten Maustaste links von Spawn Actor und fügen Sie einen Make Transform-Knoten hinzu. Verbinden Sie den Output von Make Transform mit dem Spawn Transform-Pin auf Spawn Actor.
-
Als nächstes benötigen Sie einen Direct Link Proxy, der als Verbindungspunkt zwischen Ihrer Anwendung und Ihrer Quellanwendung fungiert. Ziehen Sie eine Verbindung vom Set-Knoten und erstellen Sie einen Get Direct Link Proxy. Machen Sie den Output zu einer Variablen und benennen Sie sie Direct Link Sources Proxy. Setzen Sie sie auf Public.
-
Klicken Sie auf die Plus-Schaltfläche (+) im Abschnitt Functions des My Blueprints-Panels, um eine neue Funktion zu erstellen. Benennen Sie sie DirectLinkUpdate. Sie werden diese neue Funktion verwenden, um die Direct-Link-Verbindung zur Laufzeit auszulösen.
-
Beginnen Sie damit, eine Kopie Ihrer Direct Link Proxy-Variable abzurufen. Ziehen Sie eine Linie von der Variable und erstellen Sie einen Get List of Sources-Knoten. Machen Sie die Ausgabe zu einer Variable, um die Liste der Direct-Link-Quellen zu halten, und machen Sie diese Variable öffentlich.
-
Ziehen Sie die zuvor erstellte Anchor-Variable aus dem My Blueprint-Tab in die Direct-Link-Update-Funktion. Ziehen Sie eine Linie vom Output und geben Sie Set Import Options ein, um diesen Knoten auszuwählen und einzufügen.
-
Klicken Sie mit der rechten Maustaste und erstellen Sie einen Make Datasmith Runtime Import Options-Knoten, und ziehen Sie dann eine Verbindung vom Output zum Import Options-Input.
-
Beenden Sie die Funktion, indem Sie eine Linie von Set Import Options ziehen und einen Open Connection with Index-Knoten erstellen. Dies nimmt einen Anker und einen Source Index als Input entgegen. Verbinden Sie die Referenz zum Anker mit dem Target-Input.
-
Klicken Sie auf das Plus (+) neben Variables, um eine neue Variable zu erstellen. Nennen Sie sie SourceIndex und nutzen Sie den Typ Integer.
-
Verbinden Sie die neue Variable mit dem Source Index-Input am Open Connection with Index-Knoten. Ein Indexwert von 0 wird mit der ersten Quelle in der Liste verbunden.
-
Klicken Sie abschließend auf die Funktion DirectLinkUpdate in My Blueprints und aktivieren Sie Call In Editor im Details-Panel. Diese Option macht die Funktion zur Laufzeit in den Details des Anchor-Objekts verfügbar.
Bild für Großansicht anklicken.
- Speichern und Kompilieren Sie. Der fertige Blueprint sollte wie das folgende Beispiel aussehen:
Bild für Großansicht anklicken.
Starten Sie Ihre Quellanwendung und führen Sie das Projekt aus, indem Sie auf die Play-Schaltfläche klicken. Wählen Sie Ihren Anker im World Outliner aus und klicken Sie auf die Direct Link Update-Schaltfläche im Details-Panel. Klicken Sie dann auf die Synchronize with Direct Link-Schaltfläche in Ihrer Quellanwendung. Sie werden sehen, dass Ihr Datasmith-Inhalt in Ihrem Level erscheint, wobei die im Blueprint angegebenen Importoptionen verwendet werden.
Das Deaktivieren der Option Use Less CPU when in Background ermöglicht es der Engine, den 3D-Viewport zu aktualisieren, wenn das Unreal-Engine-Fenster nicht fokussiert ist und wenn ein Pawn im Level nicht in Besitz genommen ist. Diese Option befindet sich in Editor Preferences unter General > Performance.