3ds Max での Datasmith の使用

Datasmith を使用して Autodesk 3ds Max から Unreal Editor にシーンを取り込む場合にのみ適用される特別な考慮事項について説明します。

Choose your operating system:

Windows

macOS

Linux

このページでは、Datasmith で Autodesk 3ds Max から Unreal Editor にシーンをどのようにインポートされるかについて説明します。ここでは、「 Datasmith の概要 」と「 Datasmith のインポート プロセスについて 」で説明されている基本的なプロセスにに沿っています。ただし、3ds Max に固有の特別な変換ビヘイビアがいくつか追加されています。Datasmith を使用して 3ds Max から Unreal Editor にシーンをインポートする予定がある場合は、このページを読むとシーンがどのように変換されるか、およびその変換結果を Unreal Editor で操作する方法を理解するのに役立ちます。

V-Ray in 3ds Max

UE4

画像提供:Litrix

3ds Max のワークフロー

Datasmith は 3ds Max に対して エクスポータ プラグイン のワークフローを使用します。つまり、Datasmith を使用して 3ds Max のコンテンツを Unreal に取り込むには、以下の手順を実行する必要があります。

  1. 3ds Max 用のプラグインをインストールします。「 3ds Max 用 Datasmith エクスポータ プラグインをインストールする 」を参照してください。

    Epic では、Unreal Engine のすべての新リリースに合わせて 3ds Max 用 Datasmith エクスポータ プラグインの新バージョンもリリースしています。Unreal Engine を別のバージョンに切り替える場合は、必ず該当するバージョンのプラグインをダウンロードしてインストールしてください。

  2. 3ds Max のコンテンツを「 .udatasmith 」ファイルにエクスポートします。「 3ds Max から Datasmit のコンテンツをエクスポートする 」を参照してください。

  3. まだインストールしていない場合は、 [Importers] > [Datasmith Importer] プラグインをプロジェクトで有効にします。

  4. Unreal Editor のツールバーの Datasmith インポータを使って、「 .udatasmith 」ファイルをインポートします。 「Datasmith コンテンツを Unreal Engine 4 にインポートする」 を参照してください。

他のタイプの Datasmith ワークフローについては、 「Datasmith でサポートされているソフトウェアとファイル タイプ」 を参照してください。

ジオメトリ

このセクションでは、Datasmith が 3ds Max のシーンからのジオメトリック オブジェクトを Unreal Engine プロジェクトの Static Mesh アセットと Static Mesh アクタに変換する方法に関する特別な考慮事項について説明します。

メッシュとテッセレーション

Unreal で対応するスタティック メッシュ アセットのジオメトリを作成する場合、Datasmith では、たいてい、各 3ds Max オブジェクトのレンダリング メッシュを使用します。つまり、Unreal のアセットには、通常、3ds Max のレンダリングを表示するときとまったく同じ三角ポリゴンが含まれています。

例外は、3ds Max の ボディ オブジェクト です。ボディ オブジェクトでは、Datasmith はレンダリング メッシュではなく 3ds Max の ビューポート メッシュ 上のスタティック メッシュ アセットのジオメトリをベースにしているためです。このようなオブジェクトの場合、3ds Max では、 [Viewport Display Settings (ビューポート表示設定)] > [Mesh Quality Presets (メッシュ品質プリセット)] 設定 ( [Coarse (粗い)] [Medium (中程度)] 、または [Fine (細かい)] ) で、ビューポートでレンダリングする際に使用するテッセレーションの粒度をカスタマイズできます。

Body Object viewport tessellation settings

Datasmith では、シーンの各ボディ オブジェクトのためにここで設定するテッセレーションのレベルが反映されます。この設定の詳細については、「 3ds Max ヘルプ 」を参照してください。

インスタンス

Datasmith が 3ds Max のシーンで同一マスター オブジェクトの複数のインスタンスを検出すると、そのオブジェクトに対してスタティック メッシュ アセットを 1 つのみ作成します。そして、そのスタティック メッシュの複数のインスタンスを Unreal のレベルに配置します。そうすることで通常は、プロジェクトのランタイム メモリの要件とパフォーマンスにおいて望ましい結果がもたらされ、スタティック メッシュの数が少なく抑えられることでコンテンツの管理が容易になります。

