UDN
Search public documentation:

AssetConsolidationToolJP
English Translation
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

アセット統合ツール

ドキュメントの概要: Unreal 3 エディタのアセット統合ツールの基本的な使い方。

ドキュメントの変更ログ: Billy Bramer により作成。

概要

アセット統合ツール (asset consolidation tool) により、エディタ内で作業しながら複数のアセットを 1 つのアセットに簡単にまとめることができます。例えば、開発過程で何度もテクスチャの複製が行われた結果、まったく同じテクスチャのコピーが複数保存され、リソースが無駄になることがあります。このように使われているテクスチャのコピーを適切に選択し、アセット統合ツールを実行すると、それらを参照する代わりにすべて特定のテクスチャインスタンス 1 つを指すようになります。

アセット統合ツールの使用

アセット統合ツールの使い方は極めて簡単ですが、適切に使いこなすには注意が必要です。

アセット統合ツールの起動

ツールにアクセスするには、1 つにまとめたい複数のアセットを、統合先になるアセットと一緒に Context ブラウザ内部で選択するだけです。次に、右クリックして表示されるコンテキストメニューから、[Consolidate] (統合) を選択します。これには制約条件があり、通常は同じタイプのオブジェクトが選択されている場合しか統合できません。ただし、テクスチャとマテリアルには多少の例外が認められています。[Consolidate] オプションが表示されない場合は、同じタイプのアセットだけ選択されていることを確認してください。
Consolidate1.png
この例では、テクスチャが何度も複製されています。すべて選択して
右クリックすると、[Consolidate] オプションを選択することができます。

アセットの統合

選択したオブジェクトのコンテキスト メニューから [Consolidate] を選択するとイアログが現れ、選択したアセットを含むラジオボタンのリストが表示されます。このダイアログで、「統合先アセット (asset to consolidate to) 」になるアセットを選択してから、[Consolidate Assets] (アセットを統合) を押します。選択されていないアセットを指していた参照は、すべて選択されたアセットを指すように置き換えられ、その処理と同時に、選択されていないアセットが削除されます。
Consolidate2.png
[Consolidate] ダイアログで、アセットを選択すると
「統合先アセット」としてマークされます。

Consolidate3.png
すべてのコピーが、選択したアセットに統合されました。

アセット統合ツールの仕組み

実際の統合プロセスはいくつかのステップを経て実施されます。ツールは最初に、既にロードされてメモリ内にあるオブジェクト/パッケージ内を探して、統合する有効なオブジェクトを指している参照を見つけて、それらが「統合先オブジェクト」を参照するように置換を実行します。つまり、マップまたはパッケージが既に開いていて、それらが対象オブジェクトの 1 つを参照していれば、その参照は即座に更新されることになります。次に、統合するオブジェクトを直接削除します (この削除に失敗する可能性があります 制限および注意事項 を参照してください)。最後に、削除に成功したら、削除したオブジェクトに代えて オブジェクトリダイレクタ を残します。これにより、ロードされていないパッケージに、削除したオブジェクトの参照が含まれている場合、統合先のオブジェクトにリダイレクトされます。

ベストプラクティス

  • アセット統合ツールはその動作の性質から、扱い方を誤ると極めて危険な状況を招く可能性があります。ユーザーは常に、何を行うべきかを慎重に検討し、操作の結果が各自が置かれている状況に適うものかどうかを判断する必要があります。このツールは、明らかに不正な統合を防ぐための対策が講じられていますが、それでもパッケージを破壊しないように常に注意することが大切です。統合されたアセットを削除し、統合前にそれらを指していた参照を、選択されたオブジェクトに転送するので、これは「アクタを置換」タイプの操作とは異なる点に注意してください。

  • アセット統合ツールは、現在ロードされてメモリ内にあるパッケージ/マップ内を検索し、統合するオブジェクトを指している参照を強制的に置換しますが、統合の成功確率を最大にするために、ツールの使用時には、該当するオブジェクト参照の数を出来るだけ少なくすることをお勧めします。ほとんどの状況ではこのツールは支障なく機能しますが、不要なリスク/混乱をわざわざ手順に加える意味はありません。

制限および注意事項

アセット統合ツールは便利なツールですが、以下に示すような制限事項や注意事項もあります。
  • ユーザーが誤ってパッケージを破壊しないように、同じクラス/タイプを共有するアセットが選択された場合のみアセット統合ツールを呼び出せるようになっています。ただし、すべてのオブジェクトがマテリアルタイプまたはテクスチャタイプの場合はこの例外とします (これは、マテリアルとデカールマテリアルは厳密には同じタイプではありませんが、マテリアルをデカールマテリアルに統合できることを意味します)。この制約が設けられている理由は、マテリアルを静的メッシュに統合するなど、クラッシュまたはパッケージ破損の明らかな原因となる統合を未然に防ぐためです。異なるタイプ間の統合が可能な場合でも、複数のタイプが統合の対象に選択されていることを示す警告を明示的に出します。

  • アセット統合ツールは、ユーザーが選択したアセットを常に選択できるとは限りません。具体的には、ルートセットに属するオブジェクト (内部では RF_RootSet フラグでマークされています)、ルートパッケージ本体、または削除を試みたときに何かの理由でまだ参照を受けていたオブジェクトは、統合できません (その結果、必要な削除に失敗します)。さらに、ユーザーが選択した「統合先アセット」に、統合するアセットのいずれかへの参照が含まれている場合、その参照先アセットは統合されません。この統合が実施された場合、統合先アセットは自己参照を行うことになるので、問題を引き起こすのは明らかです。正常に統合できなかったアセットがあれば、統合操作の最後に警告としてユーザーに知らせます。

  • アセット統合ツールは、統合時にロードされていたパッケージ内の該当オブジェクト参照のみ置換し、ロードされていないパッケージにある残りの参照の修正は、オブジェクトリダイレクタ に依存します。そのため、特に必要としない限り、リダイレクタを無理に消したり、上書き、削除などを伴う操作を行わないように注意してください。注意を怠った場合、パッケージによっては正しく修理されません。前述のとおり、Fixup Redirects コマンドレットを利用することでこの問題を解消できます。