Diese Seite beschreibt, wie Datasmith Szenen aus Industry Foundation Classes (IFC)-Dateien in den Unreal Editor importiert. Es folgt dem grundlegenden Prozess, der auf den Seiten Übersicht über Datasmith und Datasmith-Importprozess beschrieben ist, fügt jedoch einige spezielle Übersetzungsverhalten hinzu, die spezifisch für IFC sind. Wenn Sie planen, Datasmith zu verwenden, um Szenen aus IFC in den Unreal Editor zu importieren, kann das Lesen dieser Seite Ihnen helfen zu verstehen, wie Ihre Szene übersetzt wird und wie Sie mit den Ergebnissen im Unreal Editor arbeiten können.


IFC-Workflow
Datasmith verwendet einen Direct-Workflow für IFC. Das bedeutet, dass Sie, um den Inhalt einer IFC-Datei mit Datasmith in Unreal zu verwenden, Folgendes tun müssen:
-
Speichern Sie Ihre
.ifc
-Datei. -
Aktivieren Sie das Plugin Importers > Datasmith IFC Importer für Ihr Projekt, falls es nicht bereits installiert ist.
-
Verwenden Sie den Datasmith IFC-Importer, der in der Werkzeugleiste des Unreal Editors verfügbar ist, um Ihre
.ifc
-Datei zu importieren. Weitere Informationen finden Sie unter Importieren von Datasmith-Inhalten in die Unreal Engine.
Mehr Informationen über andere Typen von Datasmith-Workflows finden Sie unter Von Datasmith unterstützte Software- und Dateitypen.
Unterstützte IFC-Versionen
Datasmith unterstützt aktuell nur das Format IFC2x3.
Für Details zu IFC-Formaten und Spezifikationen siehe die technische Seite von buildingSMART International.
Szenenhierarchie
Datasmith erstellt einen Actor für jedes Objekt in Ihrer IFC-Szene. Es gibt jedem Actor einen Namen, der dem jeweiligen Objekt entspricht und mit dem IFC-Typ des Objekts versehen ist. Die Datasmith-Szene ordnet diese Actors in einer Hierarchie von Parent-Child-Beziehungen an, die eng der Organisation Ihrer IFC-Objekte entspricht: Standorte enthalten Gebäude, Gebäude enthalten Stockwerke, Stockwerke enthalten Wände, Türen, Räume und so weiter.
Sie werden einige Unterschiede bemerken:
-
Im World Outliner des Unreal Editor, der oben rechts angezeigt wird, sind die Actors auf jeder Ebene der Hierarchie immer alphabetisch geordnet. Dies kann visuelle Unterschiede in der Reihenfolge der gleichrangigen Elemente zwischen Unreal Engine und anderen IFC-Anzeige- und Bearbeitungsanwendungen verursachen, aber die Parent-Child-Beziehungen bleiben unverändert.
-
Eine IFC-Datei kann mehrere Objekte mit demselben Namen haben, aber jeder Actor im Unreal-Engine-Level muss einen eindeutigen Namen haben. Datasmith fügt eine unterschiedliche numerische Endung hinzu, um zwischen Objekten zu unterscheiden, die denselben Namen teilen.
-
Datasmith erlaubt nur alphanumerische Zeichen, Unterstriche und Bindestriche in Actor-Namen. Alle anderen Zeichen werden in Unterstriche umgewandelt.
Diese geringfügigen visuellen Unterschiede beeinflussen weder eindeutige IDs noch andere Daten, die den IFC-Objekten zugewiesen sind. Diese Werte werden von Datasmith in den jedem Actor zugewiesenen Metadaten beibehalten. Sie können Best-Practice-IFC-Workflows in der Unreal Engine erstellen, indem Sie diese Metadatenwerte nutzen.
Lichter und Kameras
Die IFC 2x3-Spezifikation definiert Lichtquellen oder Kameras nicht auf die gleiche Weise wie die Unreal Engine oder andere 3D-Design- und Visualisierungstools.
-
Lichter werden in IFC als reine Gebäudeelemente behandelt, die als ifcLamp-Objekte bezeichnet werden. Diese Objekte haben keine Messungen der Eigenschaften, die für das Echtzeit-Rendering erforderlich sind, wie Beleuchtungsradien, Intensität, Farbe usw. Datasmith importiert jedes ifcLamp-Element als Actor in die Datasmith-Szene, genauso wie es alle anderen Objekttypen aus der IFC-Datei importiert. Datasmith erstellt jedoch keine Lichtquellen für sie, wie Punktlichter, Scheinwerferlichter, Rechteckige Bereichslichter usw.
Wie bei allen anderen IFC-Objekten, die Datasmith importiert, sind die den ifcLamp-Objekten in der IFC-Datei zugewiesenen Eigenschaften sowohl im Unreal Editor als auch zur Laufzeit in der Unreal Engine als Metadaten verfügbar. Sie können Blueprint oder Python verwenden, um auf diese Metadateneigenschaften zuzugreifen und sie zu interpretieren, und um basierend auf ihren Werten automatisch Ihre eigenen Unreal-Engine-Lichtquellen zu erstellen.
-
Kameras sind nicht Bestandteil der IFC-Spezifikation, und eine IFC-Datei kann keine Perspektiven auf die Szene speichern. Daher erstellt Datasmith keine Kameras in der Datasmith-Szene.
Ebenen
Datasmith erstellt eine neue Ebene im Unreal-Engine-Level für jeden unterschiedlichen Typ von IFC-Objekten in der Szene. Es weist jeder Ebene alle Actors zu, die Objekte des entsprechenden Typs darstellen. Sie können diese Ebenen verwenden, um schnell alle Objekte eines bestimmten Typs anzuzeigen, auszublenden und auszuwählen.
Zum Beispiel sind im folgenden Bild nur die ifcWindow- und ifcBeam-Elemente sichtbar.
Materialien
Für jedes unterschiedliche Oberflächenmaterial, das Datasmith in Ihrer IFC-Szene findet, erstellt es ein Material-Asset in Unreal mit demselben Namen und platziert dieses Material im Materials-Ordner neben Ihrem Datasmith-Szene-Asset. Datasmith weist diese Material-Assets den von ihm erstellten Statisches-Mesh-Assets zu, um deren Oberflächen zu schattieren.
-
Jedes Material im Materials-Ordner ist eine Material-Instanz, die Eigenschaften aus der IFC-Datei offenlegt: Farbwerte, Transparenzwerte, Glanz-Farben und so weiter. Doppelklicken Sie auf eines dieser Material-Assets, um es im Materialinstanz-Editor zu öffnen:
Sie können die offengelegten Eigenschaften im Details-Panel ändern, um das Aussehen des Materials bei Anwendung auf eine Oberfläche zu modifizieren. Zum Beispiel legt das oben gezeigte Material Eigenschaften für seine Basisfarbe und Transparenz offen.
Im Gegensatz zu einigen anderen Dateiformaten und Designanwendungen, mit denen Datasmith arbeitet, bietet IFC keine tiefgehenden Kontrollen über die physikalischen Eigenschaften von Oberflächen. Wenn Datasmith-Materialien aus einer IFC-Datei übersetzt, werden Ihre ursprünglichen Eigenschaften so originalgetreu wie möglich beibehalten. Die Ergebnisse sind jedoch in der Regel nicht lebensecht oder gut geeignet für das physikalisch basierte Rendering der Unreal Engine. In der Regel möchten Sie die Standardmaterialien ersetzen, die Datasmith erstellt und Ihren Statisches-Mesh-Assets zuweist. Sie können Ihre eigenen physikalisch basierten Materialien in der Unreal Engine erstellen oder physikalisch basierte Materialien aus anderen Quellen importieren – zum Beispiel aus dem Reiter „Marketplace“ des Epic Games Launchers.
-
Datasmith erstellt auch eine Reihe von Parent-Materialien im Materials/Master-Ordner. Jedes dieser Materialien ist das Parent-Material von mindestens einem der Material-Assets im Materials-Ordner. Sie können diese Parent-Materialien bearbeiten, wenn Sie mehr Kontrolle über die Materialdiagramme haben möchten, die definieren, wie jede Oberfläche erscheint, um zusätzliche Parameter für Child-Instanzen offenzulegen oder um zu ändern, wie die offengelegten Parameter während des Renderings berücksichtigt werden.
Beachten Sie, dass das Ändern eines Parent-Materials auch automatisch alle Material-Instanzen ändert, die von diesem Parent-Material erben. Es ist normalerweise eine gute Idee, ein Parent-Material zu duplizieren, bevor Sie es ändern, Ihre Änderungen an dem Duplikat vornehmen und dann spezifische Material-Instanzen aktualisieren, um Ihr neues Duplikat als deren Parent-Material zu verwenden. Für Details siehe Modifizieren eines Datasmith-Hauptmaterials.
Metadaten
Datasmith zeichnet alle Eigenschaften jedes Objekts auf, das es aus der IFC-Datei importiert, und speichert diese Eigenschaftswerte als Datasmith-Metadaten auf dem Actor, den es erstellt, um dieses Objekt in der Unreal Engine darzustellen. Sie können auf diese Metadaten im Unreal Editor oder zur Laufzeit in der Unreal Engine zugreifen.
Wie Datasmith Eigenschaften aus IFC-Dateien konvertiert
-
IFC ermöglicht es, Eigenschaften in Gruppen zu organisieren. Zum Beispiel zeigt das obige Bild mehrere Gruppen: PSet_Revit_Mechanical, PSet_Revit_Dimensions, PSet_Revit_Identity Data und so weiter. Jedoch sind Datasmith-Metadaten in der Unreal Engine immer eine flache Liste von Schlüsseln und Werten. Wenn Ihre IFC-Eigenschaften Gruppen enthalten, wie oben gezeigt, flacht Datasmith die Hierarchie ab und platziert alle Metadaten-Schlüssel aus allen Gruppen in einer einzigen flachen Liste. Die Gruppennamen selbst werden verworfen.
-
Datasmith erlaubt nur alphanumerische Zeichen, Bindestriche und Unterstriche in den Metadaten-Schlüsselnamen. Wenn der Name Ihrer Nutzerdaten andere Zeichen enthält, werden diese Zeichen automatisch in Unterstriche umgewandelt. Zum Beispiel wird im obigen Bild die Fixture Units-Eigenschaft in Fixture_Units in den Datasmith-Metadaten umgewandelt.
Alle Sonderzeichen in den Metadatenwerten bleiben erhalten.
Zusätzliche Metadaten-Tags
Datasmith speichert auch zusätzliche technische Metadaten über jedes Objekt als Tags auf dem Actor, den es erstellt, um das Objekt in der Unreal Engine darzustellen. Für IFC-Objekte speichert Datasmith eine global eindeutige ID und den IFC-Typ des Actors, wie im folgenden Bild gezeigt:

Weitere Informationen finden Sie auch unter Datasmith-Importprozess.
Credits
-
IFC-Gebäude mit freundlicher Genehmigung von https://github.com/buildingSMART/Sample-Test-Files/tree/master/IFC%202x3/Schependomlaan.
© ursprüngliche Eigentümer.
Diese Arbeit ist lizenziert unter der Creative Commons Attribution 4.0 International License. Weitere Informationen und ein Link zum vollständigen Lizenztext sind verfügbar unter http://creativecommons.org/licenses/by/4.0/.
-
Andere IFC-Hierarchiebilder stammen aus Project 3: Clinic, verfügbar vom National Institute of Building Sciences.
-
IFC-Bildschirmaufnahmen wurden im RDF IFC Viewer aufgenommen.