Datasmith の概要

Datasmith のしくみ、Datasmith を使用して実現できるものについて概要を説明します。

Windows
MacOS
Linux

Datasmith の概要

Datasmith は、コンテンツを Unreal Engine 4 に取り込むときに役に立つ各種ツールおよびプラグインをまとめたものです。

Unreal Studio 製品の一部である Datasmith は、ゲーム業界以外のユーザーが、Unreal Engine をリアルタイム レンダリングやビジュアライゼーションに使用するときに直面する特定の課題を解決するように設計されています。対象となる業界には、建築、エンジニアリング、建設、製造、ライブ トレーニングなどの分野がありますが、これらに限りません。ただし、アセット パイプラインで同様の問題を抱えているゲーム開発者にとっても有用な内容になります。

Datasmith がどのように役立つのか

Datasmith には非常に挑戦的な目標があります。

  • 構築前のシーン全体や複合体の集合を、シーンの大きさ、密度、重さに関係なく Unreal に導入します。対象のシーンを分解し、いくつかのチャンクにまとめ、それから各チャンクを FBX インポート パイプラインを通じて、個別にゲーム エンジンに入力し、Unreal Editor でシーンを組み立て直すという方式ではなく、Datasmith は他のデザイン ツールに別の目的ですでに構築しているアセットとレイアウトを再利用します。

  • きわめて幅広い 3D デザイン アプリケーションとファイル形式をサポートします。すでに Autodesk 3ds Max、Trimble Sketchup、Dassault Systèmes SolidWorks の各リリースなど多様なソースで動作します。

  • インポート済みのマテリアルのソースに対する変更を取り込むための厄介な問題に対応します。このとき Unreal でアセットに対して実行したすべての作業をやり直す必要はありません (詳細は Datasmith 再インポート ワークフローについて を参照)。

  • 現時点で、Datasmith の重点項目は、デザイン コンテンツを Unreal Engine が認識し、リアルタイムでレンダリングできる形式に変換することです。長期的には、ゲーム エンジンでランタイムの最大限のパフォーマンスを実現するようにインポート済みのコンテンツを加工し、スマートなランタイムの動作を追加することにより、さらにインテリジェントなデータ準備を追加することを目的としています。

Datasmith ワークフロー

Datasmith では現時点でファイルベースのワークフローを使用して、対象のデザインを Unreal に取り込みます。

  • Datasmith が処理できる形式で、対象のデザイン データを保存またはエクスポートします。Datasmith は多くの一般的な CAD アプリケーションのネイティブ ファイル形式を読み取ります。3ds Max や SketchUp Pro など一部のアプリケーションでは、.udatasmith 拡張子のファイルをエクスポートするために特別なプラグインをインストールする必要があります (Datasmith でサポートされているソフトウェアとファイル型式 を参照)。

  • Unreal Editor では、Datasmith インポータを使用して、保存またはエクスポートしたファイルを Unreal Engine の現在のプロジェクトに取り込みます。このとき、対象ファイルから取り込むデータ範囲を制御し、トランザクション プロセスを制御するいくつかのパラメータを設定できます (Datasmith のインポート オプション を参照)。

インポート後に得られるもの

Datasmith を使用してファイルをインポートした後、最初に表示されるのは、ソース シーンの全エレメントです。Unreal Editor ビューポートに表示されます。まだ完成には見えないかもしれません。ライティングや外観は後で調整します。ただし、この時点で Unreal レベルはソース アプリケーションとまったく同じ方式で組み立てられています。

datasmith_overview_viewport.png

新しい多くの アセット がプロジェクトのコンテンツ ブラウザ (1) に作成され、新しい アクタ が現在のレベル (2) に配置されていることもわかります。

スタティック メッシュ アセット

多くの理由で、Datasmith はソース シーンにあるすべてのものを Unreal の単一メッシュにまとめません。メッシュが大きくなりすぎ、複雑になると、ライティングや高パフォーマンスでのスムーズなレンダリングが一般に非常に難しく、Unreal でシーンの多様なパーツを個別に作業することが制限されます。

一方、Datasmith は個別のスタティック メッシュ アセット (シーンの構成要素を表す各アセット) のセットを作成します。レベル内に配置可能で、エンジンでレンダリングできるジオメトリの個別のチャンクです。シーンをスタティック メッシュに分割するとき、Datasmith はソース アプリケーションで設定したオブジェクトの構成にできるだけ従って処理します。

