#画像とサウンドの管理について
主にUnityでスプライトとサウンドの設定などを行い、できるだけ品質を保ちつつアプリの容量を減らす方法についてまとめる
##画像
###スプライトアトラス
アトラス化は基本的に行ったほうが良い
しかし将来追加されるようなキャラクターなどはアトラス化しない
複数のスプライトをまとめるから画像の呼び込みが命令が少なくてすみ描画効率が良くなる
参考
https://docs.unity3d.com/ja/2018.2/Manual/SpriteAtlas.html
###圧縮テクスチャ
アトラス化しているかどうかに関わらず圧縮テクスチャを使用して軽量化した方が良い
デバイスにより2048を超えるサイズのテクスチャが扱えないことがあるので、2048サイズまででの2のべき乗で作る
####Android
AndroidならETC2が良い
Crunced ETC2はファイルを圧縮していることから読み込み時間が通常のテクスチャより長くなるので注意しなければいけないが、画像が少ないなら最善であると思う
####IOS
iosはどこまで古い機種にも対応するかで変わってくる
・PVRTC
全てに対応するならPVRTCであるが画質が悪いので推奨しない
またPVRTC正方形でかつ2のべき乗のサイズでないと圧縮できないから注意
POTで2のべき乗に規制できるが、Unity2018.2.0a7以降出ないとバグがあって使えない
・ETC2
Unity2017以降かつiphone5SGPU APIがMetal、OpenGL ES 3.0)以降にするならばETC2が使える
・ASTC
さらにiphone6以降対応にすればASTCが使えるのでグラフィック重視のアプリなどはこれを考慮すべきである
基本66か88ブロック
プラットフォーム別オーバーライドのためのテクスチャ圧縮形式
https://docs.unity3d.com/ja/2017.3/Manual/class-TextureImporterOverride.html
Power of 2のバグ
https://issuetracker.unity3d.com/issues/enabling-non-power-of-2-feature-in-sprite-import-settings-results-into-ui-image-not-being-rendered
##サウンド
###サウンドフォーマット
サウンドはまずフォーマットに気をつけないと音質が劣化する
例えばmp3は非可逆圧縮のフォーマットで元のデータより劣化するから非推奨
Unityでは内部的にoggが使われているからmp3の圧縮と重なってノイズなどが入る場合もある
よってwavなどの可逆圧縮ファイルを使用するのが良い
参考
https://techblog.kayac.com/unity_advent_calendar_2016_17
###音声波形
次に音声の波形データは44.1kHzや48.0kHzなどがあるが統一した方が良い
どちらがいいというわけでなく片方だけ聞こえないということもあるから注意する
音楽などは44.1kHzが主流でビデオ系では48.0kHzが主流になってるからと聞いたことがある
###その他Unityでの設定
BGMはステレオで良いがSEはジングルでない限りは容量削減のためモノラルが良い
メモリの展開方法について
SEの「LoadType」はすぐ再生する必要があるから「Decompress On Load」
BGMでは遅延してもいいから「Streaming」
参考
https://docs.unity3d.com/ja/2018.1/Manual/class-AudioClip.html