Datasmith インポート プロセス

Datasmith が Unreal Engine にシーンをインポートする方法での特有の問題に関する詳細、およびインポートしたアセットを Unreal で使用できるようにするための次のステップについて説明します。

以下のセクションでは、シーンの変換時に Datasmith が対処する特有の問題に関する詳細について説明します。これらの問題を理解しておくと、Datasmith が生成した結果を解釈し、コンテンツを Unreal Editor で使用する場合に役立ちます。

このページで使用する 2 つのプロジェクトは Sketchfab からダウンロードすることができます。

単位とスケール

Unreal Engine ではすべての距離は常にセンチメートル単位で測定されます。ただし、他の 3D デザイン アプリケーションでは通常、測定単位の選択肢が提供されています。ソース アプリケーションで別の測定単位を使用している場合、Datasmith は Unreal Engine でジオメトリが実世界とまったく同じサイズで 3D 空間での適切な位置に表示されるように、シーンのスケールを自動的に調整します。ソース アプリケーションでの作業方法を変更する必要はありません。

たとえば、ソース アプリケーションで測定単位としてインチを使用している場合、元のシーンで 10 単位の長さのオブジェクトは、Unreal Engine では 25.4 ワールド単位の長さになります。

datasmith-units-1.png

datasmith-units-2.png

ソース

インポート後

シーン階層に個々のオブジェクト レベルで補われる非統一のスケールとカスタム ピボット トランスフォームのついた親が含まれると、座標システム変換が複雑なために Unreal Engine での結果が最初のシーンと一致しない可能性があります。この問題が発生したら、オリジナル シーンに戻ってシーン階層でトランスフォームをシンプル化することで、問題を解決できます。

名前とラベル

Datasmith は、ソース アプリケーションでのジオメトリに関する命名情報を検出し、作成するアセットやアクタに対して可能な限りその情報を再利用します。厳密なプロセスはアプリケーションやファイル形式ごとに多少異なり、Unreal Engine での結果はソース アプリケーションとは少し異なることがありますが、最終的な目標は、インポート後にユーザーがコンテンツを見つけて管理できるようにすることです。

スタティック メッシュでは、コンテンツ ブラウザでのアセットの名前、アセットのディスク上でのファイル名、およびレベルでのアクタの名前が異なることがよくあります。

  • コンテンツ ブラウザのラベル - Datasmith はソース ファイルで見つけた命名情報 (存在する場合) に基づいて、コンテンツ ブラウザでの各スタティック メッシュ アセットのラベルを生成します。 サポートされている一部のアプリケーションやファイル形式では、同じ名前の複数のオブジェクトが存在することができます。シーンに同じ名前の複数のオブジェクトが存在する場合、コンテンツ ブラウザで複数のアセットが同じラベルで終わっていることがあります。

  • ファイル名 - ただし、各アセットのディスク上でのファイル名は一意である必要があります。したがって、Datasmith はソース アプリケーションから抽出した一意の識別子を使用して、各アセットのファイルに名前を付けます。

  • アクタ名 - Datasmith は 1 つのアクタをレベルに配置するごとに、ソース ファイルでの対応するオブジェクトとまったく同じ名前 (存在する場合) をアクタに付けようとします。 一意の名前を見つけられない場合は、コンテンツ ブラウザから同じラベルを再利用してそのアクタに名前を付けます。レベルにその同じ名前の別のアクタがすでに存在する場合、Datasmith は数値のサフィックスをインクリメントしてアクタの名前を一意にします。

コンテンツ ブラウザでスタティック メッシュ アセットに表示される「ラベル」と、Datasmith がそのアセットに対して生成するディスク上のファイルの「名前」は区別されていることに注意してください。これは、エディタでの作業中、ほとんどの目的に対して気にしなくてもよいはずですが、ブループリントまたは Python スクリプティングを使用してアセットまたは Datasmith のシーンを操作する場合には、この区別を意識しておく必要があります。

トライアングルの向き

