Unreal Editor for Fortnite (UEFN) のモデリング ツールを使用して アセット を作成する場合でも、購入したアセットを UEFN にインポートする場合でも、Blender などの他のモデリング ツールを使用してアセットを作成する場合でも、アセットのスケール、ディメンション、マテリアル などのプロパティに留意することが重要です。また、フォートナイトがプレイされるデバイスの制約を考慮することも重要です。たとえば、モバイルデバイスや Nintendo Switch では、パソコンや PlayStation 5 コンソールとアセットに関する要件が異なる場合があります。
このガイドは、プロジェクトで使用するアセットがフォートナイトに対応しているかどうかを判断するのに役立ちます。
モデリングの設定
UEFN 内か Blender などの他のモデリング ツールかにかかわらず、単位とスケールが正しく設定されているか確認してください。これらを含めて確認すべき設定を、以下の表にまとめています。これで、フォートナイトのアーティストと同じ設定で作業できます。
設定項目 | 単位またはその他の値 |
---|---|
Length/Linear (長さ / 線形) | センチメートル (1 単位は 1 cm に相当します) |
Angles/Rotation (角度 / 回転) | 度 |
Timers (タイマー) | フレーム/秒 |
Up Axis (上方向軸) | Z 軸 |
Normal Map Color Space (法線マップの色空間) | DirectX |
グリッド サイズ
UEFN では、ワールド グリッド にセンチメートルを使用します (1 cm = 1 Unreal 単位)。モデリング ソフトウェアまたは UEFN でアセットを作成している場合は、使用するグリッド サイズが 512 cm (512 単位) であることを確認します。これがフォートナイトで使用される標準です。
ワールドのスケーリング
フォートナイトのプレイヤー キャラクターの身長は 192 cm です。建築や家具を作成する際には、この点に留意してください。そうすることで、プレイヤーのスケールが作成中の環境にフィットします。
アセット バジェット
以下の表に異なるサイズや複雑度のアセット バジェットに応じたスライディング スケールを示します。このバジェットは作成物の最も低い詳細度 (LOD) の概算になります。バジェットはオブジェクトのサイズとは直接関係ありませんが、詳細の複雑度によって決まります。
適切な LOD がアセットに設定されていない限り、2 万個を超える頂点を使用するアセット数に注意してください。
複雑さ | メッシュ小 | メッシュ中 | メッシュ大 |
---|---|---|---|
シンプルなオブジェクト | LOD0 最大:ポリゴン 数 400 | LOD0 最大:ポリゴン数 900 | LOD0 最大:ポリゴン数 2500 |
中サイズのオブジェクト | LOD0 最大:ポリゴン数 700 | LOD0 最大:ポリゴン数 2000 | LOD0 最大:ポリゴン数 6000 |
複雑なオブジェクト | LOD0 最大:ポリゴン数 1200 | LOD0 最大:ポリゴン数 4000 | LOD0 最大:ポリゴン数 9000 |
上記のバジェットの許容範囲はあくまでも参考です。アセットの最適なテスト方法は、UEFN にインポートしてテストすることです。
バジェットを考慮する別の方法は、以下に示すように、作成しているオブジェクトとキャラクターのサイズを 頂点 数で比較することです。
アセット サイズ | 対プレイヤー | 頂点数 |
---|---|---|
小 | キャラクターの半分以下 | 最大 1000 |
中 | キャラクターのサイズまで | 最大 3000 |
大 | キャラクターよりも大きい | 最大 5000 |
次のセクションでは、一般的な種類のアセットのアセット バジェットの例を示します。LOD 範囲に応じた頂点数を記載しています。
樹木
樹木のサイズおよび LOD | 小 LOD0 | 小 LOD3 | 中 LOD0 | 中 LOD3 | 大 LOD0 | 大 LOD3 |
---|---|---|---|---|---|---|
頂点数 | 1700 | 150 | 5000 | 1200 | 15000 | 2000 |
岩
岩のサイズおよび LOD | 小 LOD0 | 小 LOD3 | 中 LOD0 | 中 LOD3 | 大 LOD0 | 大 LOD3 |
---|---|---|---|---|---|---|
頂点数 | 600 | 50 | 1200 | 100 | 2500 | 150 |
標識
標識のサイズおよび LOD | 小 LOD0 | 小 LOD3 | 中 LOD0 | 中 LOD3 | 大 LOD0 | 大 LOD3 |
---|---|---|---|---|---|---|
頂点数 | 400 | 50 | 1700 | 300 | 7000 | 300 |
小道具
小道具のサイズおよび LOD | 小 LOD0 | 小 LOD3 | 中 LOD0 | 中 LOD3 | 大 LOD0 | 大 LOD3 |
---|---|---|---|---|---|---|
頂点数 | 900 | 60 | 1500 | 150 | 3200 | 250 |
乗り物
乗り物のサイズおよび LOD | 小 LOD0 | 小 LOD3 | 中 LOD0 | 中 LOD3 | 大 LOD0 | 大 LOD3 |
---|---|---|---|---|---|---|
頂点数 | 1200 | 200 | 6000 | 400 | 9000 | 1000 |
アセットの詳細度 (LOD)
詳細度 (LOD) は、さまざまなデバイスで島のパフォーマンスを高めるための重要な方法です。アセットの作成またはインポート後に UEFN 内で LOD を生成することができますが、他のモデリング アプリケーションでアセットを作成する場合は、アセットの作成中に手動で LOD を作成することもできます。自動 LOD 機能では LOD を簡単に作成でき、ほとんどのアセットでは、おそらくこれで問題ありません。ただし、非接合のジオメトリがある一部のアセットでは、手動で作成した LOD の使用が必要になる可能性があります。
デバイス間での優れたパフォーマンスを実現するために、リアルタイム エクスペリエンスのためのアセットには 5 つの LOD (LOD0 および LOD1~LOD4) が必要です。
UEFN に同時に表示されている以前の LOD かユーザーのモデリング ソフトウェアを使用して、各 LOD メッシュ を最適化します。以前の LOD のシームに注意してください。こうすることで、UV アイランド 内を最適化できます。これによってゲーム内で、ある LOD から別の LOD に テクスチャ が切り替わるときにテクスチャがずれるような事態を回避できます。
LOD を作成する場合、以下の点に留意してください。
-
LOD トランジションの間にオブジェクトに大きな差異が生じるのを避けるため、シルエットに応じてポリゴン数を削減してください。アセットのすべての LOD レベルにおいて、できる限りあらゆる角度からのシルエットを維持してください。
-
各 LOD レベルは、前のレベルのポリゴンの半分である必要があります。
-
テクスチャの伸縮が悪くなってしまうので、LOD を生成する際に UV の境界線を壊さないでください。
-
LOD をテストし、それに合わせて各レベルの LOD 距離を調整してください。
LOD1 から LOD3 は、以下の場合のみモデリングツールのメッシュ オプティマイザを使用して自動的に作成することができます。
-
UV が、UV アイランドのオフセットや回転をすることなく、ある LOD から別の LOD に一致している場合。
-
すべての LOD で同じマテリアルが使用されている場合。
アセット コリジョン
すべての スタティックメッシュ オブジェクトには、ゲームプレイ中にプレイヤーがスタティックメッシュとインタラクトできるようにするコリジョン プロパティを設定する必要があります。コリジョン プロパティは、プレイヤー移動、メッシュとプレイヤーが衝突する際のエフェクト、およびワールド トレーシングに影響します。多くの場合、コリジョン ボリュームは UEFN のようなエディタ内で直接生成され、設定されますが、他のモデリング ツールでアセットを作成した場合、アセットにコリジョン ボリューム を含めるのがグッド プラクティスです。
アセットの大まかなブロックアウト形状を作成するために、凸型モデルをビルドしてください。メッシュの基本形状をブロックアウトするために プリミティブ を調整してください。メッシュは UCX コリジョン メッシュを 10 個以下に制限するようにしてください。
命名規則では、プレフィックス「UCX_」を使用し、その後にモデリング ツールからエクスポートした低ポリゴン メッシュの名前を続けます。たとえば、アセットがイスの場合、名前は「UCX_Chair」となります。
メッシュのコピーが複数ある場合、「UCX_Chair_01」、「UCX_Chair_02」のようにアセット名のあとに数字を追加してください。
詳細については、「スタティックメッシュのコリジョンを設定する」を参照してください。
マテリアルとテクスチャのガイドライン
これ以降のセクションには、他のモデリング ツールを使用して作成したアセットのマテリアルとテクスチャを作成するためのガイドラインが含まれます。UEFN のモデリング ツールは動作が異なるため、UEFN 内で作成するアセットに対してマテリアルがどのように機能するかの詳細については UEFN ドキュメントの「マテリアル」セクションを参照してください。
ユーザーの皆さんは、できるだけ多くの体験でアセットが機能するようにしたいと考えていることでしょう。アセットは、さまざまな時間帯の屋外、夜間の屋外、明るい室内や薄暗い室内など、多くの異なるライティング シナリオで表示されることを覚えておくことが重要です。これを考慮するため、次のことに留意してください。
-
アルベド 値を物理的に正しい範囲に維持してください。
-
エミッシブ 値のレベルを選択する場合は、日中、夜間、屋内、屋外といったさまざまなライティング条件で機能することを確認してください。
-
フォトリアルではないアセットでも、物理ベース レンダリング (PBR) の仕組みを理解することは重要です。
マテリアルを作成する
オブジェクトが現実世界ではどのように見えるかを考え、それらのアイテムを手本としてマテリアルとテクスチャをモデリングします。テクスチャは、好きなだけ詳細に表現できます。
テクスチャをインポートする際は、TGA または PNG ファイル形式を使用できます。ただし、フォートナイトのアーティストはほとんどのテクスチャで PNG を使用しています。
高ポリゴンから低ポリゴン メッシュにテクスチャをベイクする
マップの ベイク を始める準備ができたら、必ず以下を実行します。
-
テクスチャ マップで無制限のテクスチャ パディング (テクスチャの膨張とも呼ばれる) を使用します。
-
テクスチャ マップのすべてのトランスフォーメーションをフリーズし、折りたたんでいることを確認します。
低ポリゴン モデルのテクスチャをベイクする
-
ベイク用に低ポリゴン モデルの複製を作成します。モデルは、できるだけ多くのクワッドを維持する必要があります。どうしても必要な場合のみ、ベイク用にエクスポートする前に複製モデルにトライアングル化を追加します。複製は最終的なインゲーム メッシュであることが必要です。
-
テクスチャのベイクを開始する前に、モデルの UV の範囲が 0 ~ 1 に収まっていることを確認します。
高ポリゴン モデルのテクスチャをベイクする
高ポリゴン メッシュは、ベイクのみに使用されます。UV はこのメッシュでは必要ありませんが、ID マスクに影響を及ぼすためにマテリアルの割り当てを分離することができます。
Marmoset を使用している場合は、関連する構成要素を高および低として別々にして、ベイクの詳細を分離できます。詳細は Marmoset のドキュメント を参照してください。
テクスチャのスケーリング
-
テクスチャ マップには 2 の累乗のスケーリングを使用します (64、128、256、512、1024、2048)。これでミップマッピングが可能になります。
-
ユニークなテクスチャやタイリング テクスチャの場合は、必要に応じて UV アイランドを直線化して、UV シームの数をできるだけ減らします。
-
すべての テクスチャ マップ のサイズ/解像度は 2000 以下である必要があります。
-
マテリアルには、通常、次のテクスチャ マップが含まれています。
スペキュラ テクスチャ マップを含む場合は、スペキュラ テクスチャを以下のように設定する必要があります。
- R チャンネルにスペキュラ マップ
- G チャンネルにメタリック マップ
- B チャンネルにラフネス マップ
通常は、Marmoset を使用してテクスチャ マップをベイクすることを推奨しますが、他のソリューションを使用しても構いません。Marmoset を利用できない場合は、たとえば、Xnormal を使用して、アセットをベイクできます。
マップには必ず 法線、ワールド空間の法線、アンビエント オクルージョン、ID マスク、曲率 を含めます。結果のベイク済みテクスチャ マップを、この後、Substance Painter などのアプリケーションで使用して、フォートナイトで使用する最終的なディフューズ、法線、スペキュラ / メタリック / ラフネス / アルファ マップを生成できます。
Substance Painter の設定
以下は、Substance Painter を使用してメッシュをペイントするためのテクスチャ マップ チャンネル出力です。別のアプリケーションを使用する場合は、そのアプリケーションで同様の設定を探します。
テクスチャ マップのタイプ | チャンネル設定 |
---|---|
ディフューズ | RGB または RGBA (アルファ情報がある場合) |
法線 | RGB |
スペキュラ | R (赤色) チャンネル = スペキュラ、G (緑色) チャンネル = メタリック、B (青色) チャンネル = ラフネス、A (アルファ) チャンネル = エミッシブのみ |
[Converted Maps (変換されたマップ)] では、設定値を「Normal DirectX」にする必要があります。
Nintendo Switch およびモバイル デバイス向けにパフォーマンスを最適化する
フォートナイトは、さまざまなデバイスでプレイされます。フォートナイトでの使用を想定したアセットを UEFN で作成するときは、アセットを最適化する方法を考慮することをお勧めします。そうすれば、フォートナイトでサポートされているすべてのデバイスで、アセットのパフォーマンスが向上します。
Nintendo Switch およびモバイル デバイス向けにアセットを最適化する方法をいくつかご紹介します。
-
ポリゴン数:ポリゴン数はできるだけ小さくします。
-
マテリアル数:使用するマテリアル数は最小限にします。各メッシュで使用するマテリアル セクションが 1 つだけなら理想的です。
-
マテリアルの品質:非常に高品質なマテリアルを使用している場合、これらのデバイスでは低品質バージョンになる可能性があります。低品質マテリアルに切り替えてパフォーマンスを上げる機能を持つツールを使用している場合は、その機能を使用する必要があります。UEFN では、UEFN マテリアル ブラウザの [Material Quality Switch (マテリアル品質スイッチ)] と [Material Shading Path Switch (マテリアル シェーディング パス スイッチ)] 機能を使用します。
-
テクスチャ解像度:これらのデバイスでは、通常、テクスチャ メモリがかなり制限されています。サイズが 512x512 ピクセルのテクスチャのみを使用し、可能な場合は大きいサイズを避けることで、パフォーマンスを最適化できます。
アセットのトラブルシューティング
UEFN 用のメッシュを初めて作成する場合は、いくつか問題が発生することがあります。ここで、よくある問題と考えられる解決策をご紹介します。
-
アセットの解像度が誤っている:高解像度の 3D アセットを作成した場合、それより低い解像度に戻すことはできません。高解像度のメッシュは、編集が難しくなり、コンピュータでの レンダリング も難しくなります。これは、アセットを表示するときに時間がかかることを意味します。また、作成されるファイル サイズも大きくなり、UEFN とフォートナイトにとっては頂点数が多すぎる結果となります。
-
アセットのスケールが正しくない:スケールを均一に適用していることを確認します。以下に、スケールが正しく機能しない理由の例をいくつか示します。
-
スケール設定がメートルではなくセンチメートルに設定されている。
-
モデリング環境のワールド スケールの更新が必要である。
-
エクスポート プロセスが出力スケールを変換中である。
-