3ds Max 用 Datasmith エクスポータ プラグインをインストールしている場合は、 Datasmith 属性モディファイア にもアクセスできます。このモディファイアを使用して、個々のシーン オブジェクトが 3ds Max から Unreal Engine に変換される方法をカスタマイズできます。例:
- Unreal Engine で作成するライトマップに使用する UV チャンネルのインデックスを指定できます。「ライトマップ UV インデックスの指定」を参照してください。
- シーン内のオブジェクトに対してカスタム コリジョン ジオメトリを割り当てることができます。「カスタム コリジョン ボリュームの設定」を参照してください。
- オブジェクトを、フル ジオメトリではなく単純化バウンディング ボックスのみとして、エクスポートできます。「バウンディング ボックスのみのエクスポート」を参照してください。
次の図は、選択したシーン オブジェクトに割り当てられている Datasmith 属性 モディファイアを示しています。
Datasmith 属性モディファイアの適用
他の種類のモディファイアとまったく同じ方法で、Datasmith 属性モディファイアを 3ds Max のシーン内のオブジェクトに適用します。背景情報については、モディファイアに関する 3ds Max のヘルプ トピックを参照してください。
手順
- エクスポート設定をカスタマイズする 1 つまたは複数のオブジェクトを選択します。
- [Modify (修正)] パネルを開きます。
-
[Modifier List (モディファイア リスト)] のドロップダウン メニューで、[OBJECT-SPACE MODIFIERS (オブジェクト空間モディファイア)] > [Datasmith Attributes (Datasmith 属性)] を見つけます。
最終結果
Datasmith 属性モディファイアのデフォルト設定は、「3ds Max での Datasmith の使用」で説明されている挙動が変更されないように設定されています。そのデフォルトの挙動をカスタマイズするためには、モディファイアの設定を変更する必要があります。モディファイアで何ができるかの詳細については、以下のセクションを参照してください。
ライトマップ UV インデックスの指定
「3ds Max での Datasmith の使用」で説明しているように、デフォルトでは、Datasmith はシーン内の各ジオメトリ オブジェクトに対して 2 つの新しい UV チャンネルを作成します。作成されるチャンネルの 1 つはライトマップ UV であり、事前計算されたライティングが格納されます。それによって、Unreal Engine 内にインポートしたシーンのすべてのオブジェクトでスタティック ライトおよび固定ライトとの互換性が確保されます。詳細については、「UV チャンネルの操作」を参照してください。
ただし、3ds Max ではオブジェクトに対してユーザーが独自のライトマップ UV を作成できます。そうするように選択している場合、ユーザーはインポート時に Datasmith が追加の UV セットを自動生成することを望んでいないことがあります。その代わりに、ユーザーが作成済みのライトマップ UV がオブジェクトで使用されることを望んでいることがあります。
手順
- Datasmith 属性モディファイアを選択し、オブジェクトのライトマップ UV を 3ds Max で作成済みのオブジェクトにそれを割り当てます。「Datasmith 属性モディファイアの適用」を参照してください
-
Datasmith 属性モディファイアの設定で、[Lightmap UVs (ライトマップ UV)] 設定を [Specify Lightmap Channel (ライトマップ チャンネルを指定する)] に変更します。
-
[Map Channel (マップ チャンネル)] 設定を使用して、1 つまたは複数のオブジェクトの UV チャンネルのインデックスを指定します。そのオブジェクトでは、このモディファイアが、事前計算されたライティングの格納に使用されます。
最終結果
このシーンのエクスポートと Unreal へのインポートを次回行うときに、これらのモディファイア設定を適用しているシーン オブジェクトに対して、Datasmith は新しい UV チャンネルを作成しません。その代わりに、Datasmith は、ユーザーが指定している [Map Channel (マップ チャンネル)] を使用するように、それらのオブジェクトを設定します。
ユーザーの設定が正しく引き継がれていることを確認するには、スタティック メッシュ エディタでスタティック メッシュ アセットを開きます。[Details (詳細)] パネルで、[General Settings (一般設定)] > [Light Map Coordinate Index (ライトマップ座標インデックス)] を見つけます。