シーンに繰り返し使用される要素 (窓、ドア、椅子など) すべてに対して 3ds Max でインスタンスを使用することで、この機能を可能な限り活用することをお勧めします。

ピボット ポイント

3ds Max では、シーン内の各オブジェクトに対してカスタム ピボット ポイントを設定でき、それはオブジェクトが同じマスター オブジェクトのインスタンスであっても同様です。しかし、Unreal Engine では、同じジオメトリのすべてのインスタンスは同じピボット ポイントを使用する必要があります。Datasmith がオブジェクトを Unreal に変換するときに、そのようなピボット ポイントは以下のように扱われます。

  • 3ds Max で すべて のインスタンスで同じカスタム ピボット ポイントが使用されている場合、Datasmith はそのピボット ポイントを、作成するスタティック メッシュ アセットのピボット位置として設定します。そのオブジェクトに対して Datasmith が Unreal Engine レベルで作成する Static Mesh アクタのいずれかをユーザーが回転すると、そのカスタム ピボット ポイントの位置のまわりで期待どおりに回転します。

  • 1 つまたは複数のインスタンスで他のインスタンスと異なるピボット位置が使用されている場合、Datasmith は、その 3ds Max オブジェクトのデフォルトのピボット位置を使用するように、Unreal で作成するスタティック メッシュ アセットを設定します。そのアセットをレベル配置する必要があるごとに、Datasmith は Static Mesh アクタを作成するのではなく、そのインスタンスのカスタム ピボット ポイントの位置に新しい空の親アクタを作成します。そして、その親アクタに、そのスタティック メッシュ アセットを参照するスタティック メッシュ コンポーネントを与え、そのコンポーネントには、コンポーネントを 3D シーンで必要な位置に配置する親アクタからの変換オフセットが設定されます。Datasmith では、その子コンポーネントの名前にサフィックス _pivot を付加します。

たとえば、左側にあるティーポットでは、その蓋の上部にカスタム ピボットが配置されています。

Custom pivot points on instanced objects

Datasmith はそのシーンを Unreal に取り込むときに、3D ワールドでのそのピボット ポイントの位置に Teapot002 という新しいアクタを作成します。そのアクタには Teapot002 という名前のスタティック メッシュ コンポーネントが与えられ、そのコンポーネントはティーポットのスタティック メッシュ アセットを参照し、シーン内の他のジオメトリに対して適切な位置に表示されるように、親アクタからのオフセットが適切に設定されます。

Parent Actor to represent the custom pivot

Unreal Engine レベルで親アクタを移動、回転、およびスケーリングでき、モデルも期待どおりに動作します。この場合、モデルは Static Mesh アクタあるというより、親アクタの コンポーネント であるということに注意する必要があります。たとえば、上記の場合に、右側のティーポットはスタティック メッシュ コンポーネントを持つアクタではなく Static Mesh アクタとしてレベルでインスタンス化されています。

Datasmith では、3ds Max で異なるピボット ポイントと不均等なスケーリングの両方を持つインスタンスのインポートはサポートしていません。このようなインスタンスがある場合は、エクスポートする前に、当該インスタンスに対して Reset XForm ユーティリティ を使用します。

UV チャンネル

Datasmith は、Unreal に取り込む各スタティック メッシュに、ライトマップ テクスチャにスタティック ライティングをビルドするときにライトマスで利用可能な UV のセットがあることを必ず確認します。Datasmith ファイルをインポートする際は、Unreal Engine によって UV チャンネルが自動的に作成され、その新しいチャンネルをライトマップのベイクに使用するように各スタティック メッシュ アセットを設定します。

ただし、場合によっては、3ds Max で独自のカスタム ライトマップ UV を手動で作成することをお勧めします。手動で作成することで、シームの配置やジオメトリで三角ポリゴンに割り当てる相対空間を完全にアーティスティックにコントロールできます。その場合、UV が 3ds Max から Unreal に取り込まれる仕組みと、そのビヘイビアを上書きする方法を把握しておく必要があります。

Unreal Engine では、スタティック メッシュあたり最大 8 つの UV チャンネルがサポートされています。また、Datasmith は、ジオメトリ オブジェクトを 3ds Max から Unreal Engine のスタティック メッシュ アセットにインポートするたびに、2 つの UV チャンネルを使用してそのスタティック メッシュ用のライトマップ UV を生成します。そのため、Datasmith では、3ds Max から Unreal にインポートするオブジェクトごとに既存の UV チャンネルを最大 6 つ保持できます。

