Die folgenden Abschnitte bieten Details zu spezifischen Problemen, die Datasmith während der Szenenkonvertierung behandelt. Das Verständnis dieser Probleme kann Ihnen helfen, die Ergebnisse zu verstehen, die Datasmith produziert, und mit Ihrem Inhalt im Unreal Editor zu arbeiten.
Sie können die beiden auf dieser Seite verwendeten Projekte von Sketchfab herunterladen:
- "Richard's Art Gallery - Audio Tour" von shinymagic ist lizenziert unter Creative Commons Attribution.
- "Vintage fan" von Noah ist lizenziert unter Creative Commons Attribution.
Einheiten und Maßstab
In der Unreal Engine werden alle Entfernungen immer in Zentimetern gemessen. Andere 3D-Designanwendungen bieten jedoch typischerweise eine Auswahl an Maßeinheiten. Wenn Sie in Ihrer Quellanwendung eine andere Maßeinheit verwenden, kümmert sich Datasmith automatisch um die Anpassung des Maßstabs Ihrer Szene, sodass Ihre Geometrie in der Unreal Engine genau in der gleichen realen Größe und an den richtigen Positionen im 3D-Raum erscheint. Sie müssen nichts an Ihrer Arbeitsweise in Ihrer Quellanwendung ändern.
Wenn Sie beispielsweise Zoll als Maßeinheit in Ihrer Quellanwendung verwenden, wird ein Objekt, das in Ihrer ursprünglichen Szene zehn Einheiten lang ist, in der Unreal Engine 25,4 Welteinheiten lang sein.
![]() |
![]() |
| Quelle | Nach dem Import |
Wenn eine Szenenhierarchie Parents mit uneinheitlichen Maßstäben und benutzerdefinierten Drehpunkt-Transformationen enthält, die auf der Ebene einzelner Objekte kompensiert werden, kann die Komplexität der Koordinatensystemkonvertierungen dazu führen, dass die Ergebnisse in Unreal Engine nicht mit Ihrer ursprünglichen Szene übereinstimmen. Wenn Sie auf dieses Problem stoßen, können Sie es möglicherweise lösen, indem Sie zu Ihrer ursprünglichen Szene zurückkehren und die Transformationen in Ihrer Szenenhierarchie vereinfachen.
Namen und Labels
Datasmith erkennt Namensinformationen über die Geometrie in Ihrer Quellanwendung und verwendet diese Informationen so weit wie möglich für die Assets und Actors, die es erstellt. Der genaue Prozess ist für jede Anwendung oder jedes Dateiformat etwas anders, und die Ergebnisse in der Unreal Engine können leicht von Ihrer Quellanwendung abweichen, aber das ultimative Ziel ist es, Ihnen die Möglichkeit zu geben, Ihre Inhalte nach dem Import zu finden und zu verwalten.
Für statische Meshs werden Sie feststellen, dass der Name des Assets im Inhaltsbrowser, der Dateiname des Assets auf der Festplatte und der Name des Actors im Level oft unterschiedlich sind.
-
Content Browser label - Datasmith generiert das Label für jedes Statisches-Mesh-Asset im Inhaltsbrowser basierend auf den Namensinformationen, die es in Ihrer Quelldatei findet, falls vorhanden. Einige unterstützte Anwendungen und Dateiformate erlauben es, dass mehrere Objekte mit demselben Namen existieren können. Wenn dies der Fall in Ihrer Szene ist, können Sie feststellen, dass mehrere Assets im Inhaltsbrowser mit dem gleichen Label enden.
-
Filename -Der Dateiname jeder Asset-Datei auf der Festplatte muss jedoch eindeutig sein. Daher benennt Datasmith jede Asset-Datei mit einem eindeutigen Bezeichner, den es aus der Quellanwendung extrahiert.
-
Actor name - Jedes Mal, wenn Datasmith einen Actor in einem Level platziert, versucht es, diesem Actor genau den gleichen Namen zu geben, den das entsprechende Objekt in Ihrer Quelldatei hatte, falls vorhanden. Wenn kein eindeutiger Name gefunden werden kann, wird dasselbe Label aus dem Inhaltsbrowser verwendet, um den Actor zu benennen. Wenn bereits ein anderer Actor im Level mit diesem Namen existiert, macht Datasmith den Actor-Namen eindeutig, indem es ein numerisches Suffix inkrementiert.
Beachten Sie, dass es einen Unterschied zwischen den Labels gibt, die Sie für Statisches-Mesh-Assets im Inhaltsbrowser sehen, und den Namen der Dateien, die Datasmith für diese Assets auf der Festplatte generiert. Dies sollte für die meisten Zwecke transparent sein, während Sie im Editor arbeiten. Wenn Sie jedoch Blueprint- oder Python-Scripting verwenden möchten, um mit Ihren Assets oder Ihrer Datasmith-Szene zu arbeiten, müssen Sie sich dieser Unterscheidung bewusst sein.
Zuwendungsrichtung von Dreiecken
Um die bestmögliche Leistung zur Laufzeit zu erzielen, entfernt die Unreal Engine alle Dreiecke, die voraussichtlich nicht sichtbar sein werden. Dadurch werden keine GPU-Zyklen für das Rendern dieser Dreiecke benötigt. Insbesondere geht die Engine davon aus, dass alle Objekte eine Dicke haben. Alle Dreiecke, die von der Kamera weg zeigen, werden als Rückseite dieses Objekts betrachtet und in der Ansicht von der Vorderseite des Objekts verdeckt. Dies wird Back-Face Culling genannt und ist eine Optimierungstechnik, die im 3D-Rendering häufig verwendet wird.
Einige Designanwendungen machen jedoch keinen Unterschied zwischen der Vorder- und Rückseite einer Oberfläche und rendern Oberflächen unabhängig davon, von welcher Seite aus Sie diese betrachten. Wenn Sie in Ihrem Design-Tool arbeiten, sind Sie sich möglicherweise nicht immer der Ausrichtung einer gegebenen Oberfläche bewusst. Dies kann dazu führen, dass die Oberflächennormale, die die Richtung senkrecht zur Oberfläche ist, nach innen oder weg von der Richtung zeigt, aus der Sie die Oberfläche betrachten möchten. Dies kann dazu führen, dass Sie planare, einwandige Geometrie ohne jegliche Dicke erstellen.
Nach dem Import Ihrer Szene kann dies dazu führen, dass einige Teile Ihrer Szene aus bestimmten Blickwinkeln in der Unreal Engine unsichtbar sind. Es kann sogar so aussehen, als ob diese Teile Ihres Modells nicht importiert wurden; jedoch ist die Wahrscheinlichkeit groß, dass ihre Oberflächennormalen von der Kamera wegzeigen, die Sie zur Betrachtung der Szene verwenden. Wenn Sie das Modell drehen, könnten Sie feststellen, dass diese Oberflächen plötzlich erscheinen.
In der folgenden Szene (links) scheinen zum Beispiel die Decke und die Enden der Rohre zu fehlen, obwohl die Geometrie korrekt importiert wurde. Das Aktivieren der Two Sided-Option für die Materialien lässt die Oberflächen erscheinen (siehe unten für Details).


