Unreal Engine では、アクタのマージ 機能を使って複数の スタティック メッシュ アクタ を単一の新しいアクタに結合できます。こうすることでドローコールの数が減り、プロジェクトの最適化に役立ちます。
アクタをマージするワークフロー
レベル内で複数のスタティック メッシュ アクタをマージするには、次の手順に従います。
-
マージする複数のスタティック メッシュ アクタを レベル ビューポート または アウトライナ 内で選択します。
-
上部のメニュー バーから [Actor (アクタ)] > [Merge Actors (アクタをマージ)] を選択します。
-
実行するマージのタイプを [Merge (マージ)]、[Simplify (単純化)]、[Batch (バッチ)]、または [Approximate (近似)] から選択します。詳細については、後述の「マージ タイプ」セクションを参照してください。
選択したオプションにより、デフォルトまたは前回の設定に基づいて自動的にマージが実行されます。マージ オプションを設定するには、上部のメニュー バーから [Actor] > [Merge Actors] > [Merge Actor Settings (アクタのマージ設定)] に移動します。
-
新しいアクタに名前を付けて作成先のフォルダを選択し、[Save (保存)] をクリックします。
マージ タイプ
Unreal Engine には、マージする対象に応じてスタティック メッシュ アクタをマージする方法がいくつか用意されています。
-
Merge (マージ)
-
Simplify (単純化)
-
Batch (バッチ)
-
Approximate (近似)
以下は、これらのオプションについての説明です。
Merge (マージ)
この方法では、選択したすべてのスタティック メッシュ アクタをデフォルトでマージし、各マテリアルに一つのメッシュ セクションを作成します。使用する LOD レベルを指定できます。
ドローコールの数は マテリアル の数と同等になります。この方法では UV が維持されます。
すべてのマテリアルをマージすることも可能で、その場合はメッシュ全体で単一のマテリアルがベイクされます。この結果、単一のセクションと単一のドローコールが生成されますが、UV は維持 されません。オクルージョン カリングはセクションごとに実行されます。
Simplify (単純化)
この方法では、選択したすべてのスタティック メッシュ アクタを、プロキシ メッシュ と呼ばれる単一のメッシュにマージします。選択した各メッシュの最小 LOD が使用され、指定した設定に基づいてメッシュ ジオメトリが単純化されます。また、頂点の数も削減されます。
この方法では一つのドローコールが生成されます。メッシュ全体で一つのマテリアルがベイクされ、UV は維持 されません。オクルージョン カリングはメッシュ全体で実行されます。
詳細については、「プロキシ ジオメトリの概要」ページを参照してください。
Batch (バッチ)
この方法では、類似したスタティック メッシュ コンポーネントから、インスタンス化されたスタティック メッシュ コンポーネントが作成されます。UV は維持され、オクルージョン カリングには影響を及ぼしません。
Approximate (近似)
Unreal Engine 5 に新たに加わったこの方法は [Simplify] でのマージに似ていますが、この方法では、より複雑なソース メッシュ (Nanite メッシュなど) を処理することができます。[Simplify] でこれを行おうとすると、単純化の処理またはテクスチャをベイクする処理のいずれかで失敗します。
Merge Settings (アクタのマージ設定)
[Merge Actor Settings (アクタのマージ設定)] パネルではマージ設定を個別に設定できます。このパネルにアクセスするには、上部のメニュー バーから [Actor] > [Merge Actors] > [Merge Actor Settings] をクリックします。
Merge (マージ)
このマージ方法を使用する場合は、次のオプションを設定できます。
Mesh Settings (メッシュ設定)
[Mesh Settings (メッシュ設定)] セクションには、マージするスタティック メッシュに影響を及ぼすプロパティが含まれています。
オプション | 説明 |
---|---|
Pivot Point at Zero | 有効にすると、マージされたアクタのピボット ポイントがレベルの原点 (0,0,0) に設定されます。 無効の場合、マージされたアクタのポイントは、マージ用に選択した最初のスタティック メッシュ アクタのピボット ポイントになります。 |
Merge Physics Data | すべてのコリジョン プリミティブを単一の物理オブジェクトにマージします。 |
Bake Vertex Data to Mesh | 頂点カラーや法線などの頂点データを、マージされたスタティック メッシュ アクタにベイクします。 |
Output UVs | 複数の UV チャンネルを含む配列です。指定したチャンネルの有効な UV がソース メッシュに含まれる場合は、マージされたスタティック メッシュ アクタに UV チャンネルを出力するかどうかを選択できます。 |
LOD Selection Type | マージされたオブジェクトにどの LOD を追加するかを制御します。以下のいずれかのオプションを選択できます。
|
Include Imposters | 有効にすると、ソース スタティック メッシュの一部であるインポスター LOD がマージに含まれます。 |
Allow Distance Field | 有効にすると、メッシュ向けに距離フィールドが計算されます。マージされたメッシュが離れた場所のみにレンダリングされる場合は、このオプションを無効にしてメモリを節約できます。 |
Generate Lightmap UVs | 既存の UV アイランドを使って、マージされたスタティック メッシュ アクタの新しいライトマップ UV レイアウトを作成します。この新しいレイアウトは、ターゲット ライトマップ UV チャンネルに配置されます。 |
Generate Nanite Enabled Mesh | 有効にすると、Nanite 対応のメッシュが生成されます。 |
Target Light Map Resolution | 新しいライトマップ UV の解像度を指定し、レイアウト内の各アイランド間で計算される距離を制御します。解像度が高いと、各アイランド間の空間が狭くなります。 |
Computed Light Map Resolution | 有効にすると、ソース スタティック メッシュのライトマップ解像度を合計することでライトマップ解像度が計算されます。 |
Material Settings (マテリアル設定)
Material Settings (マテリアル設定) セクションには、マージするスタティック メッシュのテクスチャとマテリアルに影響を及ぼすプロパティが含まれています。
[Mesh Settings] の [LODSelection Type (LOD 選択タイプ)] が [Use all LOD levels] に設定されている場合は、複数のスタティック メッシュのマテリアルをマージすることはできません。
オプション | 説明 |
---|---|
Merge Materials | 有効にすると、新しい UV レイアウトとともに、マージしたすべてのアセットのマテリアルが単一のマテリアルに結合されます。 次のサブ設定は、[Merge Materials] を有効にしている場合のみに使用できます。 |
Texture Size | マージされた最終的なマテリアルのテクスチャ向けに、水平 (X) および垂直 (Y) ピクセルのサイズ、または解像度を設定します。 |
Texture Sizing Type | |
Normal Map | 有効にすると、マージされたアクタの法線マップが生成されます。 |
Tangent Map | 有効にすると、マージされたアクタの接線マップが生成されます。 |
Metallic Map | 有効にすると、マージされたアクタのメタリック マップが生成されます。このオプションを有効にした場合は Metallic Constant プロパティの効果がなくなります。 |
Metallic Constant | マージされたアクタのマテリアルの Metallic プロパティに使用する定数値を設定します。[Metallic Map] オプションがオフの場合のみに有効になります。 |
Roughness Map | 有効にすると、マージされたアクタのラフネス マップが生成されます。このオプションを有効にした場合は Roughness Constant プロパティの効果がなくなります。 |
Roughness Constant | マージされたアクタのマテリアルの Roughness プロパティに使用する定数値を設定します。Roughness Map オプションがオフの場合のみに有効になります。 |
Anisotropy Map | 有効にすると、マージされたアクタの異方性マップが生成されます。異方性は、表示される方向に応じて外観を変えるためのマテリアルのプロパティです。このオプションを有効にした場合は Anisotropy Constant プロパティの効果がなくなります。 |
Anisotropy Constant | マージされたアクタのマテリアルの Anisotropy プロパティに使用する定数値を設定します。Anisotropy Map オプションがオフの場合のみに有効になります。 |
Specular Map | 有効にすると、マージされたアクタのスペキュラ マップが生成されます。このオプションを有効にした場合は Specular Constant プロパティの効果がなくなります。 |
Specular Constant | マージされたアクタのマテリアルの Specular プロパティに使用する定数値を設定します。Specular Map オプションがオフの場合のみに有効になります。 |
Emissive Map | 有効にすると、マージされたアクタのエミッシブ マップが生成されます。 |
Opacity Map | 有効にすると、マージされたアクタのオパシティ マップが生成されます。このオプションを有効にした場合は Opacity Constant プロパティの効果がなくなります。 また、生成されたインスタンス内でオパシティを正しく機能させるために、[Blend Mode (ブレンド モード)] を [Translucent (透過処理)] に設定しておく必要があります。 |
Opacity Constant | マージされたアクタのマテリアルの Opacity プロパティに使用する定数値を設定します。Opacity Map オプションがオフの場合のみに有効になります。 |
Opacity Mask Map | 有効にすると、マージされたアクタのオパシティ マスク マップが生成されます。このオプションを有効にした場合は Opacity Mask Constant プロパティの効果がなくなります。 また、生成されたインスタンス内でオパシティを正しく機能させるために、[Blend Mode (ブレンド モード)] を [Masked (マスク)] に設定しておく必要があります。 |
Opacity Mask Constant | マージされたアクタのマテリアルの Opacity Mask プロパティに使用する定数値を設定します。Opacity Mask Map オプションがオフの場合のみに有効になります。 |
Ambient Occlusion Map | 有効にすると、マージされたアクタのアンビエント オクルージョン マップが生成されます。このオプションを有効にした場合は Ambient Occlusion Constant プロパティの効果がなくなります。 |
Ambient Occlusion Constant | マージされたアクタのマテリアルの Ambient Occlusion プロパティに使用する定数値を設定します。Ambient Occlusion Map オプションがオフの場合のみに有効になります。 |
Tangent Texture Size | マージされたアクタの接線テクスチャ向けに、水平 (X) および垂直 (Y) ピクセルのサイズ、または解像度を設定します。Texture Sizing Type が Use per property manually overridden texture sizes に設定されている場合に有効になります。 |
Anisotropy Texture Size | マージされたアクタの異方性テクスチャ向けに、水平 (X) および垂直 (Y) ピクセルのサイズ、または解像度を設定します。Texture Sizing Type が Use per property manually overridden texture sizes に設定されている場合に有効になります。 |
Blend Mode | マテリアルの色と背景色とのブレンド方法を設定します。次のオプションから選択できます。
|
Allow Two Sided Material | 有効にすると、両面マテリアルが生成されます。 |
Gutter Size | 上部ミップ レベル用にベイクアウトしたマテリアルの各サブチャートに追加するガター サイズをテクセル単位で設定します。 |
Create Merged Material | 有効にすると、UV の新しいセットとともに、マージするアクタのすべてのマテリアルから一つのフラット マテリアルが作成されます。デフォルトでは、このマテリアルはどのセクションにも適用されません。 |
Use Vertex Data for Baking Material | 有効にすると、頂点カラーなどの頂点データを使ってマテリアルの結果をベイクします。頂点カラーによって何らかの方法で制御されているマテリアルがある場合に役立ちます。 |
Use Texture Binning | 最終的なアトラス テクスチャのパッキング時に、重要度に応じてさまざまな出力テクスチャ サイズを計算します。 |
Reuse Mesh Lightmap UVs | 有効にすると、マテリアルのベイク時にソース スタティック メッシュのライトマップ UV を再使用しようと試みます。無効の場合は、新しいライトマップ UV セットが生成されます。 |
Merge Equivalent Materials | 有効にすると、同等と見なされるマテリアルのマージを試みます。 このオプションを有効にすると、ワールド位置またはアクタ位置によって出力カラーが定義される場合に、マージしたスタティック メッシュでアーティファクトが発生する可能性があります。 |
Landscape Culling (ランドスケープ カリング)
Landscape Culling (ランドスケープ カリング) オプションを有効にすると、Unreal Engine ではアクタのマージ時に既存のランドスケープ ジオメトリを使って、完全にオクルードされた三角ポリゴンをカリングします。
たとえば、最も低い位置にある三角ポリゴンがランドスケープのサーフェスよりも下になるツリー メッシュがある場合、オクルードされたそれらの三角ポリゴンはマージ後に削除されます。
Simplify (単純化)
Simplify (単純化) マージ方法を使用する場合は、次のオプションを設定できます。
Proxy Settings (プロキシ設定)
オプション | 説明 |
---|---|
Screen Size | マージされたスタティック メッシュの画面サイズ (ピクセル単位) です。 |
Calculate Correct LODModel | 有効にすると、ソース メッシュと遷移サイズに基づいて正しい LOD モデルが計算されます。 |
Override Spatial Sampling Distance | プロキシ LOD のマージのために複数のスタティック メッシュを変換する際に、空間サンプリング距離をオーバーライドします。 サンプリングが多い大規模なジオメトリでは、メモリ コストが非常に高くなる可能性があります。 |
Material Settings | このドキュメントの「Merge (マージ)」セクションで説明されているものと同じマテリアル設定を設定できます。 |
Merge Distance | メッシュがマージされる距離を設定します。たとえば、遠距離にあるジオメトリのドアや窓などの隙間を埋めることができます。 |
Unresolved Geometry Color | ソース ジオメトリと関連付けることができない LOD ジオメトリに割り当てる色を設定します。たとえば、マージ距離 (Merge Distance) よりも遠くにあり、隙間が埋められているドアや窓などです。赤色、緑色、青色 (RGB) の各値のほか、透過性を制御するアルファ (A) 値を設定できます。 |
Transfer Distance Override | 簡略化されたジオメトリのテクスチャ値を検出するときに Unreal Engine が使用する検索距離をオーバーライドします。[Merge Distance] オプションを 0 より大きい値に手動で設定した場合に役立ちます。この場合、凹状の隅に新しいジオメトリが生成されます。 |
Hard Edge Angle | マージしたスタティック メッシュのフェース間のハード エッジの角度を設定します。 このオプションでは頂点数が増えるため、追加の UV シームが発生する可能性があります。法線マップを使用していない場合のみに推奨されます。 |
Normal Calculation Method | 単純化したジオメトリの法線計算の制御に使用する方法を選択します。次のオプションから選択できます。
法線計算の詳細については、「法線の計算方法」ページを参照してください。 |
Light Map Resolution | ライトマップの解像度を設定します。 |
Compute Light Map Resolution | 有効にすると、マージに含まれる各メッシュのサイズの合計値としてライトマップ解像度が計算されます。 |
Enable Volume Culling | 有効にすると、ボリュームのカリングでジオメトリを除外できます。 |
Allow Adjacency | 有効にすると、隣接バッファで、マージされたスタティック メッシュでのテッセレーションが許可されます。 |
Allow Distance Field | 有効にすると、メッシュ向けに距離フィールドが計算されます。メッシュが離れた場所のみにレンダリングされる場合は、このオプションを無効にしてメモリを節約できます。 |
Reuse Mesh Lightmap UVs | 有効にすると、マテリアルのベイク時にソース スタティック メッシュのライトマップ UV を再使用しようと試みます。無効の場合は、新しいライトマップ UV セットが生成されます。 |
Group Identical Meshes for Baking | 有効にすると、同一のメッシュまたはメッシュ インスタンスが一度だけベイクされます。この結果、ベイクされたテクスチャの品質が向上し、ベイク時間が短縮されます。 これにより、特にワールド位置またはインスタンスごとのデータを使用するマテリアルで、ビジュアル面でソース メッシュとの差異が生じる場合があります。 |
Create Collision | 有効にすると、マージしたスタティック メッシュのコリジョンが生成されます。 |
Allow Vertex Colors | 有効にすると、マージされたスタティック メッシュに頂点カラーが保存されます。 |
Generate Lightmap UVs | 既存の UV アイランドを使って、マージされたスタティック メッシュ アクタの新しいライトマップ UV レイアウトを作成します。この新しいレイアウトは、ターゲット ライトマップ UV チャンネルに配置されます。 |
Generate Nanite Enabled Mesh | 有効にすると、Nanite 対応のメッシュが生成されます。 |
Batch (バッチ)
Batch マージ方法を使用する場合は、次のオプションを設定できます。
オプション | 説明 |
---|---|
Actor Class to Use | インスタンス化されたスタティック メッシュに使用するクラスを選択します。 |
Instance Replacement Threshold | スタティック メッシュのインスタンス化バージョンに置き換える前の、必要なスタティック メッシュ インスタンスの最小数を設定します。 |
Skip Meshes with Vertex Colors | 有効にすると、頂点カラーを使用するスタティック メッシュはインスタンス化されません。インスタンス化されたスタティック メッシュではインスタンスごとの頂点カラーをサポートしないため、これによってデータの損失を回避できます。 |
Use HLOD Volumes | 有効にすると、インスタンス化されたスタティック メッシュと HLOD ボリュームとの交差に基づいて、インスタンス化されたスタティック メッシュが分割されます。 |
Select the type of Instanced Component | インスタンス化されたスタティック メッシュに使用するインスタンス化されたコンポーネントのタイプを選択します。 |
Approximate (近似)
Approximate マージ方法を使用する場合は、次のオプションを設定できます。
Mesh Generation Settings (メッシュ生成設定)
形状の設定 | 説明 |
---|---|
Output Type | メッシュ近似プロセスからの出力のタイプです。
|
Approximation Accuracy | ボクセル解像度などを定義する近似の精度をメートル単位で設定します。 |
Attempt Auto Thickening | 有効にすると、薄いパートまたはフラット シートを自動的に厚くしようと試みます。 |
Target Min Thickness Multiplier | 自動で厚くするために使用する近似精度の乗数です。 |
Ignore Tiny Parts | 有効にすると、小さなパーツはメッシュのマージから除外されるため、パフォーマンスが向上します。 |
Tiny Part Size Multiplier | 最大バウンディング ボックスの寸法を使用して、小さなパーツのしきい値の定義に使用する近似精度の乗数です。 |
Base Capping | オープン メッシュの下部を閉じます (オプション)。以下のオプションがあります。
これらのオプションは、他の入力オブジェクトが閉じたメッシュであるかどうか、および「ワインディング」しきい値に応じて、結果のメッシュに大きな違いを与える可能性があります。たとえば、キャップのない大規模な山のスキャンでは、ソリッドではなくポリゴンを使用する必要がありますが、キットバッシングによるメッシュ パーツが多い場合、オープンメッシュが重大な問題を引き起こす可能性があるため、ソリッドを使用する方が信頼性が高い場合があります。 |
Fill Gaps | 有効にすると、オブジェクト間の小さなギャップを埋めるためにトポロジ拡大/縮小が使用されます。 |
Gap Filling Distance | ギャップを埋めるために拡大/縮小する距離をメートル単位で設定します。 |
Clamp Voxel Dimension | メインの方向に沿った最大許容ボクセル数です。これが Approximation Accuracy の制限値となります。 |
Winding Threshold | ワインディングのしきい値では、オープン メッシュ境界での穴埋めを制御します。値を小さく設定すると、塗りつぶし (フィル) がより多く、またはより丸くなります。 |
Output Mesh Filtering and Simplification Settings (出力メッシュ フィルタリングと単純化の設定)
オプション | 説明 |
---|---|
Occlusion Method | 適用する非表示ジオメトリ削除のタイプです。
|
Occlude from Bottom | 有効にすると、下向きの「下部」ジオメトリをオクルードされたものとして扱うよう OcclusionMethod の計算が設定されます。 |
Simplify Method | メッシュ単純化の基準です。
|
Geometric Deviation | Simplify Method が Geometric Tolerance に設定されている場合に使用する許容幾何偏差をメートル単位で設定します。 |
Target Tri Count | Simplify Method が Fixed Triangle Count に設定されている場合に使用する、メッシュ単純化のためのターゲット三角ポリゴン数です。 |
Triangles Per M | Simplify Method が Triangles Per Area に設定されている場合に使用する、平方メートルあたりの三角ポリゴンの近似値です。 |
Ground Clipping | 希望する場合、最終メッシュをどのように地面にクリッピングするかを設定します。オプションは以下の通りです。
これらすべてのオプションの場合、クリップ平面の高さ (Z) は Ground Clipping ZHeight オプションで提供されます。 |
Ground Clipping ZHeight | Ground Clipping が有効な場合の地面クリッピング平面の Z ハイトです。 |
Mesh Normals and Tangents Settings (メッシュ法線および接線の設定)
法線設定 | 説明 |
---|---|
Estimate Hard Normals | 有効にすると、ハード法線の推定に法線角度が使用されます。 |
Hard Normal Angle | ハード法線を検出するための法線角度です。 |
Mesh UV Generation Settings (メッシュ UV 生成設定)
UV 設定 | 説明 |
---|---|
UV Generation Method | |
Initial Patch Count | アイランド マージを計算する前にメッシュが分割される先の初期パッチの数です。PatchBuilder UV 生成メソッドにのみ関連します。 |
Curvature Alignment | メッシュの折り目に対する初期パッチのアライメントを制御します。PatchBuilder UV 生成メソッドにのみ関連します。 |
Merging Threshold | アイランド マージのための歪み/ストレッチしきい値です。値を大きく設定すると、許容される UV ストレッチが大きくなります。PatchBuilder UV 生成メソッドにのみ関連します。 |
Max Angle Deviation | UV アイランドの面法線の平均にこの値を超える差異がある場合、UV アイランドはマージされません。PatchBuilder UV 生成メソッドにのみ関連します。 |
Output Static Mesh Settings (出力スタティック メッシュ設定)
メッシュ設定 | 説明 |
---|---|
Generate Nanite Enabled Mesh | Nanite 対応のメッシュを生成するかどうかを設定します。 |
Support Ray Tracing | メッシュでレイ トレーシングをサポートするかどうかを設定します。生成したメッシュが離れた場所のみにレンダリングされる場合は、これを無効にするとメモリを節約できます。 |
Allow Distance Field | メッシュに対して距離フィールドを計算できるようにするかどうかを設定します。生成したメッシュが離れた場所のみにレンダリングされる場合は、これを無効にするとメモリを節約できます。 |
Nanite Proxy Triangle Percent | Nanite メッシュから粗いプロキシ メッシュを生成する際に削減する三角ポリゴンの割合です。 |
Material Baking Settings (マテリアル ベイク設定)
マテリアル設定 | 説明 |
---|---|
Multi Sampling AA | このプロパティの値が 1 より大きい場合、マルチサンプルは各方向にこの値でベイクされたテクスチャを出力します (例:4 == 16x スーパーサンプリング)。 |
Render Capture Resolution | このプロパティの値が 0 の場合は [Material Settings (マテリアル設定)] の解像度を使用し、その他の場合はレンダリング キャプチャ解像度をオーバーライドします。 |
Material Settings | このドキュメントの「Merge (マージ)」セクションで説明されているものと同じマテリアル設定を設定できます。 |
Capture Field Of View | レンダリング キャプチャを実行する際に使用する視野角です。 |
Near Plane Dist | レンダリング キャプチャを実行する際に使用する近接平面距離です。 |
Debug Output Settings (デバッグ出力設定)
デバッグ設定 | 説明 |
---|---|
Print Debug Messages (デバッグ メッセージのプリント) | 有効にすると、デバッグ メッセージが出力されます。 |
Emit Full Debug Mesh (フル デバッグ メッシュを発行) | 有効にすると、メッシュ生成に使用するフル メッシュ三角ポリゴン セット (フラット、非インスタンス化) が書き込まれます。 このアセットは非常に大きくなる場合があります。 |
Replace Source Actors (ソース アクタを置換)
Replace Source Actors オプションが有効になっている場合、ビューポートで選択されたアクタは削除され、新しくマージされたアクタに置き換えられます。これにより、コンテンツブラウザまたはプロジェクト フォルダからアセットが削除されることはありません。
このオプションは、このページで説明されているすべてのマージメソッドに共通です。