実行時にできる限り最高のパフォーマンスに近づけるために、Unreal Engine は表示を想定していないトライアングルをすべてカリングします。この処理によって、表示を想定していないトライアングルのレンダリングに GPU サイクルが浪費されることが回避しています。特に、エンジンが想定しているオブジェクトの厚みです。カメラの方を向いていないトライアングルはすべて、そのオブジェクトの背面にあると想定され、そのオブジェクトの全面からは表示されません。これと背面カリングといいます。3D レンダリングで広く使用されている最適化手法です。

ただし、一部のデザイン アプリケーションでは、サーフェスの前面と背面を区別せず、表示方向に関係なくサーフェスをレンダリングします。デザイン ツールの操作時に、サーフェスの向きを意識していないこともあります。そのため、サーフェスと垂直な方向のサーフェス法線がが内側指していることや、サーフェスを表示する必要がある方向とは別の方向を指していることがあります。これにより、厚みがない平面の一枚壁のジオメトリを作成してしまうこともあります。

そのため、Unreal Engine にインポートしたシーンを特定の角度から表示すると、部分的に表示されないことがあります。モデルが部分的にインポートされていないように見えますが、そのサーフェス法線がシーンを表示するのに使用しているカメラとは別の方向を指している可能性があります。そのモデルを回転すると、見えなかったサーフェスが急に表示されることがあります。

たとえば、次図のシーン (左側) では、ジオメトリが正しくインポートされていても、天井とパイプの端が欠落しているように見えます。マテリアルの [Two Sided (両面)] オプションをオンにすると、そのサーフェスが表示されます (詳細については下記を参照)。

片面

両面

この状況に対処するには、ソース アプリケーションで行うのが最適な方法です。以下の推奨事項に留意してください。

  • すべての面から見える必要があるオブジェクトはすべて、オブジェクトに厚みを持たせてモデル化し、法線フェースが外側を向くようにすることを強くをお勧めします。

  • オブジェクトが見える必要があるのは片面からのみと分かっている場合は、ソース アプリケーションでそのサーフェスの法線を反転してからシーンを再インポートすることによって、欠落しているメッシュを修正できます。そうすると、そのサーフェスは片面のままですが、そのサーフェスが面している向きを少なくとも反転させることで、必要な方向から Unreal Engine で表示したときに正しく表示されます。

  • Rhino、3ds Max、Cinema 4D、SketchUp などのモデリング アプリケーションは、裏向きのトライアングルを見つけやすくするビューポート モードを提供しています。詳細は、ご使用のモデリング ツールの説明書を参照してください。

ただし、以下のオプションを検討することで、この問題をソース シーンに戻らずに Unreal Editor で修正できます。

  • スタティック メッシュ エディタでトライアングルの向きを反転することで、トライアングルが別の方向を向くようにできます。「モデリング モードの概要」を参照してください。 ただし、トライアングルが反対側から見える場合は、同じ問題が残ります。この方法は、内側からのみ表示されない天井などの問題には適切な解決策なりますが、両側から見える内壁には適しません。 ジオメトリのこのピースをソース シーンで修正してから Datasmith のシーン アセットを再インポートすると、スタティック メッシュ エディターで行った変更内容が失われることに注意してください。そのため、何か別の理由でソースに戻ってジオメトリを修正する必要がある時に、SketchUp で一緒にフェースの向きを修正するようにします。

  • マテリアル エディタでマテリアルを両面にすることができます。両面にすることで、いずれかの側から見えれば、エンジンがそのサーフェスをレンダリングします。これは一見適切な解決策のように思われますが、サーフェスの両面ではライトマップ テクスチャで同じ空間が使用されるので、スタティック ライト または 固定ライト と一緒に使用するとビジュアル アーティファクトが生成されることがあります。 マテリアルがマテリアル インスタンスである場合は、マテリアル エディタの [Details (詳細)] パネルで [General (一般)] > [Material Property Overrides (マテリアル プロパティの上書き)] > [Two Sided (両面)] を確認します。または、マテリアル エディタ[Details] パネルでも確認できます。

    クリックしてフルサイズで表示。

  • フェースの可視性が問題ではなく、オブジェクトを通して入ってくるライトの問題 (指向性ライトのオーバーヘッドからのライトが適切にブロックされていない天井など) であれば、両側からシャドウをキャストするように Static Mesh アクタを設定できます。そのためには、両面からシャドウをキャストできるようにスタティックメッシュ アクタを設定します。 [Details (詳細)] パネルで [Lighting (ライティング)] > [Shadow Two Sided (両面からのシャドウ)] 設定を開きます。

    クリックしてフルサイズで表示。

