【Unity】TextureをPVRTCフォーマットに変換されるように加工/圧縮する

Unity
08 /17 2017
Texureの容量がゲームの動作にかなり効いてくると聞いて、
色々調べたり試した結果を共有します。

Unityはゲームを起動するハードに合った形式に画像を変換します。
iOSの場合はPVRTCフォーマットに変換すると効率よく圧縮できるのですが、
PVRTCに変換できるためには条件があります。

・POT (Power Of Two: 2の累乗)サイズである必要がある (256x256, 512x512など)。
・正方形である必要がある。

Texureは大きいとそれだけ容量を消費するので、
実際に使うサイズに合わせた必要最小限のサイズで保存するのが理想です。

そこで、画像の大きさを一括で変換できるツールの出番です。

私が使ったのはXnConvertというツールです。(Macで開発してます)

一括変換する際、以下の手順で行うと効率的です。
①キャンバスリサイズでPNG画像を正方形にする
②任意のPOT画像にリサイズする

■具体的には
元々の画像サイズが962*1000だとします。

①正方形の画像にするため、キャンバスリサイズで1000*1000にします。
 比率を保つはチェックを外し、
 位置は中央、
 透過画像にしたいのでアルファ値は0にします。
スクリーンショット 2017-08-17 131128

②今回は少し大きめで使う為、リサイズで512*512。
スクリーンショット 2017-08-17 131149

③保存先を設定し、形式をPNGにして、変換を押せば実行されます。
スクリーンショット 2017-08-17 131825

■結果
元画像:865KB→リサイズ後:285KB→PVRTC 4bit:128KB
スクリーンショット 2017-08-17 132400


これなら何百もあるキャラクターやアイテムの画像でも数分で整形できます。
ちなみに512*512でUnityにインポートしても、ゲーム内では好きなサイズに調整して使えます。

PVRTCフォーマットにすれば効率が良いと紹介してる記事はありましたが、
画像の整形ツールと一緒に紹介している記事が見つからなかったため合わせて紹介しました。

■参考
http://qiita.com/mattak/items/0cc5a9f426f2d9a11662
スポンサーサイト

ゴロー

ポケモンサンムーンでローテーションバトルが無くなったため、Unityを使ってローテアプリを作ることにしました。