Language:
Page Info
Tags:
Skill Level:
Engine Version:

LOD の自動生成をセットアップする

ALC_Header.png

自動 LOD (Level of Detail) 生成システムでは、スタティックメッシュのポリゴン カウントを自動的に減らして、アンリアル エンジン 4 (UE4) エディタを使って LOD を作成することができます。LOD の自動生成では、Quadratic Mesh Simplification というメッシュ簡略化手法を用いて、スタティックメッシュ用の LOD を生成します。このメッシュ簡略化では、2 つの頂点をマージしエッジをコラプスすることで生じる視覚的差異の量を計算します。次に視覚的影響が最小限であるエッジを選んで、それをコラプスさせます。これを行う場合、このツールは新たにマージした頂点を配置する最適な場所を選び、エッジに沿ってコラプスしたトライアングルがあればそれも取り除きます。トライアングル数がリクエストされた目標数になるまで、エッジをコラプスし続けます。以下の操作ガイドでは、UE4 プロジェクトの自動 LOD 生成システムでこの機能をセットアップして使用する方法について説明します。

セットアップ

以下のセクションでは、スターター コンテンツ を有効にした新規プロジェクトを作成して、Static Mesh アセットを開いて作業します。

ここでは、スターター コンテンツに入っている SM_Rock スタティックメッシュを使用しますが、ご自身で選んだスタティックメッシュをご利用いただくこともできます。

  1. まだ行っていない場合は、UE4 プロジェクトを開くか、新規 UE4 プロジェクトを作成し、スターター コンテンツ が追加されているようにします。

    クリックしてフルサイズで表示

  2. プロジェクトをロードしたら、SM_Rock スタティックメッシュを探し、その上でダブルクリックし、スタティックメッシュ エディタ で開きます。

    クリックしてフルサイズで表示

LOD を作成する

LOD を生成するには 2 種類の方法があります。ひとつめは、事前設定された内容に基づき LOD を自動作成する LOD Group プリセットを使用する方法です。エピックではこの方法を推奨しています。ふたつめは、各自で LOD を設定するやり方です。以下では、各方法を使用した LOD 作成について詳細に説明します。

LOD グループの使用

LOD グループを Automatic LOD ツールを使って UE4 内で作成するのは好ましい方法です。次のセクションでは、 UE4 プロジェクトで LOD グループを設定し、使用する方法について説明します。

  1. まず、プロジェクトの BaseEngine.ini ファイルを見つけて、テキスト エディタ内で開きます。[StaticMeshLODSettings] セクションを探します。BaseEngine.ini ファイルでこのエントリがなければ、以下のコードをご自身の BaseEngine.ini ファイルにコピー&ペーストしてください。

    [StaticMeshLODSettings]
    LevelArchitecture=(NumLODs=4,LightMapResolution=32,LODPercentTriangles=50,PixelError=12,SilhouetteImportance=4,Name=LOCTEXT("LevelArchitectureLOD","Level Architecture"))
    SmallProp=(NumLODs=4,LODPercentTriangles=50,PixelError=10,Name=LOCTEXT("SmallPropLOD","Small Prop"))
    LargeProp=(NumLODs=4,LODPercentTriangles=50,PixelError=10,Name=LOCTEXT("LargePropLOD","Large Prop"))
    Deco=(NumLODs=4,LODPercentTriangles=50,PixelError=10,Name=LOCTEXT("DecoLOD","Deco"))
    Vista=(NumLODs=1,Name=LOCTEXT("VistaLOD","Vista"))
    Foliage=(NumLODs=1,Name=LOCTEXT("FoliageLOD","Foliage"))
    HighDetail=(NumLODs=6,LODPercentTriangles=50,PixelError=6,Name=LOCTEXT("HighDetailLOD","High Detail"))

    このセクションでエントリを追加、削除、調整することで、LOD グループの使用時の機能を追加、削除、調整することになります。

  2. UE4 エディタを開きます。LOD を生成するスタティックメッシュをコンテンツ ブラウザでダブルクリックして開きます。この例では、スターター コンテンツに入っている SM_Rock を使用します。

  3. スタティックメッシュ エディタで、このスタティックメッシュが開いている状態で、[Details] パネルに進み、[LOD Settings] セクションを展開します。

    クリックしてフルサイズで表示

  4. [LOD Settings] セクションで、[LOD Group] ボタンをクリックします。表示されるリストから、[SmallProp] オプションを選択します。

    クリックしてフルサイズで表示

  5. 現在行っていることは、現在の設定を SmallProp の新規設定で上書きすることである旨の通知があります。作業を続けるには、[Yes] ボタンをクリックします。

    ALC_PM_02.png

  6. これでスタティックメッシュ エディタには、 [Details (詳細)] パネルに追加された 4 種類の新規 LOD エントリ、LOD0、LOD1、 LOD2、および LOD3 が表示されます。各 LOD エントリをクリックすると、プロジェクトの BaseEngine.ini ファイルのStaticMeshLODSettings で定義された設定に対応する設定があるのがわかります。

    クリックしてフルサイズで表示

    [Auto Compute LOD Distances] にチェックを入れるようにしてください。これにより、LOD に対して使用する画面サイズを決めます。このアルゴリズムでは、エッジをコラプスするたびにどれくらい視覚的差異が加わるかを把握します。この情報を使ってそのエラー量ではどれくらいの距離なら許容できるかを決定することができます。これをオフにすると、各 LOD の画面サイズは手動で設定する必要がありますが、これはエラーにつながることがあります。