Datasmith はこれらのスタティック メッシュ アセットのそれぞれを 「Geometries」フォルダに配置します。

Datasmith で生成されたスタティック メッシュ アセット

ソース シーンに同じジオメトリの要素が複数含まれる場合は、通常、Datasmith は該当オブジェクトに対するスタティック メッシュ アセットを 1 つのみ作成します。レベルでそのアセットの複数 インスタンス を使用します。それぞれに独自の位置、回転、他のプロパティがあります。これにより、通常、ランタイムに使用するメモリが削減され、パフォーマンスが向上します。例えば、このシーンでは、多くのペンダント ライトがありますが、スタティック メッシュ アセット (L_Globe_01) は 1 つのみです。

Unreal のスタティック メッシュの詳細については、「スタティック メッシュ」を参照してください。

マテリアル アセット

Unreal のすべてのスタティック メッシュに、1 つ以上のマテリアル アセット (サーフェスと入射光の関係を記述したもの) を割り当てる必要があります。ソース シーンで Datasmith が異なるタイプのサーフェスであると識別する場合、「Materials」フォルダに新しいマテリアル アセットを作成します。これを使用する必要があるスタティック メッシュ アセットに割り当てます。

Datasmith により生成されるマテリアル アセット

マテリアルおよび Unreal の物理ベース レンダリング システムの詳細については、こちらの「マテリアル」を参照してください。

テクスチャ アセット

ソース アプリケーションがテクスチャを使用して、シーンのジオメトリの色や他の物理特性を定義する場合、Datasmith はそれらの各テクスチャを「Textures」フォルダのテクスチャ アセットにインポートし、対応するマテリアルが新しいテクスチャ アセットを参照するように設定します。必要な場合、Datasmith は Unreal が認識する形式にソース イメージ ファイルを変換することもできます。

datasmith_overview_textures.png

Unreal でのテクスチャの作業については、「テクスチャ」を参照してください。

Datasmith シーン アセット

最後に、Datasmith は単一の Datasmith シーン アセットを作成します。これはインポートしたファイルに従って命名されます。この新しい種類のカスタム アセットは、Datasmith インポート戦略の重要な部分です。その役目は、Unreal Editor でオリジナル シーンを再構築するために、同時にインポートされたスタティック メッシュの構成要素、および Unreal Engine で提供されるビルトイン オブジェクト タイプから必要なすべてのパーツを含めることです。

  • 同時にインポートされたすべてのスタティック メッシュ、マテリアルおよびテクスチャ アセットへの参照を保存します。

  • 作成するために使用したインポート設定を保存します。

  • もっとも重要なのは、オリジナル シーンにあるすべてのタイプのオブジェクト (Datasmith がサポートする、ジオメトリ オブジェクト、ライト、カメラなど) の階層またはツリーを含みます。これらのシーンの各エレメントは 3D 空間での親エレメントとの相対位置、回転、スケールを保存します。さらに、タイプの異なる各エレメントで、Datasmith がソース アプリケーションから変換できた情報セットを保持します。

Datasmith シーン アセットをドラッグ&ドロップでレベルに配置し、オリジナル シーン (または CAD アセンブリ) を完全に再構築した表現をレベルに配置できます。これはレベルにフル シーンの階層を、ソース ファイルから取り込んだ情報に対して、Unreal Engine の対応するエレメントを使用して、自動的に再作成します。詳細は、次のセクションを参照してください。

レベル アクタとシーン階層

最後に、新しいすべてのアセットの準備ができたら、Datasmith は Datasmith シーンのインスタンスを現在のレベルに配置します。Datasmith がソース アプリケーションまたはファイル形式から変換できたシーン全体の階層をレベル内に複製します。

シーン階層の各エレメントは Unreal Engine アクタのタイプにより表現されます。

