はじめに
UE4でゲーム制作をしていると、外部Assetをいくつか導入するだけでプロジェクトのサイズがGB単位で増加するということが起きたりします。
プロジェクトのサイズが大きくなることで、私の場合、マシンのストレージの容量がいっぱいになったり、構成管理に使用していた Bitbucket のリポジトリのサイズ制限に引っかかったり(2GBを超えてしまいpushできなくなる)と、困ったことが何度か発生しました。
本記事では、UE4のプロジェクトのサイズをできるだけ小さく保つための工夫を2つ紹介します。
1. テンプレートや Starter Content は使うものだけ移行してくる
テンプレートやStarter Contentは、かなりサイズが大きいです。特に、Starter Contentを一式入れたプロジェクトでオリジナルのコンテンツを作っていると、簡単に1GBは超えます。
なので、テンプレートやStarter Contentは使うものだけを外から移行してくるようにします。
おすすめは、任意のテンプレートとStarter Contentを入れたプロジェクトを用意しておき、そのプロジェクトからオリジナルのコンテンツのプロジェクトに移行するという方法です。
以下に詳細な手順を書きます。
i) 移行元のプロジェクトを作成する
まず、移行元のプロジェクトを作成します。
UE4を起動し、新規プロジェクトのタブを開き、下図のようにテンプレートを選択し、スターターコンテンツありに設定します。
例えば、UE4のVRのコンテンツを作る場合は、Virtual Realityのテンプレートを選択します。
ii) 作成したプロジェクトから使用する Asset を移行する
作成したプロジェクトのコンテンツブラウザから、オリジナルのコンテンツで使用したいAssetを探して右クリックします。下図のように「アセットアクション」→「移行」の順に選択します。
下図のような確認ウインドウが出てくるので、OKを押します。
選択したAssetにアタッチされたマテリアルなど、関連するAssetも同時に選択されます。基本的に全て選択された状態で移行を行います。
その後、(Windowsの場合)Explorerが開くので、移行先のプロジェクトの Content フォルダの直下を選択して移行を実行します。
2. 外部アセットの中の使っていないデータは削除する
マーケットプレイスからインポートしてくるAssetは、いろいろなデータが抱き合わせで含まれているものが多く、サイズが大きくなりがちです。
さらに、そのような抱き合わせの中の一部しか使用しない場合もあると思います。
その場合、使用しないものは削除するとサイズが削減できます。
注意しなければならないのは、いきなりテクスチャやマテリアルなどを削除しようとすると、意図せず削除対象でないメッシュやActorなどに影響が出てしまう場合があります。
まめにリファレンスビューアを確認するか、リファレンスビューアの上位にくるようなもの(レベルやActorなど)を優先的に削除することをおすすめします。
補足: パッケージ化の際にサイズを小さくしたい
この記事では特に扱いません。こちらをご参照ください。
http://api.unrealengine.com/JPN/Engine/Performance/ReducingPackageSize/