Language:
Page Info
Engine Version:

FBX スタティック メッシュ パイプライン

FBX インポート パイプラインの スタティックメッシュ サポートは、3D アプリケーションからアンリアルエンジン 4 へのメッシュの取り込みををシンプルで負担のかからないタスクにしてくれます。メッシュをインポートすると、それぞれの 3D アプリケーションでメッシュに適用されているマテリアルに使用したテクスチャもインポートされます。それを UE4 でメッシュに適用するマテリアルの生成に使用します。

FBX を使用して スタティックメッシュ をインポートするための機能は、つぎのようになります。

現時点では、単一ファイルで複数のメッシュをカスタム コリジョンと一緒にインポートすると、最初のメッシュのコリジョンのみがインポートされます。

UE4 の FBX インポート パイプラインでは、FBX 2016 を使用します。エクスポート中に他のバージョンを使用すると、互換性がなくなる場合があります。

このページでは、 Autodesk Maya と Autodesk 3ds Max の両方の情報を載せています。以下でどちらかを選択すると、それに関連した情報のみが表示されるようになります。

3D Art Tool を選択してください。

Autodesk Maya

Autodesk 3ds Max

一般設定

一般的に、お好きなツールと方法を使用して スタティックメッシュ を作成することができます。円滑なエクスポートやインポート処理、およびアンリアルエディタでメッシュを適切に処理するためには、 UV の設定やメッシュの配置に関して考慮すべき条件が幾つかあります。

回転軸

アンリアル エンジンにおけるメッシュの回転軸は、あらゆる変換 (平行移動、回転、スケーリング) を実行する際の中心点を決定します。

pivot.jpg

3D モデリング アプリケーションからエクスポートすると、回転軸の原点は常に (0、0、0) となります。そのため、原点は通常、アンリアルエディタ内側のグリッドにスナップする際に、正確にアライメントするためにメッシュの隅を原点にして、メッシュをその原点で作成するのが最適です。

pivot_origin.jpg

三角分割

アンリアル エンジンのメッシュは、三角分割されなければなりません。これは、グラフィックスのハードウェアがトライアングルしか扱わないためです。

tris.jpg

メッシュを確実に三角分割する方法はいくつかあります。

  • トライアングルのみを使用してメッシュをモデリングする - これは、仕上がりを最大限に制御できるため、最善の方法です。

  • 3D アプリケーションでメッシュを三角分割する - エクスポートする前にクリーンアップおよび修正できるため良い方法です。

  • FBX エクスポーターがメッシュを三角分割できるようにする - クリーンアップはできませんが単純なメッシュには機能するため、悪くはない方法です。

  • インポーターがメッシュを三角分割できるようにする - クリーンアップはできませんが単純なメッシュには機能するため、悪くはない方法です。

エッジの方向と配置をコントロールできるため、3D アプリケーション内でメッシュを手動で三角分割することが常に最善の解決法です。自動的に三角分割を実行させると、望ましくない結果となる場合があります。

tris_bad.jpg

UV テクスチャ座標

アンリアル エンジン 4 は、複数の UV セットのインポートを FBX パイプラインでサポートしています。スタティック メッシュ の場合、これは通常ディフューズの UV の一式の処理に使用しますFBX パイプラインを使用した スタティック メッシュ の UV の設定には、特別な条件はありません。

法線マップの作成

メッシュの法線マップは、たいていのモデリング アプリケーション内で直接作成することができます。そのためには、低解像度のレンダリング メッシュと高解像度の詳細メッシュを作成します。

SideBySide.jpg

高解像度の詳細メッシュのジオメトリは、法線マップの法線を生成するために使用します。Epic 社内では XNormal をプロセスに導入するワークフローを採り入れていますが、UE4 でレンダリング処理すると多くの場合、法線の質がはるかに良くなります。詳細は 法線マップ作成ガイド をご覧ください。

マテリアル

外部アプリケーションでモデリングされたメッシュに適用されるマテリアルは、メッシュとともにエクスポートされて、アンリアルの中にインポートされます。これによって、プロセスは簡略化されます。テクスチャを単独でアンリアル エディタへインポートする必要がなく、マテリアルを作成したり適用したりする必要もありません。FBX パイプラインを使用すると、インポート プロセスによってこれらの動作すべてが実行可能となります。

こうしたマテリアルもある特定の方法で設定しなくてはいけません。特にメッシュに複数のマテリアルがある場合、またはメッシュ上のマテリアルの順序が重要な場合などです (例えばマテリアル 0 を胴体にして、マテリアル 1 を頭部にしなければならないキャラクター モデルの場合など)。

エクスポートのためにマテリアルをセットアップする詳細については、 FBX マテリアル パイプライン ページをご覧ください。

コリジョン

簡易化したコリジョン ジオメトリは、ゲーム内のコリジョン検知の最適化に重要です。アンリアル エンジン 4 には、スタティックメッシュ エディタ 内でコリジョン ジオメトリを作成するための基本ツールがあります。ただし、状況によっては、使用している 3D モデリング アプリケーション内でカスタムのコリジョン ジオメトリを作成して、これをレンダーメッシュでエクスポートするのが最善の処理となる場合もあります。これは一般的に、オブジェクトが衝突しなくてもよい開口部、または凹んだ領域などを持つメッシュにあてはまります。

例えば、以下があります。

  • ドアウェイ (入口) メッシュ

  • 切り窓がある壁

  • 変わった形状をしたメッシュ

コリジョン メッシュは名前に基づいてインポータによって特定されます。コリジョンの命名記法は、以下に従ってください。

メッシュのプレフィックスと名前

説明

UBX_[RenderMeshName]_##

ボックスは Max を使用して Box オブジェクトタイプで作成、または Maya の Cube 多角形プリミティブで作成します。直角プリズム以外の形状を作成するために、頂点を移動したり、変形することはできません。さもなければ機能しません。

UCP_[RenderMeshName]_##

カプセルは Capsule オブジェクトタイプで作成されます。コリジョンのために実際のカプセルへ変換されるため、多くのセグメント (8 が理想的) はカプセルには不要です。ボックス同様に、個々の頂点を移動することはできません。

USP_[RenderMeshName]_##

球体は Sphere オブジェクトタイプで作成されます。コリジョンのために実際の球体へ変換されるため、多くのセグメント (8 が理想的) は球体には不要です。ボックス同様に、個々の頂点を移動することはできません。

UCX_[RenderMeshName]_##

完全に閉鎖型の凸型 3D 形状ならば何でも 凸型オブジェクトになります。例えば、ボックスも 凸型オブジェクトになります。以下の図は、凸型、および凸型ではない例を示しています。Convex.gif

注意事項と考慮事項

  • RenderMeshName は、 3D アプリケーション内でコリジョン メッシュが関連付けられているレンダリング メッシュと同名でなくてはいけません。そのため、使用している 3D アプリケーションに Tree_01 という名前のレンダリング メッシュがある場合、コリジョン メッシュをそのレンダリング メッシュと共にシーン内に置いて、 UCX_Tree_01 と名前を付けます。そして、同じ FBX ファイルへレンダリング メッシュと一緒にエクスポートします。メッシュ用に 1 つ以上のコリジョン オブジェクトが必要な場合、追加の識別子、例えば UCX_Tree_01_00UCX_Tree_01_01UCX_Tree_01_02 などを使用して名前を拡張することができます。こうすることにより、メッシュに対応するコリジョンとして関連付けがされます。

  • 現在、球体は剛体コリジョンとアンリアルのゼロ エクステント トレース (例えば武器) のみに使用し、非ゼロ エクステント トレースには使用しません (例えばプレイヤーの移動)。また スタティックメッシュ が不均等にスケーリングされると、球体とボックスは機能しません。通常は UCX プリミティブを作成します。

  • コリジョン オブジェクトを一度設定したら、レンダリングおよびコリジョン メッシュ両方を同じ「.FBX」ファイルへエクスポートすることができます。アンリアル エディタへ「.FBX」ファイルをインポートすると、ファイルはコリジョン メッシュを探して、これをレンダリング メッシュから削除して、コリジョン モデルへ変化させます。

  • 非凸型メッシュを凸型プリミティブへ分解するのは複雑な操作であるため、予期しない結果となる場合があります。その他のアプローチ方法として、ご自身で Max か Maya を使用してコリジョン モデルを 凸 型の小片に分解することもできます。

  • 複数の凸包によって定義されたコリジョンを持つオブジェクトの場合、凸包が互いに交差しない時に最高の結果が得られます。例えば、ロリポップ形状のコリジョンを、 1 つはキャンディ、もう片方はキャンディの棒の 2 つの凸包で定義した場合、この 2 つの間に以下の図のようなギャップが残るはずです。

CandyCollision.png

  1. UCX_Candy

  2. コリジョン サーフェス間の小さなギャップ

  3. UCX_Stick

ソケット

ソケットは一般的にゲーム内であるオブジェクトをスケルタルまたはスタティック メッシュに関わらず別のオブジェクトにアタッチするために使用します。アンリアル エンジン 4 には、スタティックメッシュ エディタ内で ソケットを作成するためのツールがあります。ソケットをご自身の 3D モデリング アプリケーション内でセットアップし、それをレンダリング メッシュと合わせてエクスポートする必要が生じる場合があります。 こうしたソケットはその後、スケルタルメッシュ上のボーンまたはスタティックメッシュのサイズに相対的に平行移動、回転、スケーリングすることができます。

ご利用のモデリング アプリケーションでソケットを使用するには、SOCKET_ のプレフィックスを持つ Dummy または Helper のオブジェクトを使用する必要があります。

メッシュのプレフィックスと名前

説明

SOCKET_[RenderMeshName]_##

これはモデリング アプリケーションで Dummy または Helper のオブジェクトで使用して、ソケットをメッシュに割り当てます。

注意事項と考慮事項

  • RenderMeshName は、 3D アプリケーション内でソケット オブジェクトが関連付けられているレンダリング メッシュと同名でなくてはいけません。例えば、使用している 3D アプリケーションに Object_01という名前のレンダリング メッシュがある場合、ソケット オブジェクトをそのメッシュと共にシーン内に置いて、 「SOCKET_Object_01」 と名前を付けます。 そして、同じ FBX ファイルへレンダリング メッシュと一緒にエクスポートします。メッシュ用に 1 つ以上のソケット オブジェクトが必要な場合、以下のように さらに識別子を付けて、例えば SOCKET_Object_01_00, SOCKET_Object_01_01, SOCKET_Object_01_02, などを使用して名前を拡張することができます。こうすることにより、そのメッシュのソケットとしてすべて関連付けされます。

  • メッシュに対してソケットを作成する場合、アンリアル エンジン 4 にインポート可能なソケットを備えた単一メッシュの FBX セットアップだけを持つことができます。例えば、 別個のアセットにしたいレンダリング メッシュが 2 つあれば、別個の FBX ファイルとしてインポートする必要があります。つまり、複数メッシュをインポートし、 個々のメッシュにソケットを割り当てることはできません。しかも、レンダリング メッシュが 2 セットあれば、正しくインポートされません。例えば、 SOCKET_Object_01_00 を持つ Object_01 と、SOCKET_Box_01_00 を持つ別のレンダリング メッシュである Box_01 がある場合、こうしたメッシュを両方ともソケットと共にエクスポートすることはできません。別個の FBX フアィルとして エクスポートする必要があります。

頂点カラー

スタティック メッシュ用の頂点カラーは FBX パイプラインを使用して転送することができます。特別な設定は必要ありません。

vertex_color.jpg

メッシュのエクスポート

スタティックメッシュ は、個別にエクスポート、もしくは複数のメッシュを単一の FBX ファイルにエクスポートすることができます。インポート パイプラインは、インポート時に Combine Meshes 設定を有効にしてメッシュの結合を指定しない限り、送り先パッケージ内に複数の スタティック メッシュ を複数のアセットへ分割してしまいます。

UE4 の FBX インポート パイプラインでは、FBX 2016 を使用します。エクスポート中に他のバージョンを使用すると、互換性がなくなる場合があります。

  1. ビューポートでエクスポートするメッシュを選択します。

    maya_export_1.png

  2. [File] メニューから、 [Export Selection] を選びます (選択に無関係にシーン内のすべてをエクスポートする必要がある場合は [Export All] を選びます)。

    maya_export_2.png

  3. Export ダイアログ ボックスで以下の操作を行います。

    • UE4 Project (1) 内の「 Content 」フォルダを選択します。

    • ファイル名を入力し、それを FBX Export (2) に設定します。

    • Export Options (3) を設定します。

    • Export All (4) をクリックします。

    maya_export_3.png

    上記の Geometry カテゴリの設定は、 スタティックメッシュ をアンリアル エンジン 4 へエクスポートする最も基本的な要件です。

  4. プロジェクトの「 Content 」フォルダまでブラウズします。FBX ファイルが追加されているのが分かります。

    maya_export_4.png

  5. UE4 エディタが開いていれば (または次回実行すると)、 [FBX Import Options] ダイアログが表示されるので、 [Import] または [Import All] をクリックします。

    ImportDialog_Windows.png

    ImportDialog_Mac.png

    インポートをデフォルト オプションのままにしておくこともできます。各オプションの詳細については、 FBX インポート オプションのリファレンス を参照してください。

  6. アセットがインポートされたので、 コンテンツ ブラウザ からレベル内へドラッグ&ドロップすることができます。

    max_export_7.png

    (インポート オプションの一部として) 上の例では、 マテリアルテクスチャ をインポートしました。

  1. ビューポートでエクスポートするメッシュを選択します。

    max_export_1.png

  2. [File] メニューから、 [Export Selected] を選びます (選択に無関係にシーン内のすべてをエクスポートする必要がある場合は [Export] を選びます)。

    max_export_2.png

  3. UE4 Project (1) から「 Content 」フォルダ、そして FBX file (2) 用の名前を選択し、 max_save_button.jpg ボタンをクリックします。

    max_export_3.jpg

  4. [FBX Export] ダイアログボックスでオプションをセットし、 max_ok_button.jpg ボタンをクリックして、メッシュを含む FBX ファイルを作成します。

    max_export_4.png

    上記の Geometry カテゴリの設定は、 スタティックメッシュ をアンリアル エンジン 4 へエクスポートする最も基本的な要件です。

  5. プロジェクトの「 Content 」フォルダまでブラウズします。FBX ファイルが追加されているのが分かります。

    Maya_Export_Windows.png

    Maya_Export_Mac.png

  6. UE4 エディタが開いていれば (または次回実行すると)、 [FBX Import Options] ダイアログが表示されるので、 [Import] または [Import All] をクリックします。

    ImportDialog_Windows.png

    ImportDialog_Mac.png

    インポートをデフォルト オプションのままにしておくこともできます。各オプションの詳細については、 FBX インポート オプションのリファレンス を参照してください。

  7. アセットがインポートされたので、 コンテンツ ブラウザ からレベル内へドラッグ&ドロップすることができます。

    max_export_7.png

    (インポート オプションの一部として) 上の例では、 マテリアルテクスチャ をインポートしました。

メッシュのインポート

  1. コンテンツ ブラウザbutton_new.png ボタンをクリックし、 Import を選びます。開いているファイル ブラウザからインポートしたい FBX ファイルを選択します。注意: ドロップダウン リストから import_fbxformat.jpg を選択して、不要なファイルをフィルタリングすることができます。

    import_file.jpg

    インポートしたアセットのパスは、インポート中の コンテンツ ブラウザ の現行位置によって決まります。インポートを実行する前に、必ず適切なフォルダへ移動してください。インポートが完了したら、インポートしたアセットを新規フォルダへドラッグすることもできます。

  2. [Import] ダイアログボックスから適切な設定値を選択します。大抵の場合、デフォルト設定をそのまま使用します。全設定値の詳細は、 FBX インポート オプションのリファレンス セクションを参照してください。

    StaticMeshImportOptions.png

  3. button_import.png ボタンをクリックしてメッシュをインポートします。プロセスが成功した場合、最終結果のメッシュ、マテリアル、テクスチャが コンテンツブラウザ に表示されます。

    ImportedMeshAndTex.png

    テクスチャとマテリアルはスタティックメッシュと一緒にインポートすることができますが、 ColorNormal だけが自動的に接続されます (サポートしているマテリアルを Max/Mayaで使用 を前提)。 Specular マップはインポートされますが、接続はされません。例えば Maya マテリアルの [Diffuse] スロットの Ambient Occlusion マップなどその他のマップは、インポートすらされません。自身が作業しているマテリアルをチェックして、接続されていないマップを接続したり、インポートされなかったマップをチェックしてください。新しいマテリアルを ダブルクリック して、これらの適切な入力値に対して利用可能なテクスチャを接続するだけでできます。

    スタティックメッシュ エディタ でインポートされたメッシュを表示させてコリジョンの表示を有効にすると、プロセスが期待通りに機能したか判断することができます。

あるいは、 Windows から FBX ファイルを単にクリックして コンテンツ ブラウザ へドラッグすると、インポートダイアログが呼び出されます。

スタティックメッシュ LOD

スタティックメッシュ は、カメラから遠ざかるにつれてメッシュの影響を制限するために、ゲーム内の LOD (Level of Detail) を利用することができます。通常は、各 LOD ではトライアングル数が減少するとともに、より単純な単一マテリアル (あるいは複数マテリアル) が適用されることを意味します。

lods.jpg

FBX パイプラインを使用してこれらの LOD メッシュをエクスポート / インポートできます。

LOD 設定

全般

一般に LOD は、完全な詳細度をもつベースメッシュから最も低い詳細度をもつ LOD メッシュまで、さまざまな複雑度のモデルを作成して処理します。これらはすべて同一の回転軸で、全てアラインされて同一空間を使用しなければなりません。各 LOD メッシュには、異なるマテリアルの量など、完全に異なるマテリアルを割り当てることができます。つまり、ベースメッシュは間近に好みの詳細量を与えるために複数のマテリアルを使用することができますが、低い詳細度のメッシュではあまり目立たないため単一のマテリアルを使用します。

  1. ベースとなる LOD から最後の LOD まで、順番にメッシュをすべて (ベースに加えてLOD) 選択します。複雑度に応じて正しい順序で追加されるようにするためにこれは重要です。次に、[Edit] メニューから [Level of Detail] > [Group] コマンドの順に選択します。

    maya_lod_group.jpg

  2. これで、すべてのメッシュが LOD グループのもとにグループ化されているはずです。

    maya_lod_contents.jpg

  1. メッシュをすべて選択して (ベースと LOD - 順番は重要ではありません) [Group] メニューから [Group] コマンドを選択します。

    max_lod_group.jpg

  2. ダイアログ ボックスが開くので、新しいグループ名を入力し、 max_lod_ok_button.jpg ボタンをクリックしてグループを作成します。

    max_lod_group_name.jpg

  3. max_utilities_button.jpg ボタンをクリックして [Utilities] パネルを表示し [Level of Detail] (詳細度 (LOD)) ユーティリティを選択します。**注意:max_utility_more_button.jpg をクリックして、リストから選択しなければならない場合があります。

    max_lod_utility.jpg

  4. グループを選択したら、 max_lod_create_button.jpg ボタンをクリックして、新たな LOD セットを作成し、選択されたグループ内にあるメッシュをそれに追加します。メッシュは、その複雑度に応じて自動的に順序付けされます。

    max_lod_contents.jpg

LOD のエクスポート

スタティックメッシュ LOD のエクスポートの手順は以下の通りです。

  1. Maya の場合、 LOD グループと任意のコリジョン ジオメトリを選択します。

    maya_lod_export_select.jpg

  2. ベースメッシュに使用したエクスポート手順と同じ手順に従います (上のメッシュのエクスポート セクションで記述しています)。FBX エクスポーター プロパティで、アニメーションのエクスポートを必ず有効にしてください。この設定は LOD のエクスポートに必須です。

  1. 3ds Max の場合、 LOD セットと任意のコリジョン ジオメトリを構成するメッシュのグループを選択します。

    max_lod_export_select.jpg

  2. ベースメッシュに使用したエクスポート手順と同じ手順に従います (上のメッシュのエクスポート セクションで記述しています)。FBX エクスポーター プロパティで、アニメーションのエクスポートを必ず有効にしてください。この設定は LOD のエクスポートに必須です。

LOD のインポート

スタティックメッシュの LOD は、 コンテンツ ブラウザ からベース メッシュとともにインポートすることができます。または、スタティック メッシュ エディタを通じて個別にインポートします。

LOD をともなったメッシュ

  1. コンテンツ ブラウザbutton_new.png ボタンをクリックし、 Import を選びます。開いているファイル ブラウザからインポートしたい FBX ファイルを選択します。注意: ドロップダウン リストから import_fbxformat.jpg を選択して、不要なファイルをフィルタリングすることができます。

    インポートしたアセットのインポート パスは、インポート中の コンテンツ ブラウザ の現行位置に依存します。インポートを実行する前に、必ず適切なフォルダへ移動してください。インポートが完了したら、インポートしたアセットを新規フォルダへドラッグすることもできます。

  2. [Import] ダイアログボックスから適切な設定値を選択します。デフォルト設定で十分ですが、必ず Import LODs を有効にしてください。注意: LOD のインポート時は、インポートされるメッシュの名前はデフォルトの 命名規則 に従います。全設定値の詳細は、 FBX インポート オプションのリファレンス セクションを参照してください。

    ImportOptions_LOD.png

  3. メッシュと LOD をインポートするために、 button_import.png ボタンをクリックします。プロセスが成功した場合、最終結果のメッシュ、マテリアル、テクスチャが コンテンツブラウザ に表示されます。

    ImportedMeshAndTex.png

    テクスチャとマテリアルはスタティックメッシュと一緒にインポートすることができますが、 ColorNormal だけが自動的に接続されます (サポートしているマテリアルはMax/Mayaで使用) と仮定)。Specular マップはインポートされますが、接続はされません。例えば Maya マテリアルの [Diffuse] スロットの Ambient Occlusion マップなどその他のマップは、インポートすらされません。自身が作業しているマテリアルをチェックして、接続されていないマップを接続したり、インポートされなかったマップをチェックしてください。新しいマテリアルを ダブルクリック して、これらの適切な入力値に対して利用可能なテクスチャを接続するだけでできます。

    インポートしたメッシュを スタティック メッシュ エディタ で表示して、ツールバーの右端にある button_AutoLOD.png ドロップダウンを使って LOD を循環表示させることができます。