子アクタがある Datasmith シーン

  • ジオメトリ オブジェクトは、通常、スタティック メッシュ アクタにより表現されます。これはコンテンツ ブラウザで参照できるスタティック メッシュ アセットです。

  • インポートしたシーンにライトが含まれる場合、Unreal にビルトインされているライト アクタ タイプ (Point Light または Spot Light など) の 1 つを使用して一般に表現されます。「ライトの種類」を参照してください。

  • インポートしたシーンにカメラが含まれる場合、Unreal Camera Actor または CineCamera Actor で通常表現されます。

  • インポートしたシーン階層のルートには、Datasmith シーン アクタがあります。これは作成するために使用された Datasmith シーン アセットを参照します。

  • シーン階層に他の種類のアクタ、この画像にある Lift_CLift_R などが見られることがあります。ソース シーンで親階層に、特定のジオメトリ オブジェクトに関連付けられていない親がある場合はいつでも、Datasmith はこれらのアクタの 1 つを作成します。 これらのアクタは、通常、スタティック メッシュ、ライトまたは他のオブジェクトが割り当てられていません。ただし、それでもこれらのアクタはシーンを管理するときに簡単に使用できます。子の変換は親に相対的に行われるため、親アクタをシーンで動かすと、すべての子は自動的に従って動きます。

オーバーライドの追跡と処理

Datasmith シーンでは、Unreal でインポートされたアセットとアクタに対する、特定の種類の変更、つまり オーバーライド を追跡します。これには 2 つの大きなメリットがあります。

  • Unreal でアセットやアクタに対する変更を選択してロール バックできます。コンテンツを Datasmith に最初にインポートしたときから、選択したアセットやアクタに関して Datasmith が追跡するすべての情報を返します。 コンテンツ ブラウザでアセットを右クリック、またはビューポートまたはワールド アウトライナーでアクタを右クリックして、[Datasmith] > [Reset Overrides (オーバーライドのリセット)] を選択します。 Datasmith でのオーバーライドのリセット

  • Datasmith シーンを再インポートするとき、Unreal で実行した、追跡済みのオーバーライドはいずれも失われません。例えば、アクタをシーンの新しい位置に移動、またはアクタに別のマテリアルを設定した場合、Datasmith はシーンを再インポートした後でもこれらの変更を保持します。 詳細は、Datasmith 再インポート ワークフローについてを参照してください。

オーバーライドとして追跡されたプロパティ

一般に、ソース アプリケーションから Unreal に Datasmith が取り入れた情報に対する変更はオーバーライドとして追跡されます。追加した Unreal 固有のプロパティに対する変更はオーバーライドとしては追跡されません。

例:

  • レベルに Datasmith が作成するそれぞれのアクタに対して、3D 空間でのそのアクタの変換がソース アプリケーションから Unreal にもたらされます。レベルでアクタを移動または回転する場合、Datasmith はその変更をオーバーライドとして追跡します。

  • 一方、スタティック メッシュ アクタにはそれぞれ Cast Shadow 設定があります。これはソース アプリケーションからインポートされません。Datasmith は新しい各アクタを作成するとき、デフォルトでこの設定が有効になります。この設定を変更して、シャドウキャスティングをオフにする場合、Datasmith は変更をオーバーライドとして追跡しません。スタティック メッシュ アクタのオーバーライドをリセットする場合、この設定はオフのままです。

次の表では、Datasmith シーンが Unreal で作成したアセットやアクタの各タイプに対して、オーバーライドとして現在追跡している情報の種類のリストを示します。

オブジェクト タイプ

追跡プロパティ

スタティック メッシュ アクタ

  • 3D トランスフォーム

  • 可動性

  • レイヤー

  • マテリアルの割り当て

なお、これにより、レベルのスタティック メッシュ アセットおよびそれらのアセット インスタンス間のデフォルトの関連付けもオーバーライドされます。Datasmith でインポートされたスタティック メッシュ アセットでのマテリアルの割り当てを変更する場合、そのアセットのインスタンスである、レベルのスタティック メッシュ アクタは一般的な場合と異なり即座に更新されません。

ライト アクタ

  • 3D トランスフォーム

  • Datasmith で設定された強度とカラー値

  • IES プロファイル

  • レイヤー

カメラ アクタ

  • 3D トランスフォーム

  • Datasmith で設定された FOV と露出値

  • レイヤー

スタティック メッシュ アセット

  • マテリアルの割り当て

  • Lightmap 解像度とビルド設定

  • テッセレーション設定 (CAD ファイルからのスタティック メッシュに対する)

なお、Unreal のスタティック メッシュ アセット自体のジオメトリに対する変更 (トライアングルの削除など) はオーバーライドとして追跡されないことに注意してください。

マテリアルおよびテクスチャ アセット

なし。

次のステップ

これで、Datasmith インポート ワークフローの基本およびプロジェクトで Datasmith コンテンツの処理方法を理解できたので、次のことを実行することができます。

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信