様々な LOD グループ設定を試して、オブジェクトに対してどのような LOD を作るかを確認してください。次のセクションでは、LOD を手動で作成する方法について説明します。

LOD を作成する

このセクションでは、プロジェクトのアセットに対して LOD を手動でセットアップし、作成する方法を説明します。

以下の手順では、LOD を作成しますが、エピックでは前のセクションで説明した LOD Group を用いた方法を推奨しています。

  1. スタティックメッシュ エディタの [Details (詳細)] パネルで、[LOD Settings] セクションを展開し、[Number of LODs] オプションを探してください。

    クリックしてフルサイズで表示

    [LOD Group] には、プロジェクトに対して適切な LOD 設定を迅速に選ぶためのプリセット一覧があります。これらは、[StaticMeshLODSettings] の BaseEngine.ini でプロジェクト毎に変更することができます。各 LOD の詳細を制御するのではなく、プロジェクトで適切なカテゴリを設定し、LOD グループを主に使用することをお勧めします。

  2. [Number of LODs]4 に設定し、[Apply Changes] ボタンを押して 4 つの新規 LOD をメッシュに追加します。

    クリックしてフルサイズで表示

    [Auto Compute LOD Distances] にチェックを入れるようにしてください。これにより、LOD に対して使用する画面サイズを決めます。このアルゴリズムでは、エッジをコラプスするたびにどれくらい視覚的差異が加わるかを把握します。この情報を使ってそのエラー量ではどれくらいの距離なら許容できるかを決定することができます。これをオフにすると、各 LOD の画面サイズは手動で設定する必要がありますが、これはエラーにつながることがあります。

  3. LOD1 の隣にある小さな白い三角を押して、そのセクションを展開し、[Reduction Settings] の隣にある小さな白い三角を押します。

    クリックしてフルサイズで表示

  4. [Reduction Settings] で、[Percent Triangle] セクションを探し、その値を 75 に設定します。次に [Apply Changes] ボタンを押します。

    クリックしてフルサイズで表示

  5. LOD2LOD3 を展開します。LOD2 の Percent Triangle25 パーセントに、LOD3 のPercent Triangle を 12 パーセントに設定します。設定が完了すると、以下の画像のように各 LOD が使用するトライアングルの数が LOD 名の隣に表示されます。

    クリックしてフルサイズで表示

  6. スタティックメッシュ エディタで、カメラをオブジェクトの近くに移動したり、オブジェクトからさらに遠ざけると LOD が変わるのがわかります。この変化がわかりづらければ、LOD の変化に関する情報が画面左側に表示されています。

    クリックしてフルサイズで表示

スタティックメッシュに対して LOD を設定した状態で、スタティックメッシュをレベルに配置するとそれがカメラからどれくらい離れているかに応じて表示する LOD が自動的に選択されます。

最終結果

次のドキュメントでは、UE4 のLOD 自動生成の 2 種類の方法について説明します。LOD の自動ツールを使用する場合、各自のプロジェクトのニーズに合うように様々な LOD グループをまずセットアップし定義するのがベストな方法です。その後に、LOD 設定にある LOD Group のドロップダウンを使ってこうした様々な設定を選択します。