ただし、3ds Max ではオブジェクトあたり最大 99 個の UV チャンネルを使用できます。そのため、Datasmith は 3ds Max でインデックスが最も小さい 6 つのチャンネルのみをインポートします。

例えば、下図の 3ds Max オブジェクトには [Modifier List (モディファイア リスト)] に 5 つの UV チャンネルがあります。これらの各チャンネルには 0~99 の間の番号が関連付けられています。Datasmith ではこれら 5 つの UV チャンネルをインポートし、その番号を 0 から始まるようにリセットします。そのため、Unreal での UV チャンネルの番号は 0~4 になります。その後、インポート プロセスで、自動生成されるライトマップ用の 2 つの UV チャンネル (この場合は 5 と 6) が追加で作成されます。

UV channel numbering in 3ds Max and Unreal

次の表は、3ds Max と Unreal での UV チャンネル番号の関連付けの詳細を示しています。

3ds Max での UV チャンネル番号

Unreal で生成された UV チャンネル番号

1

0

2

1

3

2

10

3

99

4

5

Unreal での UV チャンネル 5 は、Datasmith のシーンに含まれているジオメトリの自動アンラップを作成するために、インポート中に生成されます。これは、UV チャンネル 6 で使用されるライトマップ UV 生成のベースになります。

6

Unreal での UV チャンネル 6 は、スタティック メッシュのライトマップ解像度の値に使用される Datasmith のインポート オプションに基づいて UV チャートを正しくパディングおよびパックするために、UV チャンネル 5 に基づいて生成されます。

インポートしたスタティック メッシュで、3ds Max で作成した既存の UV チャンネルを使用するには、以下の 2 つの方法があります。

  1. 3ds Max からシーンをエクスポートする前に、 [Datasmith Attributes (Datasmith 属性)] モディファイアを使用して、Unreal Engine でライトマップ用に使用する UV チャンネルを指定します。詳細は「 オブジェクト別に変換を設定する 」を参照してください。

  2. Unreal Editor にシーンをインポートした後に、Unreal Engine でライトマップ用に使用する UV チャンネルのインデックスを変更できます。以下のいずれかを行います。

    • スタティック メッシュ エディタの場合: [Details (詳細)] パネルで、 [General Settings (一般設定)] グループ内の [Advanced (詳細設定)] コントロールを展開し、 [Light Map Coordinate Index (ライトマップ座標インデックス)] を、使用する UV チャンネルに設定します。

    • Python の場合:次の関数を呼び出します。

      static_mesh.set_editor_property("light_map_coordinate_index", index)

カスタム コリジョン形状

場合によっては、3ds Max でのオブジェクトのカスタム ジオメトリをモデル化し、そのカスタム ジオメトリを Unreal Engine での対応するスタティック メッシュのコリジョン メッシュとして使用することがあります。そうすることによって、シーン オブジェクトの表現を、含まれているトライアングルの数を最小に抑えながら、可能な限り元のシーン オブジェクトのボリュームに近づけることができます。これは、ゲーム エンジンでの物理シミュレーションの挙動とパフォーマンスを向上させることに役立ちます。

Datasmith でこれを行うには以下の 2 つの方法があります。

  • 3ds Max でシーン内の 1 つまたは複数のオブジェクトに [Datasmith Attributes (Datasmith 属性)] モディファイアを割り当て、そのモディファイアを使用して、Unreal Engine でそのコリジョン メッシュとして使用する別のオブジェクトを指定します。詳細は 「オブジェクト別に変換を設定する」 を参照してください。

  • FBX インポータと同じ命名規則を使用して、Datasmith がそのジオメトリを対応するスタティック メッシュ アセットに自動的に割り当てるようにできます。
    別のオブジェクトと同じ名前でプレフィックスが UCX_ である凸型ジオメトリ オブジェクトがシーンにある場合、Datasmith はこの UCX_ オブジェクトを他のオブジェクトのコリジョン表現であると見なします。Datasmith はそのプレフィックスが付いていないオブジェクトのみをスタティック メッシュ アセットとしてインポートします。次に、 UCX_ プレフィックス付きのオブジェクトのジオメトリを、そのスタティック メッシュ アセットのコリジョン メッシュとして割り当てます。

