妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

パッケージの容量を減らす

「昨日アップロードする時に容量の減らし方について調べたんだけど」

妹「ほうほう」

unrealengine.hatenablog.com

「まずだいたいのことはここに書いてある通りにやって、その他細かいことを色々試してみた。まずプラグインは消しちゃいけないのが3つある」

  • 2D の Paper2D
  • InputDevices の LeapMotionControllerPlugin
  • Misc の PluginBrowser

「この3つは消さない方がいい。上の2つは、使ってなくても有効にしとかないと、起動時に警告メッセージが出る。そのまま起動はするし、仕様なのかどうかもよくわからないけど、4.9.2の時点ではそうなる」

妹「PluginBrowserはなんで消しちゃ駄目なの?」

「PluginBrowserを消してもパッケージ後の動作に問題はないけど、エディタ上でプラグインのメニュー項目自体がなくなるから、やっぱり有効にしたいプラグインがあるとかいうた時に大混乱する。手動で復活させる方法はあるから、方法を知っていれば必要な時だけ戻してもいいんだけど」

f:id:una_unagi:20151010215706p:plain

「無効にしてプラグインの設定メニューがなくなった時は、uprojectファイルをメモ帳かなんかで開くて、PluginBrowserのEnabledをfalseって書いてあるはずだから、そこをtrueに書き換えればいい。他のプラグインに関してもここから変更出来るけど、書き間違いをするとやっかりだから設定画面からやった方がいい」

妹「使ってるプラグインは消しちゃ駄目なんだよね?」

「上の3つはどんな場合でも消さない方がいいものだから、それ以外でも使ってるつもりがある物のは消しちゃ駄目だよ。使ってるのか使ってないのかわかりにくいのもあるけど、パッケージ化した後に実行して、エラーが出たり表示がおかしければ足りてない」

妹「でも今回Paper2Dは使ってないよね?」

「使ってないんだけど、なんか足りてないって出るんだよ。ゲーム開始するたびに出るのはうっとおしいから、とりあえず有効にしてある。あとはPluginを無効にしてもEngine/ThirdPartyフォルダに関連ファイルが残ってる。これも要らないのはフォルダごと消していい」

f:id:una_unagi:20151010220413p:plain

ミラールートの場合だと、OggPhysXVorbisの3つを残せば正常に動いた。OggVorbisは音関係で、PhysXは物理関係のファイル」

妹「物理は使ってたかな? よくおぼえてないけど」

「使ってるのかもしれないし、使ってなくても基本的なファイルだから必要なのかもしれない。とりあえずそれ消すと動かなくなるから残してある」

妹「動かなくなったんだ……ところでアセットの減らし方はなんかないの? 1個1個で減らしていくのすごく大変だったんだけど。使ってないように見えて実は関係あったりするから」

「アセットの移行機能を使うという方法を教えてもらった。空のプロジェクトにレベルを移行することでレベルで使ってるアセットも芋づるに移動出来る。Configファイルは別にコピーしないといけないし、他にコピー出来てないアセットがあれば手動でコピーするか、移行用の使わないレベルを作ってそこに配置してから移行するか、多少手間はかかるけど、容量は劇的に減る」

妹「おお、それはいいじゃないか。早速やってみよう!」

「いやそれが、自分のゲームではそれで上手くいったんだけど、なぜかミラールートでは失敗したというか……逆に容量増えちゃったんだよ」

妹「なんで増えちゃったの!?」

「細かいところは見てないけど、StarterContentsフォルダあったでしょ? あの中で削除済みのファイルが蘇ってるみたい」

妹「削除されたアセットファイルの怨念がお化けになって……」

「これに関してはもともと自分で消したファイルではないし、どういう条件でこれが起こるのかわからない。ただかえって容量が増える場合があるのは確かで、特にStarterContentsフォルダの中身を使ってる時は、移行後の容量をよく確認した方がいいと思う」

妹「でもファイルは消えてるんだよねえ? 消えたファイルがどこから出てきたの?」

「他のファイルじゃなくスターターコンテンツだというのが引っかかる。これは自分で作ったデータじゃなくて、UE4に元々入ってるデータだから、ファイルそのものは内部にある。移行する時にファイルが足りてないのに気付くと、親切心で足しといてくれるんじゃないかなあ……というのが今考えてる仮説」

妹「余計なことを。親切でやるなら、使ってるプラグインとアセットだけ、自動的にパッケージに入れてくれたらラクチンでいいのに」