Unreal Engine ではシーンを照らすための複数の方法が提供されています。最高の実行時パフォーマンスと、通常は最も滑らかで間接照明の最も現実味のある広がりを提供する方法は、ベイクされたライティングです。Unreal Engine でこのアプローチを使用するには、シーン内の照明の [Mobility (可動性)][Static (スタティック)] または [Stationary (固定)] に設定し、Lightmass と呼ばれるツールを Unreal Editor で使用してシーンのライティングを構築します。この方法では、スタティック ライトおよび固定ライトからシーン内の各オブジェクトに達するライトを計算し、それをライトマップという特別な種類のテクスチャに格納します。実行時に、そのライティング情報が各オブジェクトのライトマップ テクスチャからサーフェスに適用されます。

このシステムが機能するためには、スタティック メッシュ内のすべての頂点が、ライトマップ テクスチャの 2D 空間内の一意の座標にマッピングされている必要があります。このマッピングは UV セットまたは UV チャンネルと呼ばれます。さらに、この 2D 座標空間は、メッシュ内のどの 2 つのトライアングルも 2D テクスチャ空間で互いに重ならないような方法で配置されている必要があります。メッシュ内の 2 つのトライアングルが 2D テクスチャの同じエリアにマッピングされている場合、ライトマスはライトの一意のパターンおよびそれらの各トライアングルのシャドウを格納できなくなります。その場合、実行時に不規則なライティング アーティファクトが生成されます。

すべてのスタティック メッシュでスタティック ライティングを受ける準備が整うように、Datasmith はインポートする各スタティック メッシュに対して Unreal Editor の自動アンラップ システムを自動的に呼び出します。このプロセスによって、次の 2 つの新しい UV セットが各スタティック メッシュに追加されます。

  • 1 つは、メッシュを 2D 空間での平坦な表現に取りまとめるトライアングルの単純なアンラップです。これはメッシュを複数の小さな「アイランド」に分断します。各アイランドはメッシュ サーフェスの連続した断面を表します。

  • 最初のライトマップ内のアイランドは、重ならずにアイランドの周囲の無駄な空間を最小限に抑えるようなレイアウトに収まるように再配置およびサイズ変更されます。これは、レベルでのライティングを構築するときにオブジェクトのライトマップに使用される最終的なレイアウトです。

次に、Datasmith は、2 番目に生成される UV をライトマップの格納と適用に使用するように、スタティック メッシュ アセットを自動的にセットアップします。

3ds Max を使用していて、ライトマップ用に使用する UV チャンネルをセットアップ済みの場合は、「3ds Max での Datasmith の使用」を参照してください。

コリジョンと物理

Datasmith はデフォルトでは、作成するスタティック メッシュ アセットの物理をセットアップしません。インポートした後に Unreal Editor でスタティック メッシュの物理をセットアップできます。詳細については、「スタティック メッシュによるコリジョンのセットアップ」または「ブループリントおよび Python でのスタティック メッシュによるコリジョンのセットアップ」を参照してください。

3ds Max を使用している場合は、3ds Max で独自のカスタム ジオメトリをモデル化し、Datasmith インポータが、作成するスタティック メッシュ アセットにそのジオメトリを自動的に割り当てるようにします。詳細は「3ds Max での Datasmith の使用」を参照してください。

ライト

Datasmith はファイル形式から対応しているライト ソースを Unreal Engine でサポートされている最適なタイプに自動的に変換しながらインポートします。代表的なタイプは、ポイント ライトスポット ライト矩形ライトディレクショナル ライト です。