使用する手法にかかわらず、ユーザーは、完全に閉じた凸型 3D 形状の任意のオブジェクトをコリジョン メッシュとして設定できます。たとえば、ボックスは凸型オブジェクトです。次の図では、凸型オブジェクトと非凸型オブジェクトを示しています。

Convex and non-convex examples

さらに、カスタム ジオメトリ オブジェクトのピボット ポイントが、元のオブジェクトのピボット ポイントとボリュームに応じた同じ位置になるようにします。たとえば、次の図では、右側にある椅子のピボット ポイントはオブジェクトの下部サーフェスにそろえられていて、ボリュームの中心にあります。したがって、左側にある単純化されたジオメトリ ボリュームのピボット ポイントは、全体的なボリュームに応じた同じ位置にそろえられている必要があります。

Pivot points on custom collision volumes

全体的なボリュームに応じた同じ位置でコリジョン ジオメトリのピボット ポイントを保持していない場合、物理ワールド内でのオブジェクトの表現は、そのオブジェクトのビジュアル エクステントとそろわなくなります。その場合に、予期していない位置でコリジョンが発生することがあります。

レベル ビューポートでコリジョン レンダリングをオンにすることで、カスタム形状が正しくインポートされていることを確認できます。ビューポートのオーバーレイ メニューで [Show (表示)] > [Collision (コリジョン)] を選択します。シーン オブジェクトの上にカスタム コリジョン ボリュームがレンダリングされています。この例では、球形モデルにボックス オブジェクトがカスタム コリジョン ボリュームとして割り当てられています。

頂点カラー

頂点色を 3ds Max オブジェクトと関連付けている場合、Unreal Engine で対応するスタティック メッシュ アセットを作成するときに、Datasmith はその色を保持します。

Unreal Editor でカスタム マテリアルを作成するときに、マテリアル グラフに [Constants (定数)] > [Vertex Color (頂点色)] を含めることで、この頂点色を使用することもできます。

たとえば、下図の左側の画像は、頂点色を表示するように設定されている 3ds Max でのオブジェクトを示しています。右側の画像は、その頂点色を取得してそれを [Base Color (ベース色)] 出力に直接渡す、単純なカスタム マテリアルを示しています。

3ds Max で表示される頂点色

Unreal Engine で表示される頂点カラー

独自のカスタム マテリアル グラフでは、上記のようにサーフェスに可視色を提供するためだけに、頂点カラーを使用する必要はありません。マテリアル グラフでは、頂点カラーを他のサーフェス プロパティと組み合わせたり、ブレンドしたりすることができます。さらに、リテラル カラー値を渡すために頂点カラーを使用する必要もありません。代わりに、カスタム データ値をソース オブジェクトのジオメトリと関連付けて、特別なビジュアル エフェクトを動作させるために Unreal Editor で作成するカスタム マテリアルにその値を渡すためのメカニズムとして、頂点色を使用できます。たとえば、頂点色を使用して木の枝や葉に重みを割り当て、その重みを使用して、頂点シェーダに適用する風のアニメーション エフェクトの効果を調整できます。

スタティック メッシュ エディタでスタティック メッシュ アセット開いてツールバーの [Vert Colors (頂点色)] トグル ボタンを有効にすることによって頂点色が正しく変換されるように、頂点色を視覚化することもできます。

Vert Colors in the Static Mesh Editor Toolbar

Datasmith は 3ds Max の他のメッシュ チャンネル ( Vertex Alpha Map Channel Color Soft Selection Color など) からのデータを変換しません。

Levels of Detail

Datasmith は現時点では、ユーザーが 3ds Max でセットアップしたカスタム LOD をインポートしません。ただし、Unreal Editor で新しい LOD を自動的に生成できます。詳細については、「 LOD の自動生成 」または「 ブループリントまたは Python で LOD を作成する 」を参照してください。

Forest Pack と RailClone オブジェクト

Forest Pack RailClone は、 iToo Software 社が作成した 3ds Max 用のオプションのサードパーティー プラグインであり、ジオメトリック オブジェクトを分散して配置したり、手順通りに配置したりすることで、3ds Max のシーンに多数のジオメトリック オブジェクトを取り入れることができます。これらのプラグインはデザインビジュアリゼーション業界で広く使用されているため、Datasmith では Forest Pack オブジェクトと Railclone オブジェクトに特化した処理を提供しています。

