Choose your operating system:
Windows
macOS
Linux
このページでは、Visual Dataprep システムの概要と、リアルタイム ビジュアリゼーション用の 3D データを準備するために、独自のカスタム インポート レシピの作成方法について説明します。
Visual Dataprep を有効にする
プロジェクトで次のプラグインを有効にします。
-
DataPrep Editor
-
Datasmith Importer
-
Datasmith がサポートする他の種類のソース ファイルからインポートする場合、それらのファイル タイプに対応する他のインポータ プラグインを有効にする必要があります。詳細は「 Unreal Engine 4 に Datasmith コンテンツをインポートする 」を参照してください。
建築、土木、建設 、または 自動車、プロダクトデザイン、製造 カテゴリのテンプレートから Unreal プロジェクトを開始した場合、これらのプラグインは既に有効となっている場合があります。
Visual Dataprep アセット
Visual Dataprep システムは、 Dataprep アセットと呼ばれる新しい種類のアセットに基づいています。このアセットは、視覚的に一連の手順を配列するという点でブループリントに似ています。ただし、この Dataprep グラフの目的は、指定した 1 つ以上の入力ファイルから読み取ったシーン データを変換することです。
新しい Dataprep アセットを作成するには、[コンテンツブラウザ] で右クリックし、コンテキスト メニューから [Dataprep]> [Dataprep] を選択します。
Dataprep エディタの UI
ブループリント クラスと同様に、Dataprep アセットには専用のエディタ ウィンドウがあります。このウィンドウを開くには、 コンテンツ ブラウザ で Dataprep アセットをダブルクリックします。
Dataprep エディタの UI はいくつかのパネルに分かれており、 Dataprep ワークフロー の様々なポイントで使用します。
番号 |
名前 |
説明 |
---|---|---|
1 |
ツールバー |
[Import] 、 [Execute] 、 [Commit] といったアクションを含む、Dataprep ワークフローで最も重要なユーザー アクションのショートカット。. |
2 |
コンテンツブラウザ プレビュー |
入力ファイルからインポートしたすべてのアセットをリストします。これは、グラフを Commit (コミット) するときに Visual Dataprep システムが [コンテンツブラウザ] に作成するアセットのプレビューです。 |
3 |
ビューポート プレビュー |
入力ファイルからインポートした 3D シーンの視覚的なプレビューを表示します。 |
4 |
アウトライナ プレビュー |
入力ファイルからインポートした 3D シーンのすべてのアクタをリストします。これは、Visual Dataprep システムがレベルで作成するアクタと、レベルの [World Outliner (アウトライナ)] で作成されるシーン階層のプレビューです。 |
5 |
設定パネル |
このパネルを使用して、3D シーンをインポートする入力ファイル、およびプロジェクトの [コンテンツブラウザ] でアセットを作成する場所を指定します。 Dataprep アセットの インスタンス でオーバーライドできるように Dataprep グラフでパラメータを公開している場合は、ここにリスト表示されているパラメータを [Parameterization (パラメータ化)] セクションでも確認することができます。詳細は「 Dataprep インスタンスを使って作業する 」を参照してください。 |
6 |
パレット |
Dataprep グラフ エディタにドラッグしてインポート レシピをビルドできる構成要素を表示します。 |
7 |
Dataprep グラフ エディタ |
Dataprep レシピを準備するエリアです。ここでは、Unreal Engine でリアルタイム ビジュアリゼーション用入力コンテンツを準備するために、左から右に Dataprep システムが実行されます。 |
8 |
詳細パネル |
メインレベルエディタの [Details (詳細)] パネルと同様に、 [アウトライナ プレビュー] で選択したアクタに関する情報を表示します。これらの設定は読み取り専用であることに注意してください。これらは単なる参考情報として提供されており、アクタに対する Dataprep グラフの効果を評価できます。 |
Dataprep のワークフロー
下記の手順は、Visual Dataprep アセットをセットアップするための一般的なワークフローです。
-
入力ファイルを指定します。 右上の [Setttings (Dataprep)] パネルで、インポートするファイルごと、または入力ファイルの各フォルダごとに新しい入力プロデューサーを作成します。また、以下の設定をカスタマイズすることができます。
-
Folder は、インポートされたアセットを維持するためにプロジェクトの コンテンツ ブラウザ で作成されたフォルダの名前を決定します。デフォルトでは、アセットは種類に応じて Datasmith によってこのフォルダ内のサブフォルダ (スタティックメッシュ用、マテリアル用、テクスチャ用など) へ配布されます。(Dataprep グラフの作成時に Output to Folder 操作を使ってデフォルト配布をオーバーライドすることができます。)
-
Level Name はシーンを維持するために作成される新しいレベル アセットの名前を設定します。Dataprep グラフの結果をコミットした後、サブレベルを追加することで、インポートされたシーンをプロジェクトのレベルに追加することができるようになります。
-
-
予備インポートを行います。 ツールバーの [Import] ボタンを押して、ソース ファイルを一時的なワールドにインポートします。
ファイルから読み取られたコンテンツで 3D ビューポートとその他のプレビュー パネルが更新されます。このコンテンツはまだプロジェクトに追加されていません。Dataprep エディタだけに存在する一時的なワールドにあります。これにより、プロジェクトに結果を保存する前に、入力ファイルから読み取ったアセットとシーン階層を変更できます。
この手順は厳密に言えば必須ではありませんが、Dataprep グラフをビルドするときに、Dataprep グラフの効果を簡単に評価できるようになります。
-
Dataprep グラフをビルドします。 パレットから 選択 (Select By) ノードと オペレーション ノードをDataprep グラフ エディタにドラッグし、アクション ノードを実行したい順序で接続します。以下の「 Dataprep グラフ 」を参照してください。
-
グラフをテストします。 ツールバーの [Execute (実行)] ボタンを押して、ビルドした Dataprep グラフを使用してソース ファイルからインポートしたデータを実行します。プレビュー パネルが更新され、結果が表示されます。
ブロックまたはアクション ノードは、名前を右クリックしてドラッグし [Disable (無効にする)] オプションを選択することで、個別に無効化することができます。無効にされたブロックまたは アクション ノードはグラフ内でグレーアウトされます。再度メニューを開いて [Enable (有効にする)] オプションをクリックすると有効になります。
-
コミットします。 入力ファイルからインポートした 3D データに対するグラフのエフェクトが満足のいくものなら、ツールバーの [Commit] ボタンを押してインポート処理を完了させます。
結果をコミットすると、Visual Dataprep システムは [コンテンツ ブラウザ プレビュー] のアセットをプロジェクトのアセットに保存します。また、現在開いているレベルを変更して、 [アウトライナ プレビュー] に表示されるアクタの階層を追加します。
アクタ階層を新しいレベルにインポートする場合は、 [Settings (Dataprep)] パネルの [Sub-Level] 設定でレベルの名前を設定します。Visual Dataprep システムは、(まだ存在しない場合) この名前で新しいレベルを作成し、そのレベルにアクタを追加します。そして、Unreal Editor のメイン ウィンドウで現在開いているレベル内のサブレベルとしてそのレベルを追加します。
Dataprep グラフ
Dataprep アセットの中心は Dataprep グラフです。つまり、ここで指定した入力ファイルのセットに対してシステムが実行する一連の操作を行います。
すべての Dataprep グラフは アクション ノードと呼ばれる構成要素 (ブロックが垂直に重なったもの) で作成されています。例えば、上記のグラフには 3 つのアクション ノードが含まれています。Dataprep グラフを実行すると、左側の Start ノードから開始し、それぞえrのアクション ノードを左から右の順に実行します。
条件付きで分岐が可能なブループリント グラフとは異なり、Dataprep グラフは常に分岐のない単一の実行パスに沿って左から右に進行します。また、連続するアクション ノード間にデータフローはありません。すべてのアクション は同じものを使用します。つまり、指定した入力ファイルからインポートされるアセットとアクタのセットを使用します。
それぞれのアクション ノードは、1 つ以上のブロックのスタックで構成されています。Dataprep グラフがアクションを実行すると、アクション ノードの各ブロックが上から下に処理されます。
アクションのビルドを作成するには、左側のパレットからブロックをグラフ エディタにドロップするか、グラフ エディタのバックグラウンドを右クリックして状況に応じたパレットからブロックを選択します。
オペレーション、フィルター、トランスフォーム
基本的な 3 種類のブロックを Dataprep アクション ノードで使用することができます。
-
オペレーション はアセットまたはアクタを事前定義した方法で変更します。例えば、上記の Set Material 、 Compact Scene Graph 、 Set Simple Collision のそれぞれのブロックは、すべて異なる種類のオペレーションです。
Dataprep グラフで使用できるすべての様々なオペレーションの詳細については、「 Visual Dataprep 操作リファレンス 」を参照してください。
-
フィルタ ( Select By ブロックとも呼ばれます) は、現在の アクション ブロックでそれらのオペレーションが変更するアセットとアクタを決定します。デフォルトでは、すべてのアクション ステップは、入力ファイルから構築された一時的なワールドに含まれるすべてのアセットとアクタに対してオペレーションを実行します。これらの フィルタ ブロックを使用して、これらのアセットおよびアクタのサブセットを定義し、それによってアクション ノードが変更するオブジェクトを制御できます。
Dataprep グラフで使用できるすべてのフィルターの詳細については、「 Visual Dataprep セレクション リファレンス 」を参照してください。
-
トランスフォーム は選択中のアセットとアクションを複雑な方法で変更します。この点において、フィルタと似ています。ただし、フィルタ ブロックは、そこに渡されたオブジェクトのリストの絞り込みのみ行います。対照的にトランスフォーム ブロックは現在選択しているものにオブジェクトを追加することができます。
たとえば、シーン階層から特定のツリー オブジェクトを選択するとします。そのために、フィルタ ブロックを使ってシーン要素のフルセットを少数の特定の親要素に絞って、トランスフォーム ブロックを使ってその選択を再拡張して選択した要素の子供を含みます。
アクタ内で選択したオブジェクトのセットを拡張または変更するために使用する各種トランスフォームの詳細は「 Visual Dataprep Selection Transform Reference 」を参照してください。
アクションの例
以下に示すアクション は、CAD アセンブリの部品に新しいマテリアルを設定しています。このノードは一連のステップを実行し、フィルタとオペレーションのスタックを通してデータを上から下に処理します。
ステップ番号 |
名前 |
ブロックタイプ |
説明 |
---|---|---|---|
1 |
入力ピン |
N/A |
アクション は、すべてのアセットとアクタを含む一時的なワールドからすべてのデータを収集し、それらのオブジェクトをスタックの一番上のブロックに渡します。 |
2 |
Filter by Tag |
Filter |
このフィルタは、「Metal」タグを持つアクタのみを保持し、そのアクタのリストを次のブロックに渡します。 |
3 |
Filter by Actor Label |
Filter |
このフィルタは、名前に「Mechanical」という単語が含まれるアクタのみを保持し、それらを次のブロックに渡します。 |
4 |
Set Simple Collision |
Operator |
この操作は、上記のフィルタで識別された一連のアクタによって参照される、すべての Static Mesh アセットにボックス コリジョン形状を設定します。そして、アクタの同じリストを次のブロックに渡します。 |
5 |
Set Material |
Operator |
最後の操作は、上記のフィルタで識別されたアクタのセットが所有するすべてのスタティック メッシュ コンポーネント上のすべてのマテリアルを見つけ、それらのマテリアルをブロックの Material 設定で代わりに指定します。 |
このアクションのすべてのブロックが完了したら、グラフの次のアクションの実行が開始します。次のアクションが開始すると、テンポラリ ワールドからすべてのデータを再度集めます。前のブロックによって整備されたすべてのフィルタは考慮されなくなります。ただし、マテリアルの変更、アクションの削除など、前のアクションによるシーンの変更は次のアクションへ維持されます。
フィルタを使用する
すべてのフィルタ ブロックは、操作ブロックで変更するアセットとアクタの正確なリストの取得と、フィルタに期待どおりの効果があるかの確認を容易にするオプションがあります。
これらのオプションにアクセスするには、フィルタ ブロックを右クリックして、コンテキスト メニューの [Filter] セクションを開きます。
複数のフィルタ ブロックに影響を与えるには、 Control キーを押しながら選択対象のすべてのブロックを左クリックします。影響を与えるブロックがすべて強調表示されたら、強調表示されたブロックのいずれかを右クリックします。
フィルタのロジックを反転する
[Filter] > [Inverse Filter(s) Selection] を選択して 選択 ブロックの選択ロジックを Exclude By ブロックに変えます。これにより、同じアクションの操作は、設定した条件に一致 しない シーン要素のセットにのみ適用されます。
フィルタ結果をプレビューする
[Filter] > [Preview Filter(s)] を選択して [Content Browser Preview] パネルと [World Outliner Preview] パネルでフィルタで選択されたすべてのアセットとアクタの横にチェックマークを表示させます。
一度に表示できるのは 1 つのフィルタ、または選択した 1 セットのフィルタとなります。ことなるフィルタまたは異なるフィルタ セットのプレビューを開始すると、前のフィルタのプレビューは停止します。