Unreal Engineの活用は、ゲーム以外にも建築や製造、自動車、シミュレーション、映像など、ゲーム以外の業界でも増えています。
Unreal Engine側でも、ゲーム以外(以下、ノンゲーム)での活用に力を入れており、様々なノンゲーム向けの機能が年々増えています。
その中でも今回は建築や製造業などでは当たり前な「CAD」ファイルを読み込む方法(インポート)=Datasmithの使い方について解説します。
FBXでのインポートや読み込んだ後のデータの形式(Static MeshやSkeletal Mesh)などについては、こちらで紹介しています。
Static MeshやSkeletal Meshなどの用語がイマイチわからない方は、こちらをご覧ください。
Datasmith とは?
CADファイルは「Datasmith」という機能を使うことでインポートすることができます。
Datasmithは、主にCADファイルや外部のCG系のツールで制作したライトやマテリアル、カメラなどを含むシーンをそのままUE5で使えるように自動コンバートして、インポートしてくれる機能です。
RevitやAlias、AutoCAD、VRED、CATIA、Solidworks、Archicad、ライノセラス、Sketchup Pro、3dsMax、Cinema4Dなどに対応しています。
対応しているソフトウェア一覧は、こちらで確認することができます。
ここで知っておいて頂きたいことが1つあります。
Datasmithには、CADのネイティブフォーマット(例: SolidWorks なら .sldasm, .sldprtなど)を直接インポートできるパターン
と
CADソフトにプラグインを入れて、「.udatasmith」形式で書き出してインポートする2つのパターンがあります。
上記の対応しているソフトウェアが記載されているページの表の「インポータープラグイン」の列が「CAD」となっているものは、そのままインポートすることができます。
「Datasmith」となっているものは、.udatasmith形式で書き出しインポートするタイプになります。
udatasmith形式で書き出すためのプラグインは、こちらからダウンロードできます。
Datasmith を使ったインポート
では、Datamithの使い方を解説していきます。
と言っても、インポートツールなので、簡単です。
各CADファイルやdatasmith形式のファイルは、事前に書き出しておきます。
ライトやカメラなどもインポートできるので、含まれたままでも、必要なオブジェクトのみを書き出しても、どちらでも問題ありません。
書き出し時にメッシュファイルやテクチャなど入ったフォルダが一緒に書き出されこともあります。
データを他のPCに送る際などは、このフォルダも一緒に送る必要があります。
ちなみに、UE5で使わないオブジェクトやデータがある場合は、事前に省いておくことで、インポート速度が上がります(UE5上で削除も可能)。
Datasmithプラグインの有効化
エディタ上部の「Edit(編集)」→「Plugins(プラグイン)」を開き、Datasmithプラグインを有効にします。
Datasmithとついたプラグインが色々とありますが、「Datasmith CAD Impotor」「Datasmit Content」「Datasmith Importer」は、マストで有効にします。
その他は、適宜、必要に応じて、有効にしてください。
ファイルのインポート
左上の「Quick add to the project(プロジェクトに迅速に追加)」ボタンをクリックし、「Datasmith」→「File Import」から任意のファイルを選択します。
「Direct Link Import」は、ファイルを書き出さずにCADソフトとUE5をリアルタイムに連携できる機能です。
こちらは、後ほど、紹介します。
ファイルを選択すると、保存場所を選択した後に、インポートオプションが表示されます。
こちらのオプションは、Datasmith形式のファイルをインポートしたか、CADのネイティブフォーマットでインポートしたかなどで表示される項目が変わってきます。
共通の項目としては、この時点で、マテリアルやライトなどをインポートするか否かを選択できます。
その下の「Geometry&Tessellation Oprions」は、CADのネイティブフォーマットをインポートした時に表示されます。
CADのナーブスなどをポリゴンに変換する際の設定になります。
各項目の詳細は、公式ドキュメントに記載があります。
インポートすると、レベルにインポートしたデータが表示されます。
コンテンツブラウザにもアセットが保存されます。
ジオメトリは、全てスタティックメッシュで保存されます。
CADなどの元データを編集して、再インポートしたいときや、ライト有無などのインポート設定を再度行いたい時は、コンテンツブラウザ上の赤の「Datasmith Scene」アセットを右クリックし、「Reimport」を押すことでできます。
また、インポートしたデータを別のレベルに配置したい時も「Datasmith Scene」アセットをD&Dすれば、構造を保ったまま配置できます。
Direct Link
先ほど、少しご紹介した「Direct Link」では、わざわざファイルをエクスポートせずに、CADなどのソフトとUE5でシーンを同期させることができます。
RevitやライノセラスなどのDatasmith エクスポーター プラグインが提供されている一部のソフトで利用可能です。
使い方は簡単です。
画像はRevitですが、他のソフトでもほとんど同じです。
両方のソフトを開いておき、CADソフト側でDatasmithのツールにある「Connect」もしくは、UE5側の「Direct Link Import」から接続したいソフトを選択することで同期することができます。
CADソフト側で「Synchronize」を押すことで変更や状態が更新されます。
プレイ中にリアルタイムに読み込む「Datasmith Runtime」
ここまで解説したDetasmithは、エディタ上で事前にファイルを読み込み、それをプロジェクトで使うというものでした。
しかし、プレイ中などの実行時(ランタイム)やexeなどのアプリケーションのした後でCADなどを読み込むことも可能です(.udatasmithファイルのみ)。
「Datasmith Runtime」のプラグインを有効にすることで使用できます。
プレイ中での使用になるので、どのようにインポートするかやインポート設定などは、ブループリントなどを使って自身で実装する必要があります。
UIを使ったインポート画面を作りたい際もUIも自身で作る必要があります。
なので、プラグインを有効にすることで、Datasmith ランタイム用のブループリントノードが使用可能なる感じです。
と言っても、何をどう実装したら良いのか…という方もいるかと思います。
そこで、「Collab Viwer テンプレート」の中で既に実装してあるので、そちらを参考にしたり、使いまわすことができます!
「Collab Viwer テンプレート」は、プロジェクト作成時に選択できるこちらです。
「Collab Viwer テンプレート」を選択し、プロジェクト作成します。
プロジェクトが開いたら、「プレイ」を押し、キーボードのスペースを押すとメニューが表示されるので、「Datasmith」から.udatasmithを選択して、ランタイムでインポートすることができます。
これらの実装は
/Game/CollaborativeViewer/Blueprints/Commands/DataSmith/UMG/
のフォルダ内のブループリントで主に実装されています。
と言っても、けっこうごちゃごちゃしているので、正直、何が何だかです…
(たぶん)一番シンプルな実装例としては、このような感じかなと思います。
キーボードの1を押すと、エクスプローラーのダイアログを表示させて、ファイルを選択でき、原点にインポートするというのが、このノードで可能です。
出発点としてここから実装、検証を始めて、機能やUIを追加していくと、理解しやすいかと思います。
オプションのノードなども様々あります。
Direct Linkも可能です。
まとめ
Datasmithを使ってCADファイルやライトやマテリアルなどを含むシーンごとインポートする方法をご紹介しました。
Datasmithを使うことで手軽にUE5用にデータを変換できます。
Direct Linkを活用できれば、エクスポート、インポートの手間を減らすこともできます。
Datasmith Runtimeでは、実行中にインポートできるので、UE5が使えない人がCADを綺麗なグラフィックで見たり、インタラクティブなことができるアプリケーションを作ったりするのに役立つと思います。
余談ですが、別の機能で「Visual Dataprep」という機能があります。
こちらもCADなどのインポートの際に便利な機能なのですが、Datasmithはインポートだけなのに対して、こちらは、マテリアルの置き換えやコリジョンの設定などをノードで自動化することができます。
こちらもいずれ解説できたらと思います。
この記事がCADなどのインポートの参考になれば嬉しいです!
この他にもUE5の基本的な使い方やTipsを紹介しているので、ぜひご覧ください!
コメント