Forest Pack オブジェクトや Railclone オブジェクトが含まれているシーンを Datasmith を使用してエクスポートし、そのシーンを Unreal Engine にインポートする場合は、次のように処理されます。

  • Datasmith が Unreal Engine のレベルで 1 つのアクタを作成し、3ds Max でのオブジェクトの名前に応じた名前を付けます。

  • Datasmith が、そのオブジェクトで扱われているジオメトリのタイプごとに 1 つの Hierarchical Instanced Static Mesh (HISM) コンポーネントをそのアクタ内に作成します。また、プロジェクト コンテンツ内にジオメトリのタイプごとに 1 つのスタティック メッシュ アセットも作成して、そのスタティック メッシュ アセットを参照するように HISM コンポーネントを設定します。
    たとえば、次の画像は、 [World Outliner (ワールド アウトライナー)] (1) で選択されている Forest Pack オブジェクトからのアクタと、 [Details (詳細)] パネル (2) で選択されているその HISM コンポーネントの 1 つを示しています。下部では、選択されている HISM コンポーネントに関連付けられているスタティック メッシュ アセットも [Static Mesh (スタティック メッシュ)] 設定 (3) に表示されています。

    Hierarchical Instanced Static Mesh コンポーネントは、同じスタティック メッシュの多数のインスタンスをレンダリングするための非常に効率的な方法です。Unreal Engine のレンダラは、同じ HISM コンポーネントで管理されているすべてのインスタンスを 1 回の描画呼び出しでバッチ処理します (実際には、そのスタティック メッシュ アセットに割り当てられているマテリアルごとに 1 回の描画呼び出し)。そうすることで、GPU のパフォーマンスやフレーム レートに影響することなくレンダラが処理できるインスタンスの数が増加します。また、HISM コンポーネントは、Unreal Engine のフォーリッジ システムをサポートするために内部で使用されているのと同じテクノロジーです。

  • 各 HISM コンポーネント内で、Datasmith は 3ds Max のシーンで表示されるジオメトリの各インスタンスと同じ位置に同じ回転でインスタンスを追加します。

このプロセスによって、Unreal Engine での結果は、シーン階層 (そのすべてのインスタンスを内部的に管理している 1 つの Forest Pack または RailClone オブジェクト) と表示結果の両方で、元の 3ds Max のシーンとほぼ一致します。たとえば、下図の左側の画像は、2 つの異なるタイプのオブジェクトを散乱する 1 つの Forest Pack オブジェクトがある 3ds Max のシーンを表しています。下図の右側の画像は、そのシーンを Unreal Engine にインポートした表示結果を表しています。

Forest Pack in 3ds Max

Unreal Engine

Forest Pack オブジェクトまたは RailClone オブジェクトを使用して、複雑なジオメトリを含むオブジェクト (木など) を管理することもできます。ユーザーは、このようなオブジェクトを Unreal Engine では、リアルタイムでより効率的に実行されるより単純なジオメトリに置き換えようと考えるでしょう。
その場合は、3ds Max で Forest Pack または RailClone オブジェクトに [Datasmith Attributes (Datasmith 属性)] モディファイアを適用し、そのジオメトリのバウンディング ボックスのみをエクスポートするように設定します。その Forest Pack または RailClone アクタで管理されているすべてのインスタンスでは、単純化されたバウンディング ボリュームが使用されます。例:
datasmith-max-forestpack-bbox.png
[Datasmith Attributes (Datasmith 属性)] モディファイアの使用方法の詳細については、「 オブジェクトごとの変換設定 」を参照してください。
インポートした後に、HISM コンポーネントで [Static Mesh (スタティック メッシュ)] 設定を 1 回変更することによって、Unreal Engine レベル内のすべてのインスタンスで新しいスタティック メッシュ アセットが使用されるように更新できます。

ライティングとレンダリング環境

3ds Max では、Datasmith でサポートされている他のサードパーティー ソフトウェアの多くより、はるかに詳細で洗練されたライティングとレンダリングの機能が提供されています。このセクションでは、Datasmith が 3ds Max のライティングとレンダリング環境を Unreal Engine に取り込む特別な方法について説明します。