エリア ライト、平面ライト、ボリューム ライト

2D 形状または 3D ボリュームから放出されるライトをサポートしているアプリケーションもあります (3ds Max および Cinema 4D など)。Unreal Engine のライトには、これらのタイプにぴったり匹敵するライトはありません。Mental Ray エリア ライト、V-Ray 平面/ディスク/ドーム/球面ライトなどが含まれます。Datasmith は、これらのいずれかのエリア ライトを 3ds Max からインポートするときに、DatasmithAreaLightMesh というカスタム記述された特別なブループリント クラスを使用してライトの挙動を模倣します。

エリアライト オフ

エリアライト オン

このブループリントは基本的に、自動生成されたエミッシブ サーフェスを、自動生成された矩形ライト、ポイント ライト、またはスポット ライトと組み合わせたものです。

  • エミッシブ サーフェスは、レベルの 3D 空間および他のサーフェスからの反射での、ライトの可視の物理エクステントを表現します。

  • 矩形ライト、ポイント ライト、またはスポット ライトは、実際のライトをシーンに放出します。

エミッシブ グローの形状、サイズ、および強度、および Light アクタのプロパティを調節できます。[Level Viewport (レベル ビューポート)] または [World Outliner (ワールド アウトライナー)]DatasmithAreaLightMesh アクタを選択し、[Details (詳細)] パネルの [Light (ライト)] カテゴリにある設定を使用します。例えば、

クリックしてフルサイズで表示。

一部の設定 ([Color (色)][Intensity (強度)] など) は、エミッシブ グローと Light アクタの両方に影響を与えます。

この設定により、ライトがシーンで可視化され、周囲のオブジェクトに光が当たるようになります。ただし、3ds Max で行うオフライン レンダラとは異なり、DatasmithAreaLightMesh でスポット ライトまたはポイント ライトを使用していると、DatasmithAreaLightMesh からレベルに放出される実際のライトは、サーフェス全体からではなく単一点からキャストされます。

現時点ではエミッシブ サーフェスでは、ライトマスを使用してライティングをベイクしているか、または動的ライティングを使用しているかに関係なくシーンにライトがキャストされません。レベル内の周囲のオブジェクトに実際に光を当てるのは、ポイント ライトまたはスポット ライトのコンポーネントだけです。

Materials (マテリアル)

Datasmith のインポート プロセスでは、インポートするシーン内で認識したジオメトリ サーフェス プロパティの異なるセットそれぞれを表すために、Unreal Engine のプロジェクトに新しいマテリアル アセットが作成されます。シーン トランスフォームの目的はサーフェス プロパティをできる限り忠実に引き継ぐことですが、インポートした後にマテリアルの調整が必要になることがよくあります。マテリアル アセットをダブルクリックすると編集できます。

Materials」フォルダで見つかるマテリアル アセットの多くは、マテリアル インスタンスです。したがって、マテリアル インスタンスを編集するときに、親マテリアルまたは「マスター」マテリアルによって決められている事前設定の一覧が表示されます。コンテンツ ブラウザでは、マテリアルがマテリアル インスタンスかを確認することができます。

クリックしてフルサイズで表示。

マテリアル インスタンスの説明および使用方法の詳細については、「インスタンス化マテリアル」および「マテリアル インスタンスを作成して使用する」を参照してください。

各マテリアル インスタンスには親マテリアルもあります。親マテリアルは、ブループリントに類似したノード グラフが含まれている別の種類のマテリアル アセットです。このグラフによって、親マテリアルやそのマテリアル インスタンスのいずれかまたは複数が適用されているサーフェスを Unreal Engine がレンダリングする時に GPU で実際に行う操作が決まります。親マテリアルのグラフが作成される方法によっても、そのマテリアル インスタンスに公開されている設定、およびそれらの設定がどのように使用されるかが制御されます。

