アセットの統合 とは、複数のアセットを 1 つのアセットに結合する操作です。たとえば、同一のマテリアルが多数あると、内容が同じでもプロジェクトのサイズが大きくなってしまいます。
Unreal Engine の Replace References (参照置換) ツールを使用すると、以下を実行できます。
-
重複するアセットを指すすべての参照を統合して、単一のアセットを指すようにする。
-
他のすべての重複するアセットを削除する。
参照置換ツールの不適切な使用により、誤ったアセットが削除されることがあります。削除されたアセットは復元できないため、このツールを使用する場合は常に注意してください。
アセット統合の仕組み
統合プロセスは次の 3 つの段階で行われます。
まず、統合される有効なオブジェクトに対して、参照置換ツールは、それらのオブジェクトのすべての参照を、ロード済みで、メモリに格納されているオブジェクトまたはアセット内にある「統合先のオブジェクト」への参照に置き換える処理を試行します。つまり、すでに開いているマップやアセットが、統合対象のオブジェクトの 1 つを参照している場合、ツールは直ちにそのアセットの更新を試行します。
次に、ツールは統合対象のオブジェクトを直接削除しようとします (これは失敗する可能性があります。詳細については、このページの「警告および制限」セクションを参照してください)。
最後に、削除が成功すると、ツールは削除されたオブジェクトの代わりに オブジェクト リダイレクタ を配置します。オブジェクト リダイレクタは、削除されたオブジェクトへの参照を含むアンロードされたアセットを、統合先のオブジェクトにリダイレクトします。
参照置換ツールを使用する前に
参照置換ツールは、一部の参照をクリアできなかったり、アセットを削除できない場合、有効なアセットの統合に失敗することがあります。このタイプの失敗はクリティカルであり、アセットの使用の一部が統合され、一部は統合されない「部分的な統合」になります。この場合、影響を受けるアセットは保存 しないでください。すべてのサブエディタを終了し、Unreal Engine を再起動してから、統合プロセスを再開してください。
参照置換ツールを実行する前に、ブループリント エディタやスタティックメッシュ エディタなど、統合しようとしているアセットを使用しているすべてのサブエディタを閉じる必要があります。
常に互換性のあるアセットを選択します。偶発的なデータの破損やデータ損失を防ぐため、参照置換ツールは、同じクラスまたはタイプを共有するアセットのみを統合することができます。ただし、マテリアルとテクスチャのみは例外です。つまり、たとえばマテリアルは、厳密には同じタイプでなくてもデカール マテリアルに統合できますが、スタティックメッシュには統合できません。
参照置換ツールは、アクタを置き換えるための代替手段として使用しないでください。
統合するアセットに、統合するアセットのいずれかへの参照が含まれている場合、参照されているアセットは統合されません。
参照置換ツールを使用する
この例では、複数のマテリアルを 1 つのマテリアルに統合する方法を示します。以下の画面ショットでは、同一のコンテンツを含む MI_Solid_Blue
マテリアルのインスタンスが 4 つあります。

これらのマテリアル アセットを統合し、Unreal Engine プロジェクトで問題がないことを確認するには、次の手順に従います。
-
コンテンツ ブラウザ で、統合するアセットを選択します。このステップを完了するために追加のサポートが必要な場合は、「アクタを選択する」を参照してください。
重複するアセットが異なるフォルダにある場合は、コンテンツ ブラウザの [Settings (設定)] メニューから [Show Folders (フォルダを表示)] オプションを無効にして、重複するアセットをすべて同時に表示および選択できるようにします。
-
選択したアセットを右クリックします。次に、コンテンツ メニューから、[Asset Actions (アセット アクション)] > [Replace References (参照を置換)] を選択します。
これにより、選択したすべてのアセットが含まれる [Replace References] ダイアログ ウィンドウが開きます。このウィンドウにさらにアセットを追加したい場合は、アセットを コンテンツ ブラウザ からアセット リストにドラッグします。
統合は通常、同じタイプの選択されたオブジェクトに限定されますが、テクスチャとマテリアルでは例外が認められます。コンテキスト メニューに [Replace References] オプションが表示されない場合、またはコンテンツ ブラウザからアセットをドラッグアンドドロップできない場合は、必ず同じタイプのアセットのみを選択してください。誤ってアセットを追加した場合は、そのアセットを選択してキーボードの Delete キーを押すことで、ダイアログから削除することができます。
-
統合先のアセットとなるアセットをリストから選択します。これを行うには、リストでアセットをクリックします。
-
(オプション) [Save dirtied assets (変更のあったアセットを保存)] オプションを有効にします。この操作により、統合の影響を受けるすべてのアセットが保存されます。
このオプションを有効にすると、[Consolidate Assets (アセットの統合)] をクリックした後に、これらのアセットを保存するかどうかを確認する追加の確認ダイアログが表示されます。結合に失敗した場合、アセットは保存されず、エディタによって警告が表示されます。
-
[Consolidate Assets] をクリックします。
2 つ以上のアセットがダイアログに表示され、1 つ以上のアセットが選択されるまで、[Consolidate Assets] ボタンはグレー表示されます (使用できない)。
-
表示される確認ダイアログで、統合後に削除されるアセットのリストを確認し、[Delete (削除)] をクリックします。
参照置換ツールの使用後
参照置換ツールでは、オブジェクト リダイレクタ を多用しています。参照置換ツールを実行した後は、Fixup Redirects コマンドレットを使用する必要があります。詳細については、「リダイレクタ」を参照してください。
アセットを統合した後、統合されたオブジェクトの 1 つを参照しているロードされていないアセットをメモリにロードする前に、統合されたアセットを保存する必要があります。