ライト

Datasmith は、Unreal レベルでのライティングを、ユーザーが 3ds Max でセットアップしたライティングに可能な限り近づけることを目的に、3ds Max のシーン内のライトに関する豊富な情報を維持します。

Datasmith は 3ds Max のさまざまなライト タイプ (スタンダード、フォトメトリック、V-Ray、Corona など) を変換します。各ライトの以下の情報が Unreal に取り込まれます。

  • 3D 空間での位置、方向、形状、およびサイズ。

  • ライト タイプ (ポイント ライト、スポット ライトなど)。

  • 強度、単位、ランプ色、温度、およびフィルター色。

  • レンダリング形状の可視性。

  • IES ライト プロファイル。

3ds Max

Unreal Engine 4

上部:IES プロファイル付きでケルビン温度がスケーリングされているポイント ライト。
中央:IES プロファイル付きでライトの強度がスケーリングされているポイント ライト。
下部:フィルター色付きのポイント ライト。

それぞれのライティング システムでは多少異なる結果が生成されます。Datasmith はライトの配置、タイプ、およびプロパティをできる限り近い状態で Unreal Engine に取り込みます。ただし、期待どおりの結果を得るため、およびレベルのライティングのランタイム時のパフォーマンスを最適化するため、インポート後にレベルのライティングの調整が必要になる場合があります。

以下は、Datasmith を使用するときの 3ds Max と Unreal Engine の顕著な違いです。

  • Unreal Engine は現時点ではライト用のインスタンスをサポートしていません。3ds Max のシーンでインスタンス化されている各ライトに対して、Datasmith は Unreal Engine のレベルで個別の Light アクタを作成します。

  • 3ds Max の標準ライトはユニットレスであり、Unreal Engine ではサポートされていないカスタム減衰パラメータを使用できます。

  • 一部の V-Ray 形状 (垂直円柱ライト、回転楕円体ライト、カスタム メッシュ ライト) はサポートされていません。

  • A エリア ライトは専用のブループリント クラスを使用して処理されます。詳細は、「 Datasmith のインポートプロセス」 を参照してください。

露出

Datasmith は 3ds Max から Unreal Engine に取り込んだライトの強度を維持します。ただし、ライトの強度だけでは、シーンの適切なレンダリングを保証するには不十分です。Unreal Engine のレンダラでは、シーンの輝度 (最終的なレンダリングで、そのシーンがどの程度明るくまたは暗く見えるか) を判断するために、コンテキストでのライトの強度を解釈する必要があります。このコンテキストの一部は、カメラまたはビューの 露出 によって提供されます。露出は、最終的な画像がシーン内のライトの強度に対してどの程度の感度を持つかを制御する一連の物理特性です。

シーン内のライトの強度によって、ユーザーが期待する見かけ上の輝度で Unreal Engine 内のレンダリング済み画像が生成されるようにするため、Datasmith では 3ds Max のいくつかの異なる露出値も変換します。詳細については、次のセクションを参照してください。

物理カメラの露出設定

3ds Max のシーンに物理カメラが含まれている場合、Datasmith はそのカメラの露出とホワイト バランスの設定を維持し、Unreal レベルでのその物理カメラを表す CineCameraActor に引き継ぎます。

それぞれのカメラに対して、Datasmith は [WhiteBalance (ホワイト バランス)] > [Temp (温度)] [Shutter Speed (シャッター速度)] [ISO] [Aperture (f-stop) (絞り (F 値))] 設定を、3ds Max での同等の設定に一致するように設定します。また、 [Exposure (露出)] > [Metering Mode (測光モード)] [Manual (手動)] に設定して自動露出を無効にします。

3ds Max での物理カメラの露出設定

UE4 での CineCameraActor の露出設定

このカメラを通してレベルを表示した場合の結果で、ライト レベルが 3ds Max でレンダリングしたときの結果にほぼ一致していることが分かります。

3ds Max Physical Camera

Unreal Engine CineCameraActor

グローバル露出設定

3ds Max の [Exposure Control (露出コントロール)] 設定で [Physical Camera Exposure Control (物理カメラの露出コントロール)] または [VRay Exposure Control (V-Ray の露出コントロール)] を使用している場合、Datasmith は Datasmith のシーンに、これらのグローバル露出設定を Unreal Engine レベル全体に適用するポストプロセス ボリュームを作成します。