Dies kann am besten in der Quellanwendung gehandhabt werden. Beachten Sie die folgenden Vorschläge:
-
Wir empfehlen dringend, alle Objekte mit Dicke zu modellieren, wenn sie von allen Seiten sichtbar sein müssen, und sicherzustellen, dass die Normalen nach außen zeigen.
-
Wenn Sie wissen, dass Ihr Objekt nur von einer Seite betrachtet werden muss, können Sie das fehlende Mesh korrigieren, indem Sie die Normale der Oberfläche in Ihrer Quellanwendung umkehren und die Szene erneut importieren. Dies lässt die Oberfläche einseitig, kehrt jedoch zumindest die Ausrichtung der Oberfläche um, sodass sie korrekt erscheint, wenn sie in der Unreal Engine aus der gewünschten Richtung betrachtet wird.
-
Einige Modellierungsanwendungen, wie Rhino, 3ds Max, Cinema 4D und SketchUp, bieten Ansichtsmodi, die es einfacher machen, rückseitige Dreiecke zu finden. Siehe die Dokumentation Ihres Modellierungswerkzeugs für Details.
Wenn Sie das Problem jedoch im Unreal Editor beheben möchten, ohne zu Ihrer Quellszene zurückzukehren, könnten Sie auch die folgenden Optionen in Betracht ziehen:
-
Sie können die Ausrichtung der Dreiecke im Statisches-Mesh-Editor umkehren, sodass sie in die andere Richtung zeigen. Siehe Modellierungsmodus – Übersicht. Das gleiche Problem bleibt jedoch bestehen, wenn diese Dreiecke von der anderen Seite sichtbar sind. Dies könnte eine gute Lösung für etwas wie eine Decke sein, die nur von innen gesehen wird, aber nicht für eine Innenwand, die von beiden Seiten gesehen werden kann. Beachten Sie, dass Sie alle Änderungen, die Sie im Statisches-Mesh-Editor vorgenommen haben, verlieren, wenn Sie dieses Stück Geometrie in Ihrer Quellszene jemals ändern und Ihr Datasmith-Szene-Asset reimportieren. Wenn Sie also aus einem anderen Grund Ihre Geometrie ändern müssen, stellen Sie sicher, dass Sie gleichzeitig die Ausrichtung der Flächen in SketchUp korrigieren.
-
Sie können das Material im Material-Editor zweiseitig machen. Dies bewirkt, dass die Engine die Oberfläche rendert, wenn sie von beiden Seiten gesehen wird. Obwohl dies zunächst wie eine gute Lösung klingt, tendiert dies dazu, visuelle Artefakte zu erzeugen, wenn es mit Static oder Stationary Beleuchtung verwendet wird, da beide Seiten der Oberfläche denselben Raum in der Light-Map-Textur nutzen. Wenn Ihr Material eine Material-Instanz ist, suchen Sie im Details-Panel des Material-Editors nach General > Material Property Overrides > Two Sided. Alternativ können Sie diese Eigenschaft im Details-Panel des Material Editor finden.
Bild für Großansicht anklicken.
-
Möglicherweise haben Sie kein Problem mit der Sichtbarkeit der Fläche selbst, sondern nur mit Licht, das durch das Objekt dringt – wie eine Decke, die das Licht eines darüber liegenden direktionalen Lichts nicht korrekt blockiert. Um dies zu beheben, konfigurieren Sie den Statisches-Mesh-Actor so, dass er Schatten von beiden Seiten wirft. Suchen Sie im Details-Panel nach der Einstellung Lighting > Shadow Two Sided.
Bild für Großansicht anklicken.
Die Unreal Engine bietet mehrere Möglichkeiten, Ihre Szene zu beleuchten. Die Methode, die die beste Laufzeitleistung und typischerweise die gleichmäßigste und realistischste Verteilung der indirekten Beleuchtung bietet, ist die gebakte Beleuchtung. Um diesen Ansatz in der Unreal Engine zu verwenden, geben Sie den Lichtern in Ihrer Szene eine Mobility-Einstellung von entweder Static oder Stationary und verwenden dann ein Werkzeug im Unreal Editor namens Lightmass, um die Beleuchtung für die Szene zu erstellen. Dies berechnet das Licht, das jedes Objekt in der Szene von diesen statischen und stationären Lichtquellen trifft, und speichert es in einer speziellen Art von Textur, die als Light-Map bezeichnet wird. Zur Laufzeit wird diese Beleuchtungsinformation von der Light-Map-Textur jedes Objekts auf dessen Oberfläche angewendet.
Damit dieses System funktioniert, muss jeder Scheitelpunkt in einem statischen Mesh einer eindeutigen Koordinate im 2D-Raum seiner Light-Map-Textur zugeordnet werden. Diese Zuordnung wird als UV-Set oder UV-Kanal bezeichnet. Darüber hinaus muss dieser 2D-Koordinatenraum so angeordnet sein, dass keine zwei Dreiecke im Mesh sich im 2D-Texturraum überlappen. Wenn zwei Dreiecke im Mesh demselben Bereich der 2D-Textur zugeordnet sind, kann Lightmass kein einzigartiges Muster von Licht und Schatten für jedes dieser Dreiecke speichern. Dies führt zu seltsamen Beleuchtungsartefakten zur Laufzeit.
Um sicherzustellen, dass alle Ihre statischen Meshs bereit sind, statische Beleuchtung zu empfangen, ruft Datasmith automatisch das automatische UV-Auspacksystem des Unreal Editors für jedes importierte statische Mesh auf. Dieser Prozess fügt jedem statischen Mesh zwei neue UV-Sets hinzu:
-
Eines ist ein einfaches Auspacken der Dreiecke, aus denen das Mesh besteht, in eine flache Darstellung im 2D-Raum. Dies zerlegt das Mesh in mehrere kleinere „Inseln“, die jeweils einen verbundenen Abschnitt der Mesh-Oberfläche darstellen.
-
Die Inseln in der ersten Light-Map werden dann neu angeordnet und in eine Anordnung gebracht, die jegliche Überlappung vermeidet und den verschwendeten Platz um die Inseln minimiert. Dies ist das endgültige Layout, das für die Light-Map des Objekts verwendet wird, wenn Sie die Beleuchtung für Ihr Level erstellen.
Dann richtet Datasmith das Statisches-Mesh-Asset automatisch so ein, dass das zweite generierte UV zum Speichern und Anwenden von Light-Maps verwendet wird.
Wenn Sie 3ds Max verwenden und bereits UV-Kanäle eingerichtet haben, die Sie für Ihre Light-Maps verwenden möchten, lesen Sie die Anleitung Datasmith für 3ds Max.
Kollisionen und Physik
Standardmäßig richtet Datasmith keine Physik für die von ihm erstellten Statisches-Mesh-Assets ein. Sie können die Physik für Ihre statischen Meshs im Unreal Editor nach dem Import einrichten; für Details siehe Einrichten von Kollisionen mit statischen Meshs oder Einrichten von Kollisionen mit statischen Meshs in Blueprint und Python.
Wenn Sie mit 3ds Max arbeiten, können Sie Ihre eigene benutzerdefinierte Geometrie in 3ds Max modellieren und den Datasmith-Importer automatisch diese Geometrie den Statisches-Mesh-Assets zuweisen lassen, die er erstellt. Für Details siehe die Seite Datasmith für 3ds Max.
Lichter
Datasmith importiert Lichtquellen aus Dateiformaten, die sie unterstützen, und konvertiert sie automatisch in den am besten geeigneten Lichttyp, der von der Unreal Engine unterstützt wird: typischerweise ein Punktlicht, Scheinwerferlicht, Rechteckiges Bereichslicht oder Direktionales Licht.
Bereichs-, Flächen- und Volume-Lichter
Einige Anwendungen, wie 3ds Max und Cinema 4D, unterstützen Lichter, die von 2D-Formen oder 3D-Volumes ausgestrahlt werden. Diese Arten von Lichtern haben kein exaktes Gegenstück in der Unreal Engine. Dies schließt mental-ray-Bereichslichter, V-Ray und Corona-Flächen-, -Scheiben-, -Kuppel- und -Kugellichter und so weiter ein. Wenn Datasmith eines dieser Bereichslichter importiert, ahmt es das Verhalten des Lichts mit einer speziellen, benutzerdefinierten Blueprint-Klasse namens DatasmithAreaLightMesh nach.