Datasmith は、以下の原則に従って、ソース アプリケーションに応じて異なる親インスタンスをマテリアル インスタンスに割り当てます。

  • Datasmith はほとんどの場合、Datasmith プラグインの一部として含まれている既存の親マテリアルを各マテリアル インスタンスに割り当てます。通常、これらの既存の親マテリアルで公開されている事前定義設定は、ソース アプリケーションで利用可能なマテリアル作成設定と非常によく似ています。

    Datasmith がプロジェクト内に作成した各マテリアル インスタンス内の公開設定はユーザーが自由に編集できます。親マテリアルのプロパティ セットは、Datasmith で提供されている親マテリアルごとに異なり、以下のようになっています。

    • Datasmith_Color - この親マテリアルはソリッド カラーやテクスチャ化サーフェスに使用され、主に CAD モデルのインポートに使用されます。以下の「Datasmith カラーマテリアル」を参照してください。

    • SketchUpMaster - この親マテリアルは SketchUp からインポートされたすべてのサーフェスに使用されます。SketchUp Pro」ガイドを参照してください。

    • RevitMaster - この親マテリアルは Revit からインポートされたすべてのサーフェスに使用されます。「Revit」ガイドを参照してください。

  • 3ds Max からコンテンツをインポートする場合、Datasmith がプロジェクトの Materials/Master フォルダ内に新しい親マテリアルも作成していることが分かります。3ds Max では他のほとんどのソース アプリケーションよりずっと豊富なマテリアル作成ワークフローが提供されていて、Unreal Engine のマテリアル グラフと概念的に類似しているワークフローがあります。したがって、Datasmith は通常、事前設定グラフや公開設定の事前設定リストを持つ事前設定の親マテリアルを再利用するのではなく、3ds Max でのカスタム マテリアルに非常に近い新しいマスター マテリアルを作成できます。 その場合でも、Datasmith は通常、それらの親マテリアル用のマテリアル インスタンスを作成して、それらのマテリアル インスタンスをスタティック メッシュ アセットとシーン内の Static Mesh アクタに適用します。ほとんどの場合、レンダリング結果を適切なレベルで制御するには、そのマテリアル インスタンスのプロパティを修正するだけで十分です。 3ds Max の一部のタイプのマテリアルに対して、Datasmith はマテリアル インスタンスの作成を省略することがあります。その場合は、スタティック メッシュ アセットと Static Mesh アクタに新しい親マテリアルを割り当てるだけです。

サーフェスをシェーディングする方法をプロパティに基づいて決めるためにマテリアル インスタンスで使用される実際のマテリアル グラフを変更する場合は、親マテリアルを複製してから、その複製でプロパティを変更する必要があります。このプロセスの詳細は、「Datasmith のマスター マテリアルを変更する」を参照してください。

もうひとつの方法として、Datasmith によって作成されたマテリアルを使用するのではなく、それを常に別の物理ベースのマテリアルで完全に置き換えることもできます。ユーザーが Unreal Editor で独自に作成したマテリアル、またはサードパーティーによるマテリアルで置き換えることができます。

Datasmith カラー マテリアル