物理カメラと同様に、Datasmith はポストプロセス ボリュームの [WhiteBalance (ホワイト バランス)] > [Temp (温度)] [Shutter Speed (シャッター速度)] [ISO] [Aperture (f-stop) (絞り (F 値))] 設定を、3ds Max での同等の設定に一致するように設定します。また、 [Exposure (露出)] > [Metering Mode (測光モード)] [Manual (手動)] に設定して自動露出を無効にします。

これらのコントロールは 3ds Max の [Environment and Effects (環境とエフェクト)] ダイアログにあります。このダイアログを開くには、メイン メニューで [Rendering (レンダリング)] > [Exposure Control... (露出コントロール)] を選択します。

3ds Max での物理カメラの露出コントロール

3ds Max での V-Ray の露出コントロール

UE4 での PostProcessVolume の露出設定

Unreal Editor のビューポートでデフォルトのパースペクティブ カメラを使用してレベルを表示した場合の結果で、ライト強度が 3ds Max でのレンダリング結果にほぼ一致していることが分かります。

3ds Max パースペクティブカメラでの|グローバル露光

Unreal Engine での|ポストプロセス ボリューム

3ds Max では、グローバル ホワイト バランスと露出の設定を、物理カメラに割り当てられている設定と一致させる必要はありません。この場合、パースペクティブ カメラの視点でシーンをレンダリングすると、特定の物理カメラに割り当てられている設定ではなくグローバル露出設定を使用してレンダリングされます。
Unreal Engine にインポートした後でも同様です。レベル ビューポートのデフォルトのカメラを通したシーンの表示では、(上図のような) グローバル露出設定が使用されます。ただし、 CineCameraActor を通したシーンの表示では、3ds Max での対応する物理カメラに割り当てられている露出設定が使用されます。

自動露出

Unreal Engine には、カメラに届くライトの量をモニタリングして、最終的な画像が適切な輝度レベルで表示されるように露出を自動的に調整する、ビルトイン自動露出システムがあります。このシステムは Unreal Engine ではデフォルトでアクティブになっています。Datasmith で 3ds Max のシーンから取り込むことができる物理カメラまたはグローバル露出設定が見つからない場合、プロジェクトではこのデフォルトの自動露出システムが使用されます。

3ds Max のシーンに物理カメラまたはグローバル露出設定が含まれていないときに自動露出に戻す場合は、 CineCameraActor または PostProcessVolume [Metering Mode (測光モード)] 設定の値を [Manual (手動)] から [Auto Exposure (自動露出)] の選択肢のいずれか (デフォルトは通常 [Auto Exposure Histogram (自動露出ヒストグラム)] ) に変更するだけで済みます。

  • CineCameraActor では、この設定は [Post Process (ポストプロセス)] > [Lens (レンズ)] > [Exposure (露出)] > [Metering Mode (測光モード)] 内にあります。

  • PostProcessVolume では、この設定は [Lens (レンズ)] > [Exposure (露出)] > [Metering Mode (測光モード)] 内にあります。

明暗順応 (自動露出) 」も参照してください。

自動露出を使用していてシーンが露光過多または露光不足で表示される場合、自動露出システムがデフォルトの感度で処理するにはシーン内のライティングが明るすぎるか暗すぎることが考えられます。これを修正するには、メイン メニューで [Edit (編集)] > [Project Settings (プロジェクト設定)] を選択し、 [Engine (エンジン)] > [Rendering (レンダリング)] セクションに移動します。 [Default Settings (デフォルト設定)] カテゴリにある [Extend default luminance range in Auto Exposure settings (自動露出設定のデフォルトの輝度範囲を拡張する)] オプションがオンになっていることを確認します。

カメラ

Datasmith では、3ds Max のシーンで見つけたすべてのカメラに対して、Unreal Engine での Datasmith のシーンに、3D 空間での同じ位置と同じ回転状態で CineCameraActor を作成します。Datasmith はそのカメラの焦点プロパティを維持しようとします。この目的は、そのカメラを通してレベルを表示した結果を、3ds Max でそのカメラからのシーンをレンダリングした結果にできる限り近づけることです。

