このページでは、Datasmith が Industry Foundation Classes (IFC) ファイル から Unreal Editor にシーンをインポートする方法について説明します。ここでは、「Datasmith の概要」と「Datasmith インポート プロセス」で説明されている基本的なプロセスに基づいています。ただし、Deltagen および IFC に固有の特別な変換動作がいくつか追加されています。Datasmith を使用して IFC から Unreal Editor にシーンをインポートする予定がある場合は、このページを読むとシーンがどのように変換されるか、その結果を Unreal Editor でどのように使用できるかを理解するのに役立ちます。


IFC ワークフロー
Datasmith は、IFC に 直接 ワークフローを使用します。そのため、Datasmith を使用して IFC ファイルのコンテンツを Unreal に取り込むには、以下を実行する必要があります。
-
「
.ifc
」ファイルを保存します。 -
プロジェクトの [Importers] > [Datasmith IFC Importer] プラグインを有効にします (まだインストールされていない場合)。
-
Unreal Editor のツールバーにある Datasmith IFC インポーターを使用して、「
.ifc
」ファイルをインポートします。「Unreal Engine に Datasmith コンテンツをインポートする」を参照してください。
他のタイプの Datasmith のワークフローについては、「Datasmith でサポートされているソフトウェアとファイルの種類」を参照してください。
サポートされている IFC のバージョン
Datasmith は現在、IFC2x3 形式のみをサポートしています。
IFC の形式と仕様の詳細については、『buildingSMART International 技術サイト』を参照してください。
シーン階層
Datasmith は、IFC シーン内のオブジェクトごとにアクタを作成します。その際、対応するオブジェクトと同じ名前が各アクタの名前として付けられますが、名前の先頭にはオブジェクトの IFC タイプも加えられます。Datasmith シーンは、これらのアクタを、IFC オブジェクトの編成方法にほぼ一致する親子関係の階層に配置します。サイトには building (建物) があり、建物には storey (階) があり、階には wall (壁)、door (ドア)、space (空間) などがあります。
これらには、いくつかの違う点があります。
-
Unreal Editor の [World Outliner (アウトライナ)] (右上を参照) には、階層の各レベルのアクタが常にアルファベット順に並んで表示されます。これにより、Unreal Engine と他の IFC の表示および編集アプリケーション間で兄弟が違う順序で表示されることがありますが、親子関係に変更はありません。
-
IFC ファイルは同じ名前の複数のオブジェクトを持つことができますが、Unreal Engine のレベルの各アクタには一意の名前が必要です。Datasmith は異なる数字のサフィックスを追加することで、同じ名前のオブジェクトを区別します。
-
Datasmith では、アクタ名に英数字、アンダースコア、ハイフンのみを使用できます。他のすべての文字はアンダースコアに変更されます。
これらの小さな見た目の違いは、一意の ID や IFC オブジェクトに割り当てられた他のデータには影響しません。これらの値は、各アクタに割り当てられたメタデータで Datasmith によって保持されます。これらのメタデータ値を活用することで、Unreal Engine でベストプラクティスの IFC ワークフローを作成できます。
ライトとカメラ
IFC 2x3 の仕様では、Unreal Engine または他の 3D 設計およびビジュアリゼーション ツールと同じようにエミッタまたはカメラが定義されていません。
-
IFC のライトは、純粋に ifcLamp オブジェクトと呼ばれる建物の要素として扱われます。これらのオブジェクトには、ライトの半径、強度、色など、リアルタイム レンダリングに必要なプロパティの測定値がありません。Datasmith は、IFC ファイルから他のすべてのタイプのオブジェクトをインポートするのと同じ方法で、各 ifcLamp 要素を Datasmith シーンのアクタとしてインポートします。ただし、Datasmith は、ポイント ライト、スポット ライト、矩形ライト などの光源を作成しません。
Datasmith がインポートする他のすべての IFC オブジェクトと同様に、IFC ファイルの各 ifcLamp オブジェクトに割り当てられたプロパティは、Unreal エディタと Unreal Engine のランタイムの両方でメタデータとして利用できます。ブループリントまたは Python を使用して、これらメタデータのプロパティにアクセスして解釈し、値に基づいて独自の Unreal Engine 光源を自動的に作成できます。
-
カメラは IFC の仕様の一部ではなく、IFC ファイルはシーンの視点を保存できません。したがって、Datasmith は Datasmith シーンにカメラを作成しません。
レイヤー
Datasmith は、シーン内にある異なるタイプの IFC オブジェクトごとに、Unreal Engine レベルで新しいレイヤーを作成します。対応するタイプのオブジェクトを表す全てのアクタを各レイヤーに割り当てます。これらのレイヤーを使用すると、特定のタイプのすべてのオブジェクトをすばやく表示、非表示、選択できます。
例えば、次の画像では、ifcWindow および ifcBeam 要素のみが表示されています。
マテリアル
Datasmith が IFC のシーンで検出した異なるサーフェスのマテリアルに対して、Datasmith では Unreal で Material アセット を同じ名前で作成し、Datasmith シーン アセットの横の「Materials」 フォルダに配置します。Datasmith では、サーフェスをシェーディングするために、Datasmith が作成する Static Mesh アセットにこれらの Material アセットを割り当てます。
-
「Materials」 フォルダの各マテリアルは IFC ファイルで設定されている色の値、透明度の値、スペキュラの色などのプロパティを公開する マテリアル インスタンス です。これらの Material アセットのいずれかをダブルクリックすると、そのダブルクリックしたものをマテリアル インスタンス エディタで開きます。
[Details (詳細)] パネルで公開されているプロパティを変更して、サーフェスに適用されたときのマテリアルの外観を変更できます。例えば、上記のマテリアルは、ベース カラーと透明度のプロパティを公開しています。
Datasmith で使用できる他のファイル形式やデザイン アプリケーションとは異なり、IFC はサーフェス プロパティの物理的特性を細かく制御することはできません。Datasmith は、IFC ファイルからマテリアルを変換するとき、元のプロパティを可能な限り忠実に保持します。ただし、通常、結果はリアルではなかったり、Unreal Engine の物理ベースのレンダリングに適さなかったりします。そのため、多くの場合、Datasmith によって作成され Static Mesh アセットに割り当てられたデフォルトのマテリアルは、他のものに置き換えた方が良いでしょう。Unreal Engine で物理ベースのマテリアルを作成したり、Epic Games Launcher の [Marketplace (マーケットプレイス)] タブなど、他のソースから物理ベースのマテリアルをインポートしたりすることで、置き換えが可能です。
-
また、Datasmith では「Materials/Master」フォルダに親マテリアルのセットも作成します。これらはそれぞれ、「Materials」フォルダの 1 つ以上の Material アセットの親です。各サーフェスの表示方法を定義するマテリアル グラフをより細かく制御したり、子インスタンスに追加のパラメータを公開したり、レンダリング中に公開されたパラメータを反映する方法を変更したりする場合は、これらの親マテリアルを編集できます。
なお、親マテリアルを変更すると、その親から継承するすべてのマテリアル インスタンスも自動的に変更されるので注意してください。通常、変更する前に親マテリアルを複製して、その複製を変更し、最後に特定のマテリアル インスタンスを更新して、新しい複製を親として使用することをお勧めします。詳細は「Datasmith のマスター マテリアルを変更する」を参照してください。
メタデータ
Datasmith は、IFC ファイルからインポートした各オブジェクトのすべてのプロパティを記録し、Unreal Engine でそのオブジェクトを表すために作成したアクタに Datasmith メタデータとしてそれらのプロパティ値を保存します。このメタデータには、Unreal Editor または Unreal Engine のランタイム時にアクセスできます。
Datasmith で IFC ファイルからのプロパティを変換する
-
IFC ではプロパティをグループに編成できます。例えば、上の画像では、PSet_Revit_Mechanical、PSet_Revit_Dimensions、PSet_Revit_Identity Data など、いくつかのグループが表示されます。ただし、Unreal Engine では Datasmith のメタデータは常にキー/値のフラット リストです。上記のように IFC プロパティにグループが含まれている場合、Datasmith では階層を平坦化して、すべてのグループのすべてのメタデータ キーを単一のフラット リストに保存します。グループ名自体は破棄されます。グループ名自体は破棄されます。
-
Datasmith では、メタデータのキー名に英数字、ハイフンおよびアンダースコアのみ使用できます。ユーザー データの名前に他の文字が含まれている場合、それらの文字は自動的にアンダースコアに変換されます例えば、上の画像では、Fixture Units プロパティは、Datasmith のメタデータでは Fixture_Units に変換されます。
メタデータ値の特殊文字はすべて保持されます。
メタデータ タグを追加する
Datasmith は、Unreal Engine でオブジェクトを表すために作成するアクタ上のタグとして、各オブジェクトに関する追加の技術メタデータも保存します。IFC オブジェクトの場合、Datasmith は、次の画像に示すように、グローバルに一意の ID とアクタの IFC タイプを保存します。

詳細は、「Datasmith インポート プロセス」を参照してください。
資料提供
-
IFC のビルド (提供:https://github.com/buildingSMART/Sample-Test-Files/tree/master/IFC%202x3/Schependomlaan
© 元の所有者。
この作品は、クリエイティブ コモンズ 表示 4.0 国際ライセンスの下でライセンスされています。ライセンスの詳細および全部へのリンクは、http://creativecommons.org/licenses/by/4.0/ をご覧ください。
-
他の IFC 階層の画像は「Project 3 Clinic」からのものです。これは、「National Institute of Building Sciences」 から入手可能です。
-
IFC スクリーン キャプチャは、RDF IFC Viewer アプリケーションで撮っています。