多くのコンピューター支援デザイン (CAD) アプリケーションでは、ジオメトリのシェーディングに単純なサーフェス カラーが使用されています。Datasmith は通常、これらのサーフェスを Datasmith_Color マテリアルのインスタンスとして Unreal に取り込みます。

  • このマテリアルのカラーは、通常はソースのシーンからのカラーに厳密に一致するように事前設定されています。 このマテリアルを Unreal Engine で使用する場合は、カラー値の輝度に特に注意してください。デザイン ツールによっては、自然界ではほとんど見ることがない非常に明るいサーフェス カラー (純白など) が許可されていることがあります。現実味のあるライティングになるように、そのような値の色調を大幅に抑えることが必要になることがあります。

  • Datasmith は通常、ソース マテリアルのオパシティを維持します。ソース シーンでサーフェス カラーが半透明 (ガラス パネルなど) に設定されている場合、Datasmith はそのオパシティを色設定の アルファ チャンネルに取り込みます。 このアルファ チャンネルを使用して、以前は不透明だったマテリアルを Unreal Editor で半透明にする場合は、マテリアルのブレンド モードも変更する必要があります。[General (一般)] セクションで [Material Property Overrides (マテリアル プロパティの上書き)] グループを展開し、[Blend Mode (ブレンド モード)] オプションをオンにして、その値を [Translucent (半透明)] に設定します。 

  • Datasmith_Color 親マテリアルでは、3 つの異なる種類のテクスチャ マップを使用することもできます。サーフェスのベース カラーを提供するディフューズ マップ (カラー設定を上書きする)、サーフェスの詳細を提供する法線マップ、同じサーフェスの部分ごとに異なるオパシティ値を持つようにできる透過マップ、の 3 つがあります。 Datasmith は、これらの種類のテクスチャ マップをソース アプリケーションからエクスポートできる場合に、そのテクスチャ マップ設定を使用することがあります。フラットなカラーの Datasmith_Color インスタンスがあり、サーフェスの現実感を向上させるためにこれらのようなテクスチャ マップを使用する場合は、これらの設定をアクティブにして、テクスチャ アセットをそれらに割り当てることもできます。 いずれかのマップ設定を有効にしている場合は、[Texture Parameter Values (テクスチャ パラメータ値)] の中に新しい設定が追加されて、使用するテクスチャをそこで設定できます。

    ただし、Datasmith_Color 親マテリアルでは公開されていない Unreal Engine レンダラの物理ベースの他のプロパティ (ラフネス、メタリックなど) を活用できるように、独自のマテリアルを一から作成する方法を習得する方がさらに最適です。「物理ベースのマテリアル」を参照してください。

アニメーション

アニメーション化 3D トランスフォーム付きのオブジェクト (平行移動、回転、スケール値が経時変化するオブジェクト) がソース シーンに含まれている場合、Datasmith はそれらのアニメーションを Unreal Engine プロジェクトにインポートできます。Datasmith は、シーン内の各アニメーション化オブジェクトのトラックが含まれている新しい レベル シーケンスを作成し、そのレベル シーケンスを Datasmith シーン アセットの横にある「Animations」フォルダに保存します。このレベル シーケンスを使用して、実行時にそのアニメーションを Unreal Engine または Unreal Editor で再生できます。

たとえば、次の 3ds Max のシーンでは、このガレージのドアの断面がスプラインに沿って動くようにアニメーション化されていて、同時にカメラがそのオブジェクトのまわりで回転するようにアニメーション化されています。

インポートした後に、コンテンツ ブラウザ のレベル シーケンスをダブルクリックすると、シーケンサー UI の中で開いてアニメーションが再生されます。

たとえば、このビデオでは、レベル ビューポートは Datasmith のシーンでカメラからのビューを表示するように設定されているため、アニメーション化された結果は 3ds Max での元のアニメーションと同じように見えます。

このワークフローに関して重要な注意事項がいくつかあります。

  • Datasmith はアニメーション カーブをインポートしません。その代わりに、元のソース アニメーションのフレームごとに、オブジェクトの現在のトランスフォームを含むアニメートされたオブジェクトごとにキーフレームをベイクします。

  • Datasmith は、サブオブジェクト、メッシュ歪み、オブジェクト プロパティ、またはスケルタル リグ アニメーション上ではアニメーションを処理しませんDatasmith は、3D 空間でのシーン オブジェクトの全体的な平行移動、回転、またはスケーリングを変化させるアニメーションのみを処理します。

レベル シーケンスの詳細、およびシーケンサ UI での作業方法の詳細については、「[シーケンサー エディタ (working-with-media/integrating-media/Composure/Sequencer)]」を参照してください。

アニメーションのインポートのサポートは、現時点では 3ds Max、Cinema 4D、VRED、Deltagen、glTF ファイルからインポートされたシーンのみです。 (エクスポートした Datasmith ファイルに 3ds Max のシーンからのアニメーションを含める方法に関する手順については、「3ds Max から Datasmith ファイルをエクスポートする」を参照してください)。

カメラ アニメーションをレンダリングする