その値には、3ds Max で特定した UV チャンネルが反映されているはずです。
[Light Map Coordinate Index (ライトマップ座標インデックス)] 設定に示されている実際のインデックス番号は、3ds Max での UV チャンネルがインポート プロセス中にどのように再インデックス付けされたか (「3ds Max での Datasmith の使用」で UV チャンネルの概要を参照) によっては、ユーザーが Datasmith 属性モディファイアで設定した番号と一致していないことがあります。 インデックスで、ユーザーが想定している UV レイアウトが参照されていることを確認するには、スタティック メッシュ エディタのツールバーにある [UVs (UV)] ボタンをクリックし、[Light Map Coordinate Index (ライトマップ座標インデックス)] 設定に示されているインデックス番号を選択します。ビューポートの左側にあるボタンでカスタム ライティングが表示されます。
カスタム コリジョン ボリュームの設定
Datasmith 属性モディファイアを使用して、Unreal Engine で、他のシーン オブジェクトに対するコリジョン メッシュとして使用されるオブジェクトを指定できます。背景情報については、「3ds Max での Datasmith の使用」ページの「カスタム コリジョン形状」セクションを参照してください。
手順
- Unreal Engine の物理シミュレーションで別のオブジェクトで置き換える 1 つまたは複数のシーン オブジェクトを選択して、Datasmith 属性モディファイアを適用します。「Datasmith 属性モディファイアの適用」を参照してください。
-
Datasmith 属性モディファイアの設定の [Collisions (コリジョン)] 設定にある [Use Custom Collision Mesh (カスタム コリジョン メッシュを使用する)] チェックボックスをオンにします。
-
[Pick Geometric Object (ジオメトリ オブジェクトを選択)] をクリックします。
-
3ds Max のビューポートまたは [Outliner (アウトライナー)] パネルで、コリジョン メッシュとして機能させるオブジェクトを選択します。
そのオブジェクトが、「3ds Max での Datasmith の使用」ページで概説されている要件を満たしていることを確認します。オブジェクトは完全に凸型である必要があり、そのピボットはそのボリュームと相対的に同じ位置にある必要があります。
最終結果
このシーンのエクスポートと Unreal Editor への再インポートを次回行うときに、上記の手順 1 で Datasmith 属性モディファイアを割り当てたオブジェクトは、上記の手順 4 で選択したオブジェクトの形状に新しいコリジョン ボリュームを持つようになります。
バウンディング ボックスのみのエクスポート
場合によっては、3ds Max での特定のシーン オブジェクトに対して、Unreal Engine で使用しているのとは異なるジオメトリを使用することがあります。たとえば、3ds Max でのオフライン レンダリングで使用している非常に複雑なジオメトリや非常に緻密なジオメトリを、より効率的にリアルタイムで実行される軽量版と置き換えることがあります。
その場合でも、Unreal Editor でそのオブジェクトを正しい位置で置き換えることができるように、それらのオブジェクトがシーンに含まれている必要があります。ただし、複雑なオブジェクトの完全なジオメトリを変換すると、エクスポートとインポートのプロセスにかかる時間が長くなります。また、巨大で不要なスタティック メッシュ アセットがプロジェクトのコンテンツに残ることになります。
Datasmith 属性モディファイアを使用して、エクスポート プロセス中に特別な対処を行うように特定のオブジェクトをマークすることによって、両方のワールドを最大限活用できます。完全なジオメトリをエクスポートするのではなく、そのオブジェクトの 3D バウンディング ボックスに基づいて、Datasmith がそのオブジェクトの新しい軽量のジオメトリ表現を作成するようにできます。そのオブジェクトは、元の名前で元の位置に Datasmith のシーンに含まれますが、そのジオメトリは単純なバウンディング ボリュームまで大幅に軽減されています。
手順
- Unreal Engine の物理シミュレーションで別のオブジェクトで置き換える 1 つまたは複数のシーン オブジェクトを選択して、Datasmith 属性モディファイアを適用します。「Datasmith 属性モディファイアの適用」を参照してください。
-
Datasmith 属性モディファイアの設定の [Export Geometry As (ジオメトリを次の形式でエクスポート)] セクションで [Bounding Geometry (バウンディング ジオメトリ)] を選択します。
最終結果
Datasmith を使用してシーンを Unreal Editor にインポートすると、Datasmith 属性モディファイアでマークしたシーン オブジェクトが元のジオメトリでレベルに表示されていないことが分かります。そのジオメトリは、灰色の単純なバウンディング ボリュームで置き換えられています。
たとえば、下図では、3ds Max のシーンの中央にあるリフト オブジェクトはバウンディング ボックスのみとしてエクスポートするようにマークされています。インポート後の Unreal Engine レベルでは、そのオブジェクトはデフォルトのマテリアルを使用して単純化されたボリュームとしてのみ表示されます。
3ds Max でのジオメトリ | UE4 でのバウンディング ボックス |
この時点で、これらの単純化されたシーン要素をさまざまな方法で利用できます。たとえば、この単純化されたオブジェクトを、独自のカスタム スタティック メッシュ アセットのインスタンスで置き換えることができます。あるいは、この単純化されたアクタをビューで非表示にし、そのアクタに含まれている情報 (3D 空間での配置、バウンディング ボックスのエクステントなど) を他の用途に利用することもできます。