エディトリアルデザイナーのアプリ制作日記

Unityで遊ぶ個人開発者のメモ書き

UnityのPost Processing Stackを使ったらApkサイズが11.3Mb増えた話

 地味~にシステム内部を更新したり、アイテムバランスの調整したりと目に見えた進歩のない昨今、無計画に処理を適当に実装しているため、日々動作が重くなるアプリにちょっとだけブルーになりつつ作業を進めていました。同時に動作だけでなく、色々ぶっ込みすぎてアプリの肥大化が止まらないなぁとも思っていたのですが、ふとApkファイルを見てみるとサイズが90Mバイトを超えている! この間まで70だか80Mバイトだった気がするので、おかしーなーとビルド後にログを確認してみると……

f:id:hamazakifactory:20171227212557j:plain

なんかでかいのが居座ってる!(NotoSansさんは了承済み)

 パッと見て、Post Processing Stackで使ってるシェーダーだよね、というのは分かるのですが、ここまで大きな理由がわからない。スマホでPost Processing Stackなんか使うなよーという話もなきにしもあらずですが、iPhone6sなら、アンチエリアスにブルームとブラーをONにしてもゲームは動くので、動く機種を持っている人は、オプションで切り替えられるようにはしておきたいものです。

 つーことで単にPost Processing Stackを外すのではなく、どうにかサイズを小さくできる方法がないものだろうかと、Google先生に聞いてみました。

github.com

 ありました。

 要は、Uber Shader内の#program~の部分で、使わないものをコメントアウトしちゃえば、サイズ小っちゃくなるよ! ということなので……

f:id:hamazakifactory:20171227213654j:plain

BLOOM以外の場所を、バッサリとコメントアウト

f:id:hamazakifactory:20171227213520j:plain

f:id:hamazakifactory:20171228114955j:plain

 これで無事、11MちょっとがApkから去りました。一応問題なく動いているようですが、本当に無事なのかどうかはこれから気を付けておかないといけませんけどね。ひとまず、危機は去った!

 あと、この解決方法以外にUnityのフォーラムで「V2にするとResorcesフォルダを使わなくなっているから解決しているよ!うんぬん」のようなことも見つけたのですが、V2ってなんだろう?(※Post Processing Stack V2について下に追記しましたー) アセットストアから再インストールしようとしても更新されない……ので、ひとまずシェーダーの中身を書き換える方法で対処しました。

 ということで、何か問題が起きて戻すときに困るので、忘備録として残しておきました(戻す方法を確実に忘れる)。リリースまであと少し、あと少しなんだよなぁ……がんばろ、うん。

>追記

 コガネブロクでおなじみの@baba_s_様からメッセージをいただき(ブログ見てます! いつもお世話になっています!)、Post Processing Stack V2を教えていただいたので、ちょっとだけ試してみました。まだβ段階のようですが、オブジェクト単位でエフェクト掛けられるようになっていたりだとかするみたい(Google翻訳で読んだ限り)で、すごい人が使うとすごいことができそうだなぁと、頭の悪い感想を抱きつつ、インストール。使い方がV1とちょっと変わってて戸惑いましたが、クイックスタートガイドに丁寧に書いてあったので、Google翻訳様の力を借りてお試し! んで、結果!

●Post Processing Stack V1(そのまま使用)

f:id:hamazakifactory:20171228120001j:plain

●Post Processing Stack V2(BLOOMのみ使用)

f:id:hamazakifactory:20171228120052j:plain

●Post Processing Stack V1(Uber Shderを書き換えて、BLOOMのみ使用)

f:id:hamazakifactory:20171228120114j:plain

……減ってはいるけど、V1に比べて中途半端というか、こんなもん? 使い方も正しいのかどうかも怪しいので、とりあえず、まだβなV2はいったん保留にして、V1に戻すことにしました。サイズだけでなく実行速度もちゃんと検証しなきゃいけないしね。

 てか、なんで私は本番プロジェクトでこんな検証やってんだろ……と、すべて終わってから気づく馬鹿。ま、動いてるからいいや。