ソース シーンにアニメートされたカメラが含まれていると、Datasmith が作成したレベル シーケンスは Unreal Engine レベルでそれに対応する CineCameraActor のトラックを含みます。カメラは 3D 空間で移動および回転するので、このトラックはカメラの 3D トランスフォームを格納するキーフレームを含みます。ワールド アウトライナー で CineCameraActor を選択し、Unreal Editor でレベル シーケンスをプレイすると、レベル ビューポートのカメラのプレビュー ウィンドウがそのカメラの視点からアニメーションを再生することが確認できます。

ただし、レベル シーケンスをアニメートされたカメラの視点からディスク上に動画ファイルまたは画像シーケンスにレンダリングする必要があれば、最初に Camera Cut トラックをレベル シーケンスに追加し、次にアニメートされたカメラを Camera Cut トラックに追加する必要があります。

  1. レベル シーケンスをダブル クリックしてシーケンサー UI で開きます。

  2. [+ Track] ボタンをクリックして、メニューから [Camera Cut Track] を選択します。

    クリックしてフルサイズで表示。

  3. 新しい Camera Cuts トラックの [+ Camera] ボタンをクリックして、視点を使用するカメラを選択します。レベル シーケンスですでにアニメートされたカメラを使用する場合は、[Existing Binding (既存バインディング)] リストから選択します。

    クリックしてフルサイズで表示。

    レベル シーケンスに多くのアニメートされたトラックが含まれると、Existing Binding リストでカメラを見つけることが難しくなります。そのような場合、その代わりに [New Binding (新しいバインディング)] リストからカメラを選択する、または ワールド アウトライナー から CineCameraActor をシーケンサー UI の新しい Camera Cuts トラックへドラッグします。

  4. CineCameraActor は Camera Cuts トラックに表示されます。必要に応じて、このブロックの右側と左側の境界をドラッグして、アニメーションの開始と終了に合わせます。

    クリックしてフルサイズで表示。

  5. 次にレベル シーケンスをレンダリングするときに、Camera Cuts トラックのカメラの視点から各フレームをレンダリングします。

レンダリングを自動的に異なる時間でいろいろ切り替えができるように、複数の異なる CineCameraActor を Camera Cuts トラックに追加できます。

詳細は、「カメラ カット トラック」および「Take Recorder」を参照してください。

複数のレベルでのアニメーションの使用

すべてのレベル シーケンスには、単一の特定のレベル内のアクタへの参照が含まれています。アニメーションが含まれているシーンを Datasmith を使用してインポートした場合、レベル シーケンスには、シーンをインポートするときに開いていたレベル内のアニメーション化されているアクタへの参照が含まれています。

後で同じ Datasmith シーン アセットを別のレベルにドロップすると、そのレベル シーケンスでは新しいレベルで同じアクタを見つけることができなくなります。シーケンサではトラック名は赤色で示され、新しいレベルを開いてそのシーケンスを再生しても何も起きません。これを修正するには、以下のようないくつかの方法があります。

  • 新しいレベルでのアクタのコピーを指すように、レベル シーケンスを更新します。

    新しいレベルを開いて、シーケンサのツールバーにある [General Settings (一般設定)] アイコンをクリックし、メニューから [Fix Actor References (アクタ参照を修正)] を選択します。

    クリックしてフルサイズで表示。

    Actor トラックは通常の色に戻ります。変更内容をレベル シーケンスに保存します。

    レベル シーケンスは複数のレベルで同時に動作することはできません。新しいレベルに割り当てると、古い方では作業できなくなります。

  • アクタ参照を上述のように修正する前に、このレベル シーケンス アセットをコンテンツ ブラウザで複製します。そうすると、コンテンツをインポートした元のレベルで動作するレベル シーケンスが 1 つと、新しいレベルで動作するもうひとつのレベル シーケンスができています。

    Datasmith シーン アセットを再インポートすると、元のレベル シーケンスのみが更新されて、ソース シーン内のアニメーションへの変更が適用されています。複製して修正したアクタ参の再作成が必要になることがあります。

  • インポートしたレベル シーケンスの同じアニメーションを複数のレベルで動作させる必要がある場合は、サブレベルを使用することを検討してください。Datasmith のシーンをからのレベルにインポートしてから、そのレベルを、アニメーションを再生する必要があるそれぞれのレベル内のサブレベルとして追加します。サブレベルの説明および使用方法の詳細については、「複数のレベルの管理」を参照してください。