Dieses Blueprint kombiniert im Wesentlichen eine automatisch generierte emissive Oberfläche mit einem automatisch generierten Rechtecklicht, Punktlicht oder Scheinwerferlicht:
- Die Aufgabe der emissiven Oberfläche besteht darin, die sichtbaren, physischen Grenzen des Lichts im 3D-Raum des Levels und in den Reflexionen von anderen Oberflächen darzustellen.
- Die Aufgabe des Rechtecklichts, Punktlichts oder Scheinwerferlichts besteht darin, das tatsächliche Licht in die Szene zu emittieren.
Sie können die Form, Größe, Farbe und Intensität des emissiven Glühens sowie die Eigenschaften des Licht-Actors steuern. Wählen Sie den DatasmithAreaLightMesh-Actor im Level Viewport oder World Outliner aus und verwenden Sie die Einstellungen in der Kategorie Light des Details-Panels. Zum Beispiel:
Bild für Großansicht anklicken.
Einige Einstellungen, wie Color und Intensity, beeinflussen sowohl das emissive Glühen als auch den Licht-Actor.
Das Ergebnis dieses Setups ist ein Licht, das eine sichtbare Präsenz in der Szene hat und die umliegenden Objekte beleuchtet. Im Gegensatz zu Offline-Renderings, die Sie in Ihrer Quellanwendung durchführen könnten, wird das tatsächliche Licht, das Ihr DatasmithAreaLightMesh in das Level emittiert, jedoch von einem einzelnen Punkt und nicht von der gesamten Oberfläche ausgestrahlt, wenn Ihr DatasmithAreaLightMesh ein Scheinwerferlicht oder ein Punktlicht verwendet.
Die emissive Oberfläche strahlt derzeit kein Licht in die Szene aus, unabhängig davon, ob Sie Ihre Beleuchtung mit Lightmass baken oder dynamische Beleuchtung verwenden. Nur die Punktlicht- oder Scheinwerferlicht-Komponente beleuchtet tatsächlich die umliegenden Objekte im Level.
Materialien
Der Datasmith-Importprozess erstellt ein neues Material-Asset im Unreal-Engine-Projekt, um jede unterschiedliche Menge an Geometrie-Oberflächeneigenschaften darzustellen, die er in der importierten Szene erkennt. Obwohl das Ziel der Szenentransformation darin besteht, Oberflächeneigenschaften mit bestmöglicher Wiedergabetreue zu übertragen, müssen Sie diese Materialien nach dem Import wahrscheinlich anpassen. Sie können auf jedes Material-Asset doppelklicken, um es zu bearbeiten.
Die meisten der Material-Assets, die Sie im Materials-Ordner finden, sind Material-Instanzen. Das bedeutet, dass Sie beim Bearbeiten der Material-Instanz eine voreingestellte Liste von Einstellungen sehen, die durch ihr Parent- oder „Master“-Material bestimmt werden. Im Inhaltsbrowser können Sie sehen, ob ein Material eine Material-Instanz ist.
Bild für Großansicht anklicken.
Für weitere Informationen darüber, was Material-Instanzen sind und wie man mit ihnen arbeitet, siehe Instanced Materials und Erstellen und Verwenden von Material-Instanzen.
Jede Material-Instanz hat auch ein Parent-Material: eine andere Art von Material-Asset, das ein Knoten-Diagramm ähnlich einem Blueprint enthält. Dieses Diagramm bestimmt die tatsächlichen Operationen, die auf der GPU ausgeführt werden, wenn die Unreal Engine eine Oberfläche rendern muss, auf die das Parent-Material oder eine seiner Material-Instanzen angewendet wurde. Die Art und Weise, wie das Diagramm des Parent-Materials aufgebaut ist, steuert auch die Einstellungen, die in seinen Material-Instanzen sichtbar sind, und wie diese Einstellungen verwendet werden.
Datasmith weist Ihren Material-Instanzen je nach Quellanwendung unterschiedliche Parent-Materialien zu, basierend auf den folgenden Prinzipien:
-
In den meisten Fällen weist Datasmith jeder Material-Isntanz ein vorbestehendes Parent-Material zu, das als Teil des Datasmith-Plugins enthalten ist. Typischerweise sind die vordefinierten Einstellungen, die von diesen Parent-Materialien sichtbar gemacht werden, den Materialerstellungseinstellungen in Ihrer Quellanwendung sehr ähnlich.
Sie können diese offengelegten Einstellungen in jeder Material-Instanz, die Datasmith in Ihrem Projekt erstellt, frei bearbeiten. Jedes von Datasmith angebotene Parent-Material bietet eine unterschiedliche Reihe von Eigenschaften:
- Datasmith_Color - Dieses Parent-Material wird für Volltonfarben und texturierte Oberflächen verwendet, hauptsächlich beim Import von CAD-Modellen. Siehe Das Datasmith-Farbmaterial unten.
- SketchUpMaster - Dieses Parent-Material wird für alle aus SketchUp importierten Oberflächen verwendet. Siehe die Anleitung zur Interoperabilität SketchUp Pro.
- RevitMaster - Dieses Parent-Material wird für alle aus Revit importierten Oberflächen verwendet. Siehe die Anleitung zur Interoperabilität Revit.
-
Wenn Sie Inhalte aus 3ds Max oder Rhino importieren, kann es sein, dass Datasmith auch neue Parent-Materialien in Ihrem Projekt im Ordner
Materials/Mastererstellt. 3ds Max bietet einen wesentlich umfangreicheren Workflow zur Materialerstellung als die meisten anderen Quellanwendungen und einen, der konzeptionell den Materialdiagrammen der Unreal Engine ähnelt. Daher ist Datasmith in der Regel in der Lage, neue Parent-Materialien zu erstellen, die den benutzerdefinierten Materialien in 3ds Max sehr nahe kommen, anstatt voreingestellte Parent-Materialien wiederzuverwenden, die ein voreingestelltes Diagramm und eine voreingestellte Liste von offengelegten Einstellungen haben. In diesem Fall erstellt Datasmith in der Regel immer noch Material-Instanzen für diese benutzerdefinierten Parent-Materialien. Anschließend wendet es diese Material-Instanzen auf Ihre Statisches-Mesh-Assets und die Statisches-Mesh-Actors in Ihrer Szene an. In den meisten Fällen sollte das Ändern der Eigenschaften der Material-Instanzen ausreichen, um Ihnen ein gutes Maß an Kontrolle über die gerenderten Ergebnisse zu geben. Für einige Arten von 3ds-Max-Materialien kann es sein, dass Datasmith die Erstellung der Material-Instanzen überspringt. In diesem Fall weist es einfach das neue Parent-Material Ihren Statisches-Mesh-Assets und Actors zu.
Wenn Sie das tatsächliche Materialdiagramm ändern möchten, das eine Material-Instanz verwendet, um zu bestimmen, wie die Oberfläche basierend auf diesen Eigenschaften schattiert wird, müssen Sie das Parent-Material duplizieren und die Eigenschaften in Ihrem Duplikat ändern. Für Details zu diesem Prozess siehe Modifizieren eines Datasmith-Hauptmaterials.
Eine weitere Option, anstatt mit den von Datasmith erstellten Materialien zu arbeiten, besteht darin, das von Datasmith erstellte Material vollständig durch ein anderes physikalisch basiertes Material zu ersetzen. Dies könnte ein Material sein, das Sie selbst im Unreal Editor erstellen oder von einem Drittanbieter stammt.
Das Datasmith-Farbmaterial
Viele computergestützte Design/CAD-Anwendungen verwenden einfache Oberflächenfarben, um Geometrie zu schattieren. Datasmith bringt diese Oberflächen in der Regel als Instanzen des Datasmith_Color-Materials nach Unreal.
-
Die Farbe dieses Materials ist in der Regel so voreingestellt, dass sie genau einer Farbe aus Ihrer Quellszene entspricht. Wenn Sie diese Materialien in der Unreal Engine verwenden, achten Sie besonders auf die Helligkeit der Farbwerte. Designwerkzeuge erlauben manchmal sehr helle Oberflächenfarben – sogar reines Weiß – die in der Natur nicht oft vorkommen. Sie müssen diese Werte möglicherweise erheblich reduzieren, damit Ihre Beleuchtung realistisch aussieht.
-
Datasmith kann in der Regel die Opazität Ihrer Quellmaterialien berücksichtigen. Wenn eine Oberflächenfarbe in Ihrer Quellszene auf halbtransparent eingestellt ist, wie z. B. eine Glasscheibe, bringt Datasmith deren Opazität in den Alpha-Kanal der Farbeinstellung. Wenn Sie den Alpha-Kanal verwenden möchten, um ein zuvor nicht transparentes Material im Unreal Editor halbtransparent zu machen, müssen Sie auch den Mischmodus des Materials ändern. Erweitern Sie im Abschnitt General die Gruppe Material Property Overrides, aktivieren Sie die Option Blend Mode und setzen Sie den Wert auf Translucent.
-
Das Datasmith_Color-Parent-Material ermöglicht es Ihnen auch, drei verschiedene Arten von Textur-Maps zu verwenden: eine Streu-Map, die die Grundfarbe der Oberfläche liefert (die Farbeinstellung überschreibt), eine Normal-Map, die feine Oberflächendetails liefert, und eine Transparenz-Map, die es ermöglicht, dass verschiedene Teile derselben Oberfläche unterschiedliche Opazitätswerte haben. Datasmith kann diese Textur-Map-Einstellungen verwenden, wenn es diese Arten von Textur-Maps aus Ihrer Quellanwendung exportieren kann. Wenn Sie eine Datasmith_Color-Instanz mit einer flachen Farbe haben und diese Textur-Maps verwenden möchten, um den Realismus Ihrer Oberfläche zu erhöhen, sollten Sie diese Einstellungen aktivieren und Textur-Assets zuweisen. Wenn Sie eine der Map-Einstellungen aktivieren, wird Ihnen unter „Texture Parameter Values“ eine neue Einstellung angeboten, in der Sie die gewünschte Textur festlegen können.
Es könnte jedoch besser sein, zu lernen, wie man sein eigenes Material von Grund auf neu erstellt, um andere physikalisch basierte Eigenschaften des Unreal-Engine-Renderers zu nutzen, die vom Datasmith_Color-Parent-Material nicht bereitgestellt werden, wie z. B. die Roughness- und Metallic-Eigenschaften. Siehe Physikalisch basierte Materialien.
Animationen
Wenn Ihre Quellszene Objekte mit animierten 3D-Transformationen enthält – Objekte, deren Verschiebungs-, Rotations- und/oder Skalierungswerte sich im Laufe der Zeit ändern – kann Datasmith diese Animationen in Ihr Unreal-Engine-Projekt importieren. Es erstellt eine neue Level-Sequenz, die einen Track für jedes animierte Objekt in der Szene enthält, und speichert diese Level-Sequenz im Animations-Ordner neben Ihrem Datasmith-Szene-Asset. Sie können diese Level-Sequenz verwenden, um die Animation im Unreal Editor oder zur Laufzeit in der Unreal Engine abzuspielen.
Zum Beispiel sind in dieser 3ds-Max-Szene die Abschnitte dieses Garagentors animiert, sich entlang einer Spline zu bewegen, und gleichzeitig ist die Kamera animiert, sich um das Objekt zu drehen.
Nach dem Importieren können Sie auf das Level-Sequenz-Asset im Inhaltsbrowser doppelklicken, um es in der Sequencer-UI zu öffnen und die Animation abzuspielen.
In diesem Video beispielsweise ist der Level-Viewport so eingestellt, dass er den Blick von der Kamera in der Datasmith-Szene zeigt, so dass das animierte Ergebnis genauso aussieht wie das Original in 3ds Max.
Es gibt einige wichtige Dinge, die bei diesem Workflow zu beachten sind:
-
Datasmith importiert keine Animationskurven. Stattdessen wird für jedes Frame in der ursprünglichen Quellanimation ein Keyframe für jedes animierte Objekt gebakt, das die aktuelle Transformation dieses Objekts enthält.
-
Datasmith verarbeitet keine Animationen von Unterobjekten, Mesh-Deformationen, Objekteigenschaften oder Skelett-Rig-Animationen. Es verarbeitet nur Animationen, die die Gesamtverschiebung, Drehung oder Skalierung eines Szenenobjekts im 3D-Raum ändern.
Weitere Informationen zu Level-Sequenzen und zur Arbeit in der Sequencer-UI finden Sie in der Dokumentation zum Sequencer-Editor.
Die Unterstützung für den Import von Animationen ist derzeit auf Szenen beschränkt, die aus 3ds Max, Cinema 4D, VRED, Deltagen und glTF-Dateien importiert wurden. (Anweisungen zum Einfügen von Animationen aus einer 3ds-Max-Szene in Ihre exportierte Datasmith-Datei finden Sie unter Exportieren von Datasmith-Dateien aus 3ds Max.)
Rendering von Kamera-Animationen
Wenn Ihre Quellszene eine animierte Kamera enthält, wird die von Datasmith erstellte Level-Sequenz einen Track für den entsprechenden CineCameraActor in Ihrem Unreal-Engine-Level enthalten. Dieser Track enthält Keyframes, die die 3D-Transformationen dieser Kamera speichern, während sie sich im 3D-Raum bewegt und dreht. Wenn Sie diesen CineCameraActor im World Outliner auswählen und die Level-Sequenz im Unreal Editor abspielen, sehen Sie, dass das Vorschaufenster der Kamera im Level-Viewport die Animation aus der Perspektive dieser Kamera wiedergibt.
Wenn Sie jedoch die Level-Sequenz als Filmdatei oder Bildsequenz auf der Festplatte aus der Perspektive der animierten Kamera rendern müssen, müssen Sie zuerst einen Camera Cut-Track zur Level-Sequenz hinzufügen und Ihre animierte Kamera zu dieser Kameraschnittspur hinzufügen.
-
Doppelklicken Sie auf Ihre Level-Sequenz, um sie in der Sequencer-UI zu öffnen.
-
Klicken Sie auf die Schaltfläche + Track und wählen Sie dann Camera Cut Track aus dem Menü aus.
Bild für Großansicht anklicken.
-
Klicken Sie auf die Schaltfläche + Camera auf dem neuen Camera Cuts-Track und wählen Sie die Kamera aus, deren Perspektive Sie verwenden möchten. Wenn Sie eine Kamera verwenden möchten, die bereits in der Level-Sequenz animiert ist, können Sie diese aus der Liste Existing Binding auswählen.
Bild für Großansicht anklicken.
Wenn Ihre Level-Sequenz viele animierte Spuren enthält, kann es schwierig sein, die gewünschte Kamera in der Liste Existing Binding zu finden. In diesem Fall können Sie Ihre Kamera stattdessen aus der Liste New Binding auswählen oder Ihren CineCameraActor aus dem World Outliner auf die neue Camera Cuts-Spur in der Sequencer-UI ziehen.
-
Ihr CineCameraActor wird in der Kameraschnittspur durch einen Block in der Zeitleiste dargestellt. Falls erforderlich, ziehen Sie die linken und rechten Begrenzungen dieses Blocks, um sie mit dem Anfang und Ende der Animation in Einklang zu bringen.
Bild für Großansicht anklicken.
-
Beim nächsten Rendern der Level-Sequenz wird jedes Bild aus der Perspektive der Kamera in der Kameraschnittspur gerendert.
Sie können mehrere verschiedene CineCameraActors zur Kameraschnittspur hinzufügen, um das Rendern automatisch zu verschiedenen Zeiten zwischen ihnen hin- und herschalten zu lassen.
Für weitere Informationen siehe auch Arbeiten mit Kameraschnitten und Take Recorder.
Verwenden von Animationen in mehreren Levels
Jede Level-Sequenz enthält Verweise auf Actors innerhalb eines einzelnen spezifischen Levels. Wenn Sie Datasmith verwenden, um eine Szene zu importieren, die Animationen enthält, wird die Level-Sequenz Verweise auf die animierten Actors in dem Level enthalten, das Sie zum Zeitpunkt des Imports Ihrer Szene geöffnet haben.
Wenn Sie später dasselbe Datasmith-Szene-Asset in ein anderes Level einfügen, kann die Level-Sequenz dieselben Actors in diesem neuen Level nicht finden. Die Track-Namen werden im Sequencer rot angezeigt, und das Abspielen der Sequenz mit dem neuen Level hat keine Wirkung. Sie haben einige Möglichkeiten, dies zu beheben:
-
Sie können die Level-Sequenz aktualisieren, um auf die Kopien der Actors im neuen Level zu verweisen.
Mit Ihrem neuen Level geöffnet, klicken Sie auf das Symbol für Allgemeine Einstellungen in der Sequencer-Werkzeugleiste und wählen Sie Fix Actor References aus dem Menü.
Bild für Großansicht anklicken.
Die Actor-Tracks sollten zu ihrer üblichen Farbe zurückkehren. Speichern Sie dann Ihre Änderung an der Level-Sequenz.
Die Level-Sequenz funktioniert immer nur mit einem Level zur gleichen Zeit. Wenn Sie sie dem neuen Level zuweisen, wird sie nicht mehr mit dem alten funktionieren.
-
Sie können das Level-Sequenz-Asset im Inhaltsbrowser duplizieren, bevor Sie seine Actor-Referenzen wie oben beschrieben fixieren. Auf diese Weise haben Sie eine Level-Sequenz, die im ursprünglichen Level funktioniert, in das Sie Ihren Inhalt importiert haben, und eine andere, die in Ihrem neuen Level funktioniert.
Wenn Sie Ihr Datasmith-Szene-Asset reimportieren, wird nur die ursprüngliche Level-Sequenz mit Änderungen an der Animation in der Quellszene aktualisiert. Möglicherweise müssen Sie Ihr Duplikat neu erstellen und seine Actor-Referenzen erneut fixieren.
-
Wenn Sie dieselbe importierte Level-Sequenz-Animation in mehreren Levels verwenden müssen, sollten Sie die Verwendung von Sublevels in Betracht ziehen. Sie können Ihre Datasmith-Szene in ein leeres Level importieren und dann dieses Level als Sublevel in jedes der Levels einfügen, in denen Sie die Animation abspielen möchten. Weitere Informationen darüber, was Sublevels sind und wie man sie verwendet, finden Sie unter Verwalten mehrerer Levels.
Animations-Timing und Frame-Genauigkeit
Das Abspielen einer komplexen Animation, die viele Tracks und Keyframes enthält, kann manchmal zu Rucklern und „Pops“ führen, da die Wiedergabe Anpassungen für Inkonsistenzen zwischen der Framerate der Animation und der Anzahl der von der Unreal Engine gerenderten Bilder pro Sekunde vornimmt. Um dies zu vermeiden und eine möglichst flüssige Wiedergabe zu gewährleisten, aktiviert Datasmith immer die Eigenschaft Lock to Display Rate at Runtime für die von ihm erstellten Level-Sequenzen.
Sie finden diese Einstellung in der Sequencer-UI hier:
Bild für Großansicht anklicken.
Dies sollte Ihre Animationen flüssiger erscheinen lassen. Sie sollten jedoch beachten, dass dies die maximale Framerate der Engine auf die Framerate Ihrer Animation beschränkt. Wenn Sie die Engine mit einer höheren Framerate laufen lassen müssen, ist dies möglicherweise keine geeignete Lösung. Wenn Ihr Animationsclip beispielsweise in Ihrer Quellanwendung mit 24 oder 30 Frames pro Sekunde erstellt wurde, Sie jedoch Ihre Animation in VR mit 90 Frames pro Sekunde wiedergeben müssen, ist es möglicherweise keine gute Lösung, die Framerate der Engine auf die Framerate der Animation zu beschränken. In solchen Fällen müssen Sie möglicherweise diese Option bei Ihren Level-Sequenz-Assets deaktivieren.
Ebenen
Wenn Ihre Quellanwendung die Möglichkeit bietet, Ihre Inhalte in Ebenen oder ähnlichen Strukturen zu organisieren, erhält Datasmith diese Organisation im Unreal Editor. Sie können das Layers-Fenster (Window > Layers) verwenden, um Ebenen anzuzeigen und auszublenden oder um schnell alle Objekte in einer Ebene zu finden und auszuwählen.
Der Unreal Editor unterstützt jedoch keine verschachtelten Ebenen. Wenn Ihre Quellszene verschachtelte Ebenen verwendet, flacht Datasmith die Hierarchie der Ebenen automatisch zu einer einzigen Liste ab.
Weitere Informationen zur Arbeit mit Ebenen im Unreal Editor finden Sie unter Layers Panel.
Metadaten
Für einige Arten von Quelldateiformaten importiert Datasmith Metadaten über die Geometrieobjekte in Ihrer Szene, die Sie in Ihrer Quellanwendung festgelegt haben. Sie können auf diese Metadaten im Unreal Editor mithilfe von Blueprint- und Python-Skripten zugreifen. Weitere Details zu diesem System finden Sie unter Verwendung von Datasmith-Metadaten.
Technische anwendungsspezifische Metadaten
Einige Drittanbieteranwendungen und Dateiformate bieten Zugriff auf technische Metadatenwerte über einzelne Szenenobjekte, wie z. B. ihre eindeutigen IDs, Objektklassen oder andere anwendungsspezifische Daten. Datasmith importiert diese Art von technischen Daten in Komponenten-Tags, die es der Statisches-Mesh-Komponente zuweist, die die Geometrie jedes Objekts im Level darstellt.
Sie können auf die Metadaten im Details-Panel zugreifen.
-
Wählen Sie den Actor aus, dessen Komponenten-Tags Sie im Level Viewport oder im World Outliner anzeigen möchten.
-
Im Details-Panel wählen Sie die Statisches-Mesh-Komponente aus, die dem Actor zugewiesen ist.
-
Scrollen Sie im Details-Panel nach unten, um die Liste Tags > Component Tags zu finden.
Bild für Großansicht anklicken.
Diese Art von technischen Informationen ist typischerweise spezifisch für die Quellanwendung, die das Objekt erstellt hat. Daher wird sie getrennt von den im vorherigen Abschnitt beschriebenen Datasmith-Metadaten gehalten. Datasmith-Metadaten hingegen sind typischerweise dazu gedacht, Informationen der „realen Welt“ über einzelne Szenenobjekte darzustellen, wie z. B. deren BIM-Daten, Konstruktionsmerkmale, Kosten oder Hersteller; oder sie können benutzerdefinierte Eigenschaften darstellen, die eine spezifische Bedeutung in Ihrem Produktionsworkflow haben.