さらに、3ds Max でのカメラでターゲットがセットアップされている場合、Datasmith ではそのターゲット アクタを追跡するように CineCameraActor をセットアップします。3ds Max と同様に、Unreal Engine レベルでターゲット アクタをあちこち移動させる場合、 CineCameraActor はターゲット アクタが中心を保つように自動的に回転します。

たとえば、下図では PhysCamera001 という名前の CineCameraActor が、 PhysCamera001_Target アクタに焦点を当てるようにセットアップされています。

Look at target for a CineCameraActor

Datasmith が物理カメラの露出設定をどのように変換するかについての詳細は、上記の「 物理カメラの露出設定 」を参照してください。

マテリアル

3ds Max のシーン内の各マテリアルに対して、Datasmith は Unreal Engine プロジェクト内に新しいマテリアル インスタンスを作成します。これらの各 Material アセットは親マテリアルのインスタンスです。Datasmith ではまたプロジェクトの「 Materials/Master 」フォルダにこの親マテリアルのインスタンスも作成します。Datasmith は、Unreal Engine の物理ベース レンダラで 3ds Max でのレンダリング結果と同等な結果を生成する目的で、それぞれの親マテリアルのマテリアル グラフを作成します。

独自の親が存在しないインスタンス化マテリアルもあります。可能であれば、2 つの異なるマテリアル インスタンスが同じマテリアル グラフを共有している場合、Datasmith はその両方のマテリアル インスタンスに対して 1 つの親マテリアルを使用しようとします。

1 つのシェーディング モデルと 1 つの比較的単純なグラフを持つマテリアルは、適切に変換されます。たとえば、Datasmith は以下の 3ds Max マテリアルを比較的スムーズに親マテリアルのグラフに変換します。

Simple material in 3ds Max

親マテリアル アセットを開くと、上記のような単純なマテリアルであっても、そのグラフが 3ds Max で始めたときのグラフと少し違っていることがよくあることに気付きます。これはシェーディング モデル間の変換での正常な結果です。Datasmith では、追加の接続や定数をグラフに挿入することになっても、できる限り近い表示結果を維持しようとします。

ただし、3ds Max ではマテリアルに対して複数のさまざまなシェーディング モデル (V-Ray、Corona、Arnold、Mental Ray など) がサポートされています。各シェーディング モデルは個別のソフトウェアであり、互いに整合しているとは限らない独自の機能があります。Datasmith では、そのような機能を、Unreal Engine で提供されている類似した機能に変換できることがあります。

ただし、Datasmith はこれらのシェーディング モデルのかなり難解な機能には対処できないことがあります。次の例のような、複数の出力シェーダが混在する複雑なグラフを持つマテリアルに対しては、Unreal での同等な結果を生成できません。

この場合、インポートした後に、Unreal Editor でこれらのマテリアルを調整または置き換えるために追加作業を行う必要があります。

Datasmith では 3ds Max からの Autodesk マテリアル および Arnold マテリアル/シェーダ を変換しません。これらは、通常、Revit のシーンを 3ds Max にインポートした場合にシーンで使用されるマテリアルです。これらのマテリアルは、Datasmith にエクスポートする前に 3ds Max で置き換えるか、またはシーンをインポートした後に Unreal Editor で置き換える必要があります。

変換に関する注記と警告

Datasmith は 3ds Max のシーンのエクスポートが完了したときに、プロセス中に発生したことに関する注記、問題点、警告、およびエラーが一覧表示されているポップアップ ウィンドウを表示します。

3ds Max conversion notes and warnings

このウィンドウの目的は、ユーザーの期待どおりに最後まで実行されなかった、シーン内の要素についてユーザーに通知することです。

  • いくつかの行 (上記で、見つからなかったビットマップに関する行など) はソース シーンでの問題点を表しています。再度 Datasmith にエクスポートする前に、これらの問題点を 3ds Max で修正することもできます。

  • その他の行は、Datasmith または Unreal Engine のいずれかでサポートされていない、3ds Max のシーン内の要素、またはユーザーが想定していない方法で Datasmith が変換する必要があったことについてユーザーに通知しています。

Datasmith のシーンを Unreal Editor にインポートした後に、変換に関して解決する必要がある問題を探す場合は、 [Output Warnings (出力の警告)] ウィンドウから始めることをお勧めします。

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