アニメーションのタイミングとフレームの精度

多くのトラックとキーフレームを含む複雑なアニメーションを再生すると、再生がアニメーションのフレームレートと Unreal Engine が 1 秒間にレンダリングするフレーム数の間に生じるずれを調整するときに処理落ちと「ポップ」が起こることがあります。この現象を避け、最も滑らかに再生できるように、Datasmith はレベル シーケンスの Lock to Display Rate at Runtime プロパティを常にオンにします。

Sequencer UI のこの設定です。

クリックしてフルサイズで表示。

これにより、アニメーションの滑らかさが向上します。ただし、エンジンの最大フレームレートはアニメーションのフレームレートに制限されることに注意してください。エンジンのフレームレートを上げたい場合、この方法は適切ではありません。たとえば、ソース アプリケーションで 24 または 30 フレーム/秒で作成されているアニメーション クリップを 90 フレーム/秒で VR で再生する必要がある場合、エンジンのフレーム レートをアニメーションのフレーム レートに制限することは良い解決策ではないかもしれません。このような場合、Level Sequence アセットでこのオプションをオフにする必要があるかもしれません。

レイヤー

ソース アプリケーションでコンテンツをレイヤーまたはある程度類似したコンテンツとして整理する機能が提供されている場合、Datasmith はその編成を Unreal Editor で維持します。[Layers (レイヤー)] ウィンドウ ([Window] > [Layers]) を使用して、レイヤーを表示または非表示にすることや、レイヤー内のオブジェクトを素早く検索して選択することができます。

ただし、Unreal Editor ではネストしたレイヤーはサポートされていません。ソース シーンでネストしたレイヤーが使用されている場合、Datasmith はレイヤー階層を自動的に 1 つのリストに平坦化します。

Unreal Editor でレイヤーを使用する方法の詳細については、「レイヤー パネル ユーザー ガイド」を参照してください。

メタデータ

一部のソース ファイル形式では、Datasmith は、ユーザーがソース アプリケーションで設定した、シーン内のジオメトリ オブジェクトに関するメタデータをインポートします。ブループリントまたは Python スクリプトを使用して、Unreal Editor でこのメタデータにアクセスできます。このシステムの詳細については、「Datasmith のメタデータを使用する」を参照してください。

テクニカル アプリケーション特有のメタデータ

一部のサードパーティーのアプリケーションやファイル形式では、個々のシーン オブジェクトに関するテクニカル メタデータ値 (一意の ID、オブジェクト クラス、アプリケーション固有のデータなど) へのアクセスが提供されています。Datasmith は、そのようなテクニカル メタデータを、レベル内の各オブジェクトのジオメトリを表すスタティック メッシュ コンポーネントに割り当てられているコンポーネント タグにインポートします。

[Details] パネルでメタデータにアクセスすることができます。

  1. [Level Viewport (レベル ビューポート)] または [World Outliner (ワールド アウトライナー)] で、表示するコンポーネント タグが付いているアクタを選択します。

  2. [Details (詳細)] パネルで、そのアクタに割り当てられているスタティック メッシュ コンポーネントを選択します。

  3. [Details (詳細)] パネルを下にスクロールして、[Tags (タグ)] > [Component Tags (コンポーネント タグ)] リストを見つけます。

クリックしてフルサイズで表示。

このようなテクニカル情報は通常、オブジェクトを作成したソース アプリケーションに特有の情報です。したがって、前のセクションで説明した Datasmith のメタデータとは別に保持されています。それとは対照的に、Datasmith のメタデータは通常、個々のシーン オブジェクトに関する「実世界の」情報 (BIM データ、コンストラクション プロパティ、コスト、メーカー、またはプロダクション ワークフローで特別な意味を持つカスタム ユーザー定義されたプロパティ) を表すことを目的としています。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル