Epic Games Launcher の Fab は、Quixel Bridge の機能と同様に、さまざまなデジタルコンテンツ制作 (DCC) ツールやエンジンへのワンクリック エクスポートをサポートしています。 このデスクトップ版 Fab では、ユーザーがアセットを取得してアプリケーションにインポートするワークフローが拡張されています。
Launcher の使用方法については、Launcher 版 Fab からアセットをエクスポートするをご覧ください。
このガイドでは、ユーザーが Launcher からコンテンツをエクスポートする際に、コンテンツが正しく設定されるようにするための重要な情報とベストプラクティスの概要を説明します。 アセット プロパティを適切に準備すると、時間が節約されるだけでなく、DCC とエンジン全体でのパフォーマンス、互換性、ビジュアル品質が向上します。
スムーズなエクスポートと適切な設定を行うために、以下の基準を確認してください。 必要な更新を行うか、あなたや組織が、広く採用されている他の標準に準拠しているかについて Fab サポートチームにお知らせください。 チームが皆さんのワークフローをサポートします。
サポートされている DCC、エンジン、およびファイル形式
以下の表は、Launcher がエクスポートできる各アプリケーションでサポートされているバージョンとレンダラの一覧です。
アプリケーション | サポートされているバージョン | レンダラ | プラットフォーム |
Unreal Engine |
| 該当なし |
|
Blender |
|
|
|
3ds Max |
| 以下のレンダラの最新バージョン:
|
|
Unity |
| レンダリング パイプライン:
|
|
Maya |
|
|
|
Cinema4D |
|
|
|
以下の表は、各アプリケーションでサポートされているファイル形式の一覧です。
| 形式タイプ | ファイル形式 | サポートされる DCC とエンジン |
|---|---|---|
変換形式 |
| エクスポートは以下に対してサポートされます。
|
エンジン形式 | UE:
| ユーザーは、プロジェクトに追加、プロジェクトを作成、または プラグインをインストール を以下で使用できます。
|
Unity | エクスポートは以下に対してサポートされます。
| |
ネイティブ DCC 形式 | ブレンド 3ds Max Maya Cinema 4D | 現在サポートされていません |
Fab にアップロードするためにアセットを準備する方法
以下の推奨事項は、Launcher 版 Fab を使用してコンテンツを DCC またはエンジンにエクスポートする際の問題を回避するために、Fab でコンテンツをパッケージ化するためのベストプラクティスです。 エクスポート後のコンテンツがどのように表示され、動作するかは、DCC またはエンジン自体に大きく依存します。
アップロードする予定のパッケージをテストする
ユーザーが Launcher 版 Fab からあなたのアセットをエクスポートするとき、ユーザーは 1 つの形式 (例:.fbx、.usd、.glb) を選択します。 アップロードを予定している各ファイル形式を、DCC やエンジン (Maya や Blender など) に手動でインポートすることでテストし、どのように動作するかを正確に把握することができます。
モデル ファイルに情報を埋め込む
Launcher 版 Fab は、次のファイル形式の埋め込み情報に依存しています。
.gltf.glb.usd.usdz
モデルが正しいマテリアルをロードし、そのテクスチャに自動的にリンクされるようにするには、次のいずれかを実行することが重要です。
テクスチャ ファイルをモデル ファイル内に直接埋め込む。
モデルとともに配置された外部テクスチャ ファイルを指す相対パスを使用する。
この方法を実行することで、シームレスなマテリアルの設定を確実に行えるようになり、DCC やエンジンへのエクスポートまたはインポート時にテクスチャの欠落や間違ったリンクが発生する可能性を最小限に抑えることができます。
認識されているファイル命名規則を使用する
マテリアル テクスチャがモデルに埋め込まれていない/参照されていない場合:
.fbxでは最適な互換性が確保されます。.fbxと.obj形式の場合、Launcher 版 Fab は、ファイル名とディレクトリ構造に基づいてテクスチャの自動マッピングを試みます。 この自動マッピングの一般的な手順は次のとおりです。.fbxまたは.objの拡張子に基づいてモデル ファイルを検出します。モデル ファイル名を含むテクスチャ マップを検索します。
テクスチャ ファイル名内の共通のサフィックスを検出して、テクスチャ マップのタイプを決定します。
検出されたテクスチャ マップをマテリアル チャンネルにリンクします。
テクスチャの命名規則の例
modelfile_suffix の命名規則に基づいてテクスチャに名前を付けます。例:
cube_basecolor.pngcube_roughness.pngcube_normal.png
例
別の名前のモデルやテクスチャ (例:cube_*.png、sphere_*.png) は別のアセットとして扱われます。
テクスチャの命名法で認識されるサフィックス
.jpg、.png などの形式のテクスチャ ファイルは、その サフィックス に基づいてモデルに自動的にマッチングされます。 認識されるサフィックス (例: _basecolor、_normal、_roughness) を使用することで、Launcher 版 Fab はエクスポート時に各テクスチャを正しいマテリアル チャンネルに正確に割り当てることができます。
正しいマテリアル設定を確実に行うために、各テクスチャ タイプに次の認識されるサフィックスを使用します。
| テクスチャタイプ | 認識されるサフィックス |
|---|---|
ベースカラー / ディフューズ |
|
アンビエントオクルージョン |
|
法線 |
|
ラフネス |
|
メタルネス |
|
エミッシブ |
|
変位 / 高さ |
|
エミッシブ、透過処理、トランスミッションなどの一部のテクスチャ タイプは、想定どおりに機能させるために、特定の DCC サポートや設定が必要になる場合があります。
法線マップの規則
Launcher 版 Fab で法線マップを使用するには、デフォルトでは DirectX の命名規則に従って、タンジェント空間で法線マップを指定する必要があります。 追加のサフィックスを使用して、提供される法線マップで使用する規則を指定することができます。 追加のサフィックスを指定しない場合は、DirectX が想定されます。
法線マップを OpenGL として作成する場合、
opengl、gl、またはnormalsglなどのサフィックスを使用します。DirectX を使用する場合、
directx、dx、またはnormdxなどのサフィックスを使用します。
推奨されるフォルダ構造
モデルと一緒に すべてのテクスチャを同じディレクトリに含めてください。
親フォルダに
.gltf、.glb、.usd、.usdzファイルのいずれかが含まれている場合、サブフォルダ内でテクスチャの自動マッチングは <b>行われません</b>。 正しく関連付けられるように、テクスチャをモデル ファイルと同じディレクトリ レベルに保存してください。Launcher 版 Fab は、アーカイブ内のアーカイブ (例:
.zipファイルの中の別の.zipファイル)を <b>サポートしません</b>。 アーカイブがフラットで自己完結型であることを確認してください。アーカイブに複数の個別のアセットが含まれる場合は、次のいずれかを実行してください。
すべてのファイルがルートレベルにある場合は、各アセットに固有の接頭辞を使用する (例:
rock1.fbx、rock2.fbx)。アセットごとにフォルダを使用する。
複数のアセットを扱う
アーカイブに複数の個別のアセットが含まれている場合、Launcher 版 Fab はそれぞれのアセットをエクスポートしようとします。 これらのアセットが正しく認識され、テクスチャが正しく一致するように、次の 2 つの方法のいずれかで整理することができます。
1. ディレクトリ別にアセットをグループ化
アセットを個別のフォルダに整理することで、Launcher 版 Fab で各グループをスタンドアロン アセットとして処理できるようになります。
アーカイブ構造の例:
結果:
rock1.fbxとrock2.fbxはそれぞれ、対応するテクスチャとともにエクスポートされます。ユーザーのエクスポート先には、一致するテクスチャ プレフィックスに基づいて、
additionalmaterialという名前の3つ目のマテリアルも生成されます。
2. フォルダなしで複数のプレフィックスを使用する
アーカイブがアセットごとに 一意のプレフィックス を使用し、すべてのファイルをルートレベルで保持している場合、Launcher 版 Fab は、それぞれが個別のディレクトリに整理されているかのように、それらを正しく識別してエクスポートします。
アーカイブ構造の例:
結果:
rock1.fbxとrock2.fbxは別々のアセットとして扱われ、そのテクスチャは共有プレフィックスに基づいて自動的にマッチングされます。additionalmaterialはスタンドアロン マテリアルとして作成されます。rocks_roughness.jpgは、rocks というプレフィックスが一致するモデルが含まれている場合にのみ使用され、含まれていない場合は無視されます。
一貫性のあるプレフィックスを使用することは、フォルダのグループ分けに代わる柔軟な方法であり、エクスポート中の明確さと互換性を維持するのに役立ちます。
有効なアーカイブ構造の例
Launcher 版 Fab を通じてコンテンツをスムーズにエクスポートできるように、Fab が正しく解釈して処理できるアーカイブ構造の例をいくつか以下にご紹介します。
0 個のモデル、1 個のマテリアル
スタンドアロン マテリアルとして エクスポートされます。
0 個のモデル、2 個のマテリアル (同じディレクトリ)
2 つの個別のスタンドアロン マテリアルとして エクスポートされます。
0 個のモデル、2 個のマテリアル (異なるディレクトリ)
2 つの個別のスタンドアロン マテリアルとして エクスポートされます。
1 個の FBX モデル、テクスチャなし
モデルのみとして エクスポートされます。 FBX にマテリアルが含まれる場合、マテリアルは維持されます。
1 個のモデル、1 個のマテリアル
元のマテリアルを置き換える、新規作成されたマテリアルを含むモデルとして エクスポートされます。
1 個のマテリアルを共有する 3 個のモデル
新規作成された共有マテリアルをすべてのモデルが含む形で エクスポートされます。
2 個のモデルと 1 個の追加マテリアル (フラット構造) を含む「パック」
一致するマテリアルを含む 2 個のモデルと、3 つ目のスタンドアロン マテリアルとして エクスポートされます。
2 個のモデルと 1 個の追加マテリアル (フォルダ別に構造化) の「パック」
ディレクトリ分離を使用して上記と同じ結果として エクスポートされます。
参照テクスチャを含む 1 個の glTF モデル
.gltfファイルで明示的に参照されている場合のみ、textures / ディレクトリからテクスチャを使用して、モデルとしてのみエクスポートされます。
個別のフォルダにある 1 個の glTF モデルと 1 個のスタンドアロン マテリアル
エクスポート形式:
テクスチャがリンクされたモデル (参照されている場合)。
dir2のコンテンツからビルドされたスタンドアロン マテリアル。
これらの形式は、Launcher 版 Fab を使用する際に最適なパフォーマンスと互換性を確保します。
その他のヒント
テクスチャとマテリアル
PBR マテリアルを使用する:ベースカラー、メタリック、ラフネス、法線マップ、およびその他の同様のマテリアルでエクスポートする。 マップがスペキュラ ワークフローまたはメタリック ワークフローのいずれかに準拠していることを確認する。
解像度:テクスチャ解像度を 2 の累乗 (例:512x512、1024x1024) に維持する。
テクスチャ サイズ:品質とパフォーマンスのバランスを取る。 必要な場合を除き、4K を超えるテクスチャは避ける。
ファイルタイプ:
.pngまたは.tgaが推奨される 8 ビット形式です。.jpgを使用することもできますが、圧縮のアーティファクトに注意する必要があります。.pngを使用している場合は、最高の品質を得るために、非圧縮で使用する。16/32 ビットの場合は、
.pngまたは.exrを使用する。
色空間:テクスチャが正しい色空間に設定されていることを確認する。
サーフェスまたはオブジェクトごとに 1 個のマテリアルのみを割り当てる。
ファイル命名
小文字 を使用する。
スペースの代わりに アンダースコア を使用する。
ASCII 以外の文字 (アクセント付き文字や記号など) は使用を避ける。
ジオメトリと最適化
ポリゴン数:ジオメトリを最適化する。シルエットとディテールを維持できる最小限のポリゴン数に抑える。
N 角形なし:クワッドまたはトライアングルのみを使用する。
法線:法線が正しく、必要に応じてスムージングされるようにする。
ピボット ポイント:アニメーションとアライメントに対してメッシュの原点を正しく設定する。
トランスフォームをクリーンナップする:エクスポートする前に 3D ソフトウェアでスケール / 回転を適用する。
非多様体 ジオメトリ:避けてください! レンダリングや物理において問題を引き起こす可能性があります。
トランスフォームを適用する:スケーリングの問題を避けるためにエクスポート前にトランスフォームをリセットする。
モデルが AR/VR またはウェブ表示を目的としている場合は、モバイル パフォーマンスを確認する。
カメラとライティング
デフォルト カメラ:前方を向くようにモデルを配置する (プラットフォームに応じて、Z+ または Y+)。
意図的にベイクされた静的ライティングを使用している場合以外は、ライティングのベイクを避ける。