3ds Max での Datasmith の使用

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

Windows
MacOS
Linux

3ds Max での V-Ray

UE4

画像提供:Litrix

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

3ds Max のワークフロー

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

1.3ds Max 用のプラグインをインストールします。「3ds Max 用 Datasmith エクスポータ プラグインのインストール」を参照してください。 2.3ds Max のコンテンツを .udatasmith ファイルにエクスポートします。「3ds Max からの Datasmith コンテンツのエクスポート」を参照してください。 3.Datasmith インポータを使用して、エクスポートした .udatasmith ファイルを Unreal Editor に取り込みます。「Datasmith コンテンツの Unreal Engine 4 へのインポート」を参照してください。

ジオメトリ

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

インスタンス

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 を付加します。

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

インスタンス化されたオブジェクト上のカスタム ピボット ポイント

Datasmith はそのシーンを Unreal に取り込むときに、3D ワールドでのそのピボット ポイントの位置に Teapot002 という新しいアクタを作成します。そのアクタには Teapot002_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) が追加で作成されます。

3ds Max と Unreal での UV チャンネルの番号付け

次の表は、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 形状の任意のオブジェクトをコリジョン メッシュとして設定できます。たとえば、ボックスは凸型オブジェクトです。次の図では、凸型オブジェクトと非凸型オブジェクトを示しています。

凸型オブジェクトと非凸型オブジェクトの例

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

カスタム コリジョン ボリューム上のピボット ポイント

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

レベル ビューポートでコリジョン レンダリングをオンにすることで、カスタム形状が正しくインポートされていることを確認できます。ビューポートのオーバーレイ メニューで [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 (頂点カラー)]

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

レベルオブディテール

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

Forest Pack と RailClone オブジェクト

Forest PackRailClone は、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 にインポートした表示結果を表しています。

3ds Max での Forest Pack

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 形状 (垂直シリンダー ライト、回転楕円体 ライト、カスタム メッシュライト) はサポートされていません。

  • エリア ライトは特別に扱われます (下記を参照)。

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

3ds Max では 2D 形状または 3D ボリュームから放出されるいくつかのライトがサポートされています。このようなタイプのライトとまったく同等のライトは 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 からレベルに放出される実際のライトは、サーフェス全体からではなく単一点からのキャストです。

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

露出

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 の物理カメラ

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 (測光モード)] 内にあります。

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

自動露出を使用していてシーンが露光過多または露光不足で表示される場合、自動露出システムがデフォルトの感度で処理するにはシーン内のライティングが明るすぎるか暗すぎることが考えられます。これを修正するには、メイン メニューで [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 アクタの方を見るようにセットアップされています。

CineCameraActor のターゲットの方を見る

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

マテリアル

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

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

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

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 の変換に関する注記と警告

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

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

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

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

Select Skin
Light
Dark

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

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

